| page_type | 言語 | 製品 | urlfragment | 名前 | 説明 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
サンプル |
|
| Contoso-Creative Writer | クリエイティブライティングアシスタント-Penpty(Python実装)を使用してエージェントと協力する | Azure OpenaiエージェントをPythonで使用し、Bing Search APIとAzure AI検索を統合して、ユーザーのトピックと命令に基づいて記事を作成します。 |
端子ウィンドウを開きます。
Azureアカウントにサインインします。 Azure開発者CLIとAzure CLIの両方にログインする必要があります。
私。最初はAzure開発者CLIで
azd auth loginii。次に、Azure CLIでサインインします
az login --use-device-codeリソースを提供し、コードを展開します。
azd up場所を含む展開されたリソースの詳細を選択するように求められます。リマインダーとして、このプロジェクトの地域としてカナダイーストをお勧めします。展開が完了したら、端末をスクロールアップして、アプリが展開されているURLを確認できるはずです。 Ingress Updated. Access your app at https://env-name.codespacesname.eastus2.azurecontainerapps.io/ 。リンクに移動して、すぐにアプリを試してください!
上記の手順が完了したら、サンプルをテストできます。
関連するオプションは、VS Code Devコンテナです。これは、開発者コンテナ拡張機能を使用してローカルVSコードでプロジェクトを開きます。
Dockerデスクトップを開始します(まだインストールされていない場合はインストール)
プロジェクトを開きます:
開くVSコードウィンドウで、プロジェクトファイルが表示されたら(これには数分かかる場合があります)、端子ウィンドウを開きます。
必要なパッケージをインストールします:
cd src/api
pip install -r requirements.txtこれらの手順を完了したら、展開にジャンプします。
Windowsユーザー向けの注意:このサンプルを実行するためにコンテナを使用していない場合、私たちのフックは現在すべてシェルスクリプトです。更新中にこのサンプルを正しく提供するには、Git Bashを使用することをお勧めします。
新しいフォルダーを作成して端末に切り替えてから、このコマンドを実行してプロジェクトコードをダウンロードします。
azd init -t agent-openai-python-promptyこのコマンドはGITリポジトリを初期化するため、このリポジトリをクローンする必要はないことに注意してください。
必要なパッケージをインストールします:
cd src/api
pip install -r requirements.txtコードスペース、開発コンテナ、またはローカルでプロジェクトを開設したら、Azureに展開できます。
Azureアカウントにサインインします。 Azure開発者CLIとAzure CLIの両方にログインする必要があります。
私。最初はAzure開発者CLIで
azd auth loginii。次に、Azure CLIでサインインします
az login --use-device-codeそのコマンドに問題がある場合は、 azd auth login --use-device-codeを試してみることもできます。
これにより、プロジェクトで.azure/の下にフォルダーが作成され、この展開の構成を保存します。必要に応じて、複数のAZD環境がある場合があります。
リソースを提供し、コードを展開します。
azd upこのプロジェクトでは、すべてのAzure地域で利用できない場合があるgpt-35-turbo-0613 、 gpt-4-1106-Preview 、およびgpt-4o-2024-05-13を使用しています。最新の地域の可用性を確認し、それに応じて展開中に地域を選択します。このプロジェクトにはカナダイーストを使用することをお勧めします。
AZDを実行した後、 Github Setup中に次の質問をすることができます。
Do you want to configure a GitHub action to automatically deploy this repo to Azure when you push code changes ?
(Y/n) Yこれは必要なステップではなく、セットアップに時間がかかるため、 Nで応答する必要があります。
このサンプルリポジトリには、各エージェントのサブフォルダーを含むエージェントフォルダーが含まれています。各エージェントフォルダーには、エージェントの迅速なファイルが定義されているため、コードを実行するために使用したPythonファイルが含まれています。これらのファイルを探索すると、各エージェントが何をしているのかを理解するのに役立ちます。エージェントのフォルダーには、フロー全体を実行して記事を作成するために使用できるorchestrator.pyファイルも含まれています。 azd up実行すると、製品のカタログがAzure AI Search Vector Storeにアップロードされ、Index Name contoso-productsが作成されました。
サンプルをテストするには:
FastAPIサーバーを使用して、Example Webアプリをローカルに実行します。
最初にSRC/APIフォルダーに移動します
cd ./src/apiFastapi Webサーバーを実行します
fastapi dev main.py重要な注意:コードスペースで実行している場合は、VSコードターミナルのPORTSで、APIの8000および5173ポートの可視性をpublicする必要があります。 [ポート]タブは次のようになります。

ブラウザでサーバーリンクを開くと、URLが発見されていないエラーが表示されます。これは、FastapiでホームURLルートを作成していないためです。代わりに、エージェントワークフローを実行するget_article.pyファイルにコンテキストと命令を直接渡すために使用されるA /get_articleルートを作成しました。
(オプション)次に実行するWebインターフェイスを作成しましたが、ブラウザでこれを実行することでAPIが期待どおりに機能していることをテストできます。
http://127.0.0.1:8080/get_article?context=Write an article about camping in alaska&instructions=find specifics about what type of gear they would need and explain in detail
FastAPIサーバーが実行されたら、Webアプリを実行できるようになりました。これを行うには、新しい端末ウィンドウを開き、このコマンドを使用してWebフォルダーに移動します。
cd ./src/web最初にノードパッケージをインストールします:
npm install次に、ローカルDEV WebサーバーでWebアプリを実行します。
npm run devこれにより、アプリが起動し、例のコンテキストと手順を使用して開始できます。 「クリエイティブチーム」ページで、各エージェントをクリックして各エージェントの出力を調べることができます。アプリは次のようになります:
指示とコンテキストを変更して、選択した記事を作成します。
デバッグのために、オーケストレーターロジックを使用してPythonでテストすることをお勧めします
オーケストレーターロジックのみを使用してサンプルを実行するには、次のコマンドを使用します。
cd ./src/api
python -m orchestrator
迅速なトレースサーバーをアクティブにするには:
export LOCAL_TRACING=true
次に、オーケストレーターを開始します。
cd ./src/api
python -m orchestrator
記事が生成されたら、 .runsフォルダーが./src/apiに表示されるはずです。このフォルダーを選択し、その中の.tracyファイルをクリックします。これは、記事を生成するために呼び出されたすべてのPython関数を示しています。各セクションを探索し、見つけることができる役立つ情報を確認してください。
Contoso Creative Writerは、評価者を使用してアプリケーションの応答の品質を評価します。このプロジェクトの評価者が評価する4つのメトリックは、一貫性、流encyさ、関連性、および接地性です。カスタムevaluate.pyスクリプトは、すべての回避を実行するために書かれています。
cd ./src/api
python -m evaluate.evaluatesrc/api/evaluate/eval_inputs.jsonlファイルを開きます。このテンプレートは、レポに変更をプッシュするときにCI/CDを実行するように設定されています。 CI/CDが構成されている場合、評価はGitHubアクションで行われ、[プッシュ]に[アプリ]をメインに自動的に展開します。
リポジトリにGitHubアクションを使用してCI/CDを設定するには、次のコマンドを実行します。
azd pipeline configこのテンプレートは、すべてのAzure地域で利用できない場合があるgpt-35-turbo-0613 、 gpt-4-1106-Preview 、およびgpt-4o-2024-05-13を使用します。最新の地域の可用性を確認し、それに応じて展開中に地域を選択します
Azureの価格計算機でこのプロジェクトのアーキテクチャのコストを見積もることができます
注記
このテンプレートを実装するときは、テンプレートが管理されたアイデンティティかキーボールを使用するかを指定してください
このテンプレートには、開発者がこれらの資格情報を管理する必要性を排除するために組み込まれたアイデンティティまたはキーボールトが構築されています。アプリケーションは、マネージドアイデンティティを使用して、資格情報を管理することなくMicrosoft Entraトークンを取得できます。さらに、コードとしてのインフラストラクチャファイルをスキャンし、検出された問題を含むレポートを生成するGitHubアクションツールを追加しました。リポジトリでベストプラクティスを確保するために、テンプレートに基づいてソリューションを作成する人には、GitHubの秘密スキャン設定がリポジトリで有効になるようにすることをお勧めします。
このプロジェクトは、Microsoftのオープンソース行動規範を採用しています。
リソース:
詳細については、FAQのコードを参照するか、追加の質問やコメントについては[email protected]にお問い合わせください。
このプロジェクトは、責任あるAIガイドラインとベストプラクティスを以下に示します。このプロジェクトを使用する前に、それらを確認してください。