Azure Functions 用の Azure OpenAI 拡張機能
重要
Azure Functions 用の Azure OpenAI 拡張機能は現在、プレビュー段階です。
Azure Functions 用の Azure OpenAI 拡張機能では、 Azure OpenAI Service の機能と動作を関数コードの実行に簡単に統合できる一連のトリガーとバインドが実装されています。
Azure Functions は、他の Azure サービスと簡単に接続するための一連のトリガーとバインドを提供するイベントドリブンのコンピューティング サービスです。
Azure OpenAI と Functions の統合により、以下を可能にする関数を構築できます。
アクション | トリガー/バインドの種類 |
---|---|
コンテンツの入力候補に標準のテキスト プロンプトを使用する | Azure OpenAI テキスト入力候補の入力バインド |
関数を呼び出すアシスタント要求に応答する | Azure OpenAI アシスタント トリガー |
アシスタントを作成する | Azure OpenAI アシスタント作成の出力バインド |
アシスタントにメッセージを送信する | Azure OpenAI アシスタント ポストの入力バインド |
アシスタントの履歴を取得する | Azure OpenAI アシスタント クエリの入力バインド |
テキスト埋め込みを読み取る | Azure OpenAI 埋め込みの入力バインド |
ベクトル データベースに書き込む | Azure OpenAI 埋め込みストアの入力バインド |
ベクトル データベースから読み取る | Azure OpenAI セマンティック検索の入力バインド |
拡張機能のインストール
インストールする拡張機能 NuGet パッケージは、関数アプリで使用している C# モード (インプロセスまたは分離ワーカー プロセス) によって異なります。
Microsoft.Azure.Functions.Worker.Extensions.OpenAI NuGet パッケージをインストールして、プロジェクトに Azure OpenAI 拡張機能を追加します。これは、.NET CLI を使用して行うことができます。
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.OpenAI --prerelease
ベクトル データベースを使用してコンテンツを保存する場合は、次の NuGet パッケージの少なくとも 1 つをインストールする必要もあります。
- Azure AI 検索: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.AzureAISearch
- Azure Cosmos DB for MongoDB: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Data Explorer: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.Kusto
バンドルのインストール
プレビュー拡張機能を追加するには、 host.json
ファイルに次のコードを追加または置き換えます。これは、OpenAI 拡張機能を含む 4.x バンドルのプレビュー バージョンを具体的に対象とします。
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.*, 5.0.0)"
}
}
アプリケーションの設定
Azure OpenAI バインド拡張機能を使用するには、OpenAI リソースへの接続に使用されるこれらの設定を 1 つ以上追加する必要があります。 ローカル開発時には、これらの設定を local.settings.json
ファイルに追加する必要もあります。
設定の名前 | 説明 |
---|---|
AZURE_OPENAI_ENDPOINT |
必須。 バインドによって使用される OpenAI リソースのエンドポイントを設定します。 |
AZURE_OPENAI_KEY |
Azure OpenAI リソースへのアクセスに使用するキーを設定します。 |
OPENAI_API_KEY |
Azure OpenAI 以外のリソースへのアクセスに使用するキーを設定します。 |
AZURE_CLIENT_ID |
Azure OpenAI リソースへのアクセスに使用するユーザー割り当てマネージド ID を設定します。 |
詳細については、アプリケーション設定の操作に関する記事を参照してください。