次の方法で共有


大規模言語モデル API 要求への応答をキャッシュする

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

llm-semantic-cache-store ポリシーは、構成された外部キャッシュに対するチャット完了 API 要求への応答をキャッシュします。 応答のキャッシュを使用すると、バックエンド Azure OpenAI API の帯域幅および処理の要件が低減され、API コンシューマーによって認識される遅延が小さくなります。

ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 API Management ポリシーを設定または編集する方法について説明します。

サポートされているモデル

Azure AI モデル推論 API またはサードパーティの推論プロバイダーを介して提供される OpenAI と互換性のあるモデルを使用して、Azure API Management に追加された LLM API でポリシーを使用します。

ポリシー ステートメント

<llm-semantic-cache-store duration="seconds"/>

属性

属性 説明 必要 既定値
期間 キャッシュに格納されたエントリの有効期間 (秒単位)。 ポリシー式を使用できます。 はい 該当なし

使用法

使用上の注意

  • このポリシーは、ポリシー セクションで 1 回だけ使用できます。
  • キャッシュ参照が失敗した場合、キャッシュ関連の操作を使用する API 呼び出しでエラーは発生せず、キャッシュ操作が正常に完了します。
  • キャッシュ検索の直後に レート制限 ポリシー (または キーごとのレート制限 ポリシー) を構成することをお勧めします。 これにより、キャッシュが使用できない場合にバックエンド サービスが過負荷にならないようにすることができます。

対応する llm-semantic-cache-lookup ポリシーの例

次の例では、 llm-semantic-cache-lookup ポリシーと llm-semantic-cache-store ポリシーを使用して、類似性スコアのしきい値が 0.05 のセマンティックに類似したキャッシュされた応答を取得する方法を示します。 キャッシュされた値は、呼び出し元のサブスクリプション ID によってパーティション分割されます。

キャッシュ参照の後に追加される レート制限 ポリシーは、キャッシュが使用できない場合にバックエンド サービスでのオーバーロードを防ぐために呼び出しの数を制限するのに役立ちます。

<policies>
    <inbound>
        <base />
        <llm-semantic-cache-lookup
            score-threshold="0.05"
            embeddings-backend-id ="llm-backend"
            embeddings-backend-auth ="system-assigned" >
            <vary-by>@(context.Subscription.Id)</vary-by>
        </llm-semantic-cache-lookup>
        <rate-limit calls="10" renewal-period="60" />
    </inbound>
    <outbound>
        <llm-semantic-cache-store duration="60" />
        <base />
    </outbound>
</policies>

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