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
- Satu atau beberapa API Layanan Azure OpenAI harus ditambahkan ke instans API Management Anda. Untuk informasi selengkapnya, lihat Menambahkan Azure OpenAI Service API ke Azure API Management.
- Layanan Azure OpenAI harus memiliki penyebaran untuk hal berikut:
- CHAT Completion API (atau Completion API) - Penyebaran yang digunakan untuk panggilan konsumen API
- Embeddings API - Penyebaran yang digunakan untuk penembolokan semantik
- Instans API Management harus dikonfigurasi untuk menggunakan autentikasi identitas terkelola ke API Azure OpenAI. Untuk informasi selengkapnya, lihat Mengautentikasi dan mengotorisasi akses ke API Azure OpenAI menggunakan Azure API Management .
- Azure Cache for Redis Enterprise. Modul RediSearch harus diaktifkan pada cache Redis Enterprise.
Catatan
Anda hanya dapat mengaktifkan modul RediSearch saat membuat cache Redis Enterprise baru. Anda tidak dapat menambahkan modul ke cache yang ada. Pelajari lebih lanjut
- Cache eksternal dikonfigurasi dalam instans Azure API Management. Untuk langkah-langkahnya, lihat Menggunakan Azure Cache for Redis eksternal di Azure API Management.
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:
- Pada tab Desain API Anda, pilih + Tambahkan operasi.
- Masukkan Nama tampilan dan secara opsional Nama untuk operasi.
- Di bagian Frontend , di URL, pilih POST dan masukkan jalur
/
. - Pada tab Header , tambahkan header yang diperlukan dengan nama
Content-Type
dan nilaiapplication/json
. - 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: