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 つをインストールする必要もあります。

バンドルのインストール

プレビュー拡張機能を追加するには、 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 を設定します。

詳細については、アプリケーション設定の操作に関する記事を参照してください。