Bagikan melalui


Mengaktifkan penembolokan semantik untuk API Azure OpenAI di Azure API Management

BERLAKU UNTUK: Dasar v2 | Standar v2

Aktifkan penembolokan respons semantik terhadap permintaan Azure OpenAI API untuk mengurangi bandwidth dan persyaratan pemrosesan yang diberlakukan pada API backend dan latensi yang lebih rendah yang dirasakan oleh konsumen API. Dengan penembolokan semantik, Anda dapat mengembalikan respons cache untuk perintah yang identik dan juga untuk perintah yang mirip dalam arti, bahkan jika teks tidak sama. Untuk latar belakang, lihat Tutorial: Menggunakan Azure Cache for Redis sebagai cache semantik.

Catatan

Langkah-langkah konfigurasi dalam artikel ini mengaktifkan penembolokan semantik untuk API Azure OpenAI. Langkah-langkah ini dapat digeneralisasi untuk mengaktifkan penembolokan semantik untuk API model bahasa besar (LLM) yang sesuai yang tersedia melalui AZURE AI Model Inference API.

Prasyarat

Menguji penyebaran API Obrolan

Pertama, uji penyebaran Azure OpenAI untuk memastikan bahwa CHAT Completion API atau Chat API berfungsi seperti yang diharapkan. Untuk langkah-langkahnya, lihat Mengimpor API Azure OpenAI ke Azure API Management.

Misalnya, uji Azure OpenAI Chat API dengan mengirim permintaan POST ke titik akhir API dengan perintah di isi permintaan. Respons harus mencakup penyelesaian perintah. Contoh permintaan:

POST https://my-api-management.azure-api.net/my-api/openai/deployments/chat-deployment/chat/completions?api-version=2024-02-01

dengan isi permintaan:

{"messages":[{"role":"user","content":"Hello"}]}

Ketika permintaan berhasil, respons menyertakan penyelesaian untuk pesan obrolan.

Membuat backend untuk penyematan API

Konfigurasikan sumber daya backend untuk penyebaran API penyematan dengan pengaturan berikut:

  • Nama - Nama pilihan Anda, seperti embeddings-backend. Anda menggunakan nama ini untuk mereferensikan backend dalam kebijakan.
  • Jenis - Pilih URL Kustom.
  • URL Runtime - URL penyebaran API penyematan di Layanan Azure OpenAI, mirip dengan: https://my-aoai.openai.azure.com/openai/deployments/embeddings-deployment/embeddings

Uji backend

Untuk menguji backend, buat operasi API untuk AZURE OpenAI Service API Anda:

  1. Pada tab Desain API Anda, pilih + Tambahkan operasi.
  2. Masukkan Nama tampilan dan secara opsional Nama untuk operasi.
  3. Di bagian Frontend , di URL, pilih POST dan masukkan jalur /.
  4. Pada tab Header , tambahkan header yang diperlukan dengan nama Content-Type dan nilai application/json.
  5. Pilih Simpan

Konfigurasikan kebijakan berikut di bagian Pemrosesan masuk dari operasi API. Dalam kebijakan set-backend-service, ganti nama backend yang Anda buat.

<policies>
    <inbound>
        <set-backend-service backend-id="embeddings-backend" />
        <authentication-managed-identity resource="https://cognitiveservices.azure.com/" />
        [...]
    </inbound>
    [...]
</policies>

Pada tab Uji , uji operasi dengan menambahkan api-version parameter kueri dengan nilai seperti 2024-02-01. Berikan isi permintaan yang valid. Contohnya:

{"input":"Hello"}

Jika permintaan berhasil, respons menyertakan representasi vektor teks input:

{
    "object": "list",
    "data": [{
        "object": "embedding",
        "index": 0,
        "embedding": [
            -0.021829502,
            -0.007157768,
            -0.028619017,
            [...]
        ]
    }]
}

Mengonfigurasi kebijakan penembolokan semantik

Konfigurasikan kebijakan berikut untuk mengaktifkan penembolokan semantik untuk API Azure OpenAI di Azure API Management:

  • Di bagian Pemrosesan masuk untuk API, tambahkan kebijakan azure-openai-semantic-cache-lookup . embeddings-backend-id Dalam atribut , tentukan backend Embeddings API yang Anda buat.

    Catatan

    Saat mengaktifkan penembolokan semantik untuk API model bahasa besar lainnya, gunakan kebijakan llm-semantic-cache-lookup sebagai gantinya.

    Contoh:

    <azure-openai-semantic-cache-lookup
        score-threshold="0.8"
        embeddings-backend-id="embeddings-deployment"
        embeddings-backend-auth="system-assigned"
        ignore-system-messages="true"
        max-message-count="10">
        <vary-by>@(context.Subscription.Id)</vary-by>
    </azure-openai-semantic-cache-lookup>
    
    
  • Di bagian Pemrosesan keluar untuk API, tambahkan kebijakan azure-openai-semantic-cache-store .

    Catatan

    Saat mengaktifkan penembolokan semantik untuk API model bahasa besar lainnya, gunakan kebijakan llm-semantic-cache-store sebagai gantinya.

    Contoh:

    <azure-openai-semantic-cache-store duration="60" />
    

Konfirmasi penembolokan

Untuk mengonfirmasi bahwa penembolokan semantik berfungsi seperti yang diharapkan, lacak operasi Penyelesaian pengujian atau Penyelesaian Obrolan menggunakan konsol pengujian di portal. Konfirmasikan bahwa cache digunakan pada percobaan berikutnya dengan memeriksa jejak. Pelajari selengkapnya tentang melacak panggilan API di Azure API Management.

Misalnya, jika cache digunakan, bagian Output menyertakan entri yang mirip dengan yang ada di cuplikan layar berikut:

Cuplikan layar jejak permintaan di portal Azure.