Azure AI サービスを使用する Python アプリを開発する

この記事では、Azure OpenAI Service やその他の Azure AI サービスを使用するアプリケーションを開発する方法を学習するためのドキュメント、サンプル、その他のリソースを提供します。

Azure AI リファレンス テンプレート

Azure AI リファレンス テンプレートを使用すると、適切に維持でき、デプロイが簡単な参照の実装が提供されます。 これにより、インテリジェント アプリケーションの高品質な開始点が確保されます。 エンドツーエンドのソリューションにより、一般的で包括的な参照アプリケーションが提供されます。 構成要素は、特定のシナリオとタスクに焦点を当てた小規模なサンプルです。

エンドツーエンド ソリューション

リンク 説明
RAG を使用する Python エンタープライズ チャット サンプルの概要 Python 用のエンタープライズ チャット アプリのサンプルのデプロイと使用について説明する記事。 このサンプルは、Azure で実行される検索拡張生成 (RAG) パターンを示す完全なエンドツーエンド ソリューションです。Azure AI 検索を使用して取得し、Azure OpenAI の大規模言語モデルを使用して ChatGPT スタイルと Q & A エクスペリエンスを強化します。

構成要素

構成要素 説明
Python で Azure OpenAI を使用してチャット アプリを構築する ReadableStream 上の JSON 行を使用して ChatGPT から HTML/JS フロントエンドに応答をストリーミングするシンプルな Python Quart アプリです
Python で Azure OpenAI を使用して LangChain を構築する HTTP Get または Post 入力としてユーザーのプロンプトを受け取る方法を示し、ユーザーによる入力とテンプレートのチェーンを使用して完了を計算する Azure Functions サンプル。 これは、より高度なチェーンに使用できる開始点です。
Python で Azure Container Apps を使用して ChatGPT プラグインを構築する GitHub Codespaces、VS Code、Azure を使用して ChatGPT プラグインを作成するためのサンプルです。 このサンプルには、Azure Developer CLI を使用して Azure Container Apps にプラグインをデプロイするためのテンプレートが含まれています。
Azure Functions と共に Azure AI Language を使用してテキストを要約する テキスト ドキュメントを入力として受け取り、Azure AI Language を使用して要約した後、Azure Functions を使用して別のテキスト ドキュメントに出力します。
Azure AI Python テンプレート ギャラリー Azure AI テンプレートの完全な一覧については、ギャラリーを参照してください。 ギャラリー内のすべてのアプリ テンプレートは、azd up という 1 つのコマンドを使用してスピンアップおよびデプロイできます。
Azure Container Apps によるスマートな負荷分散 このサンプル ソリューションは、Microsoft のハイ パフォーマンス YARP C# リバース プロキシ フレームワークを使用して構築されています。 ただし、これを使用するために C# を理解する必要はありません。提供される Docker イメージをビルドするだけです。 これは、同じロジックによる API Management OpenAI スマート ロード バランサーの代替ソリューションです。
Azure API Management によるスマートな負荷分散 エンタープライズ サンプル ソリューションは、可用性と優先度に基づいて 2 つ以上の OpenAI または任意の API バックエンドを使用する効率的なロジックを維持しながら、単一のエンドポイントをアプリケーションにシームレスに公開する Azure API Management ポリシーを作成する方法を示します。
チャット アプリを評価する チャット アプリの回答を、一連の正しい回答または理想的な回答 (グラウンド トゥルースと呼ばれます) に対して評価します。 評価ツールは、チャット プロトコルに準拠する任意のチャット API と共に使用できます。
Locust を使用してチャット アプリをロード テストする Locust テストを使用して、チャット アプリが予想される負荷を処理できることを検証します。 Azure OpenAI TPM の制限により、チャット アプリが App Service でスケーリングされない場合は、ロード バランサーを追加して、読み込みを再度テストします。 スマート ロード バランサーには、Azure API ManagementAzure Container Apps が含まれます。

Azure OpenAI

エンドツーエンド ソリューション

リンク 説明
RAG を使用する Python エンタープライズ チャット サンプルの概要 Python 用のエンタープライズ チャット アプリのサンプルのデプロイと使用について説明する記事。 このサンプルは、Azure で実行される検索拡張生成 (RAG) パターンを示す完全なエンドツーエンド ソリューションです。Azure AI 検索を使用して取得し、Azure OpenAI の大規模言語モデルを使用して ChatGPT スタイルと Q & A エクスペリエンスを強化します。

構成要素

リンク 説明
Python で Azure OpenAI を使用してチャット アプリを構築する ReadableStream 上の JSON 行を使用して ChatGPT から HTML/JS フロントエンドに応答をストリーミングするシンプルな Python Quart アプリです
Python で Azure OpenAI を使用して LangChain を構築する HTTP Get または Post 入力としてユーザーのプロンプトを受け取り、ユーザーによる入力とテンプレートのチェーンを使用して完了を計算する方法をサンプルで示します。 これは、より高度なチェーンに使用できる開始点です。
Python で Azure Container Apps を使用して ChatGPT プラグインを構築する GitHub Codespaces、VS Code、Azure を使用して ChatGPT プラグインを作成するためのサンプルです。 このサンプルには、Azure Developer CLI を使用して Azure Container Apps にプラグインをデプロイするためのテンプレートが含まれています。
Azure Cache for Redis Enterprise を使用するベクトル類似性検索 RAG シナリオのバックエンド ベクトル ストアとして Azure Cache for Redis を使用するチュートリアル。
PostgreSQL を使用する独自データによる OpenAI ソリューション Azure Database for PostgreSQL フレキシブル サーバーと Azure Cosmos DB for PostgreSQL が pgvector の拡張機能をどのようにサポートするかについて、概要、シナリオなどと共に説明する記事。

SDK とその他のサンプル/ガイダンス

リンク 説明
OpenAI SDK for Python OpenAI Python ライブラリの GitHub ソース コード バージョンを利用すると、Python 言語で記述されたアプリケーションから OpenAI API にアクセスするのに便利です。
Azure OpenAI SDK のリリース .NET、Java、JavaScript、Go のリンクを含む、すべての Azure OpenAI SDK ライブラリ パッケージへのリンク。
OpenAI Python パッケージ OpenAI Python ライブラリの PyPi バージョン。
GPT-35-Turbo と GPT-4 の使用を開始する チャット入力候補のサンプルを作成する手順を説明する記事。
ストリーミング チャットの入力候補 Azure エンドポイントを使用してチャット入力候補の取得を機能させる例を含むノートブック。 この例では、チャット入力候補に重点を置きますが、API を使用して利用できるその他の操作についても説明します。
OpenAI から Azure OpenAI に切り替える OpenAI と Azure OpenAI Service の間で切り替えるために、コードに加える必要がある小さな変更に関するガイダンス記事。
埋め込み Azure エンドポイントを使用して実行できる埋め込みの使用方法を示すノートブック。 この例では、埋め込みに重点を置きますが、API を使用して利用できるその他の操作についても説明します。
モデルをデプロイし、テキストを生成する プログラムでチャットするための最小限のわかりやすい詳細手順を含む記事。
OpenAI および Microsoft Entry ID のロールベースのアクセス制御 Microsoft Entra ID を使用した認証の確認。
OpenAI とマネージド ID Azure ロールベースのアクセス制御 (Azure RBAC) が必要なより複雑なセキュリティ シナリオを含む記事。 このドキュメントでは、Microsoft Entra ID を使用して OpenAI リソースに対する認証を行う方法について説明します。
その他のサンプル テクノロジ導入の開始と迅速化に役立つ、有用な Azure OpenAI Service のリソースとコード サンプルのまとめ。
その他のガイダンス Azure OpenAI Service のドキュメントのハブ ページ。

その他の Azure AI サービス

エンドツーエンド ソリューション

リンク 説明
キャプションとコール センターの文字起こし コール センターのシナリオでのキャプションと文字起こしのサンプルを含むリポジトリ。
Document Intelligence を使用して、「Form Recognizer による新しい患者登録」ワークショップ (コード) を使用して紙ベースのプロセスを自動化する Document Intelligence を使用して紙ベースのプロセスを変換および自動化する方法を説明するワークショップ スタイルのプレゼンテーション。

構成要素

リンク 説明
音声を使用した OpenAI との会話 Azure AI 音声を使用して、Azure OpenAI Service と会話します。 Speech サービスによって認識されたテキストは、Azure OpenAI に送信されます。 音声サービスによって、Azure OpenAI からのテキスト応答が合成されます。
ドキュメント翻訳サンプル アプリを使用して、100 以上の異なる言語の間でドキュメントを翻訳します Windows、macOS、Linux 用の Azure ドキュメント翻訳サービスへのローカル インターフェイスとして機能するコマンド ライン ツールと Windows アプリケーションの両方を含むリポジトリ。

SDK とサンプル/ガイダンス

リンク 説明
音声 SDK サンプルを使用して音声をアプリに統合する Azure Cognitive Services Speech SDK のサンプル。 音声認識、翻訳、音声合成などのサンプルへのリンク。
Azure AI Document Intelligence SDK Azure AI Document Intelligence (旧称 Form Recognizer) は、機械学習を使用してドキュメントのテキストと構造化データを分析するクラウド サービスです。 Document Intelligence ソフトウェア開発キット (SDK) は、Document Intelligence のモデルと機能をアプリケーションに簡単に統合できる一連のライブラリとツールです。
Python で Form Recognizer を使用して、フォーム、領収書、請求書、カードから構造化データを抽出する Azure.AI.FormRecognizer クライアント ライブラリのサンプル。
Python で Text Analytics を使用して、ドキュメント内のテキストを抽出、分類、理解する Text Analytics 用のクライアント ライブラリ。 これは、テキストを理解し分析するための自然言語処理 (NLP) 機能を提供する Azure AI Language サービスの一部です。
Python でのドキュメント翻訳 ドキュメント翻訳を使用して、構造とテキストの書式を保持しながらソース ドキュメントをターゲット言語に翻訳するクイック スタート記事。
Python での質問応答 質問と共に送信するテキストの本文から回答 (および信頼度スコア) を取得する手順が記載されたクイック スタート記事。
Python での会話言語理解 クラウドベースの会話 AI サービスである会話言語理解 (CLU) 用のクライアント ライブラリ。これは、会話内の意図とエンティティを抽出でき、オーケストレーターのように機能して、Qna、Luis、Conversation App などのアプリから最適な応答を得るために会話を分析する最適な候補を選択できます。
画像の分析 Microsoft Azure AI Image Analysis SDK のサンプル コードとセットアップ ドキュメント
Azure AI Content Safety SDK for Python アプリケーションやサービス内のユーザーや AI によって生成された有害なコンテンツを検出します。 Content Safety には、有害な素材を検出できるテキストと画像の API が含まれています。