Azure OpenAI API 要求のキャッシュされた応答を取得する
適用対象: すべての API Management レベル
azure-openai-semantic-cache-lookup
ポリシーを使い、以前の要求に対するプロンプトのベクトル近接性と指定した類似性スコアしきい値に基づいて、構成された外部キャッシュから Azure OpenAI Chat Completion API と Completion API の要求に対する応答のキャッシュ検索を実行します。 応答のキャッシュを使用すると、バックエンド Azure OpenAI API の帯域幅および処理の要件が低減され、API コンシューマーによって認識される遅延が小さくなります。
Note
- このポリシーには、対応する "Azure OpenAI API 要求に対する応答をキャッシュする" ポリシーが必要です。
- セマンティック キャッシュを有効にする前提条件と手順については、Azure API Management で Azure OpenAI API のセマンティック キャッシュを有効にする方法に関する記事を参照してください。
- 現在、このポリシーはプレビュー段階です。
Note
ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 API Management ポリシーを設定または編集する方法について説明します。
サポートされている Azure OpenAI Service モデル
このポリシーは、次の種類の Azure OpenAI Service から API Management に追加された API で使用されます。
[API の種類] | サポートされているモデル |
---|---|
チャット入力候補 | gpt-3.5 gpt-4 |
完了 | gpt-3.5-turbo-instruct |
埋め込み | text-embedding-3-large text-embedding-3-small text-embedding-ada-002 |
詳細については、「Azure OpenAI Service モデル」を参照してください。
ポリシー ステートメント
<azure-openai-semantic-cache-lookup
score-threshold="similarity score threshold"
embeddings-backend-id ="backend entity ID for embeddings API"
embeddings-backend-auth ="system-assigned"
ignore-system-messages="true | false"
max-message-count="count" >
<vary-by>"expression to partition caching"</vary-by>
</azure-openai-semantic-cache-lookup>
属性
属性 | 説明 | 必要 | Default |
---|---|---|---|
score-threshold | キャッシュされた応答をプロンプトに返すかどうかを決定するために使われる類似性スコアのしきい値。 値は 0.0 から 1.0 の間の 10 進数です。 詳細情報。 | はい | 該当なし |
embeddings-backend-id | OpenAI 埋め込み API 呼び出しのバックエンド ID。 | はい | 該当なし |
embeddings-backend-auth | Azure OpenAI 埋め込み API バックエンドに使われる認証。 | はい。 system-assigned に設定する必要があります。 |
該当なし |
ignore-system-messages | ブール値。 true に設定した場合は、キャッシュの類似性を評価する前に、GPT チャット入力候補プロンプトからシステム メッセージを削除します。 |
いいえ | false |
max-message-count | 指定した場合、キャッシュがスキップされた後の残りのダイアログ メッセージ数。 | いいえ | 該当なし |
要素
名前 | 説明 | 必須 |
---|---|---|
vary-by | 実行時に決定されるカスタム式。その値によってキャッシュはパーティション分割されます。 複数の vary-by 要素を追加すると、値が連結され、一意の組み合わせが作成されます。 |
いいえ |
使用法
- ポリシー セクション: inbound
- ポリシー スコープ: グローバル、製品、API、操作
- ゲートウェイ: v2
使用上の注意
- このポリシーは、ポリシー セクションで 1 回だけ使用できます。
例
対応する azure-openai-semantic-cache-store ポリシーの例
<policies>
<inbound>
<base />
<azure-openai-semantic-cache-lookup
score-threshold="0.05"
embeddings-backend-id ="azure-openai-backend"
embeddings-backend-auth ="system-assigned" >
<vary-by>@(context.Subscription.Id)</vary-by>
</azure-openai-semantic-cache-lookup>
</inbound>
<outbound>
<azure-openai-semantic-cache-store duration="60" />
<base />
</outbound>
</policies>
関連ポリシー
関連するコンテンツ
ポリシーに対する処理の詳細については、次のトピックを参照してください。
- チュートリアル:API を変換および保護する
- ポリシー ステートメントとその設定の一覧に関するポリシー リファレンス
- ポリシー式
- ポリシーの設定または編集
- ポリシー構成を再利用する
- ポリシー スニペットのリポジトリ
- Azure で Microsoft Copilot を使用してポリシーを作成する