次の方法で共有


Azure OpenAI API 要求のキャッシュされた応答を取得する

適用対象: すべての API Management レベル

azure-openai-semantic-cache-lookup ポリシーを使い、以前の要求に対するプロンプトのベクトル近接性と指定した類似性スコアしきい値に基づいて、構成された外部キャッシュから Azure OpenAI Chat Completion API と Completion API の要求に対する応答のキャッシュ検索を実行します。 応答のキャッシュを使用すると、バックエンド Azure OpenAI API の帯域幅および処理の要件が低減され、API コンシューマーによって認識される遅延が小さくなります。

Note

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 要素を追加すると、値が連結され、一意の組み合わせが作成されます。 いいえ

使用法

使用上の注意

  • このポリシーは、ポリシー セクションで 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>

ポリシーに対する処理の詳細については、次のトピックを参照してください。