Halaman ini berlaku untuk Apigee, tetapi tidak untuk Apigee Hybrid.
Lihat dokumentasi
Apigee Edge.
Ringkasan
Kebijakan token LLM Apigee sangat penting untuk pengendalian biaya, pengoptimalan performa, dan stabilitas platform, dengan memanfaatkan penggunaan token LLM dan metrik token perintah pengguna untuk menerapkan batas dan memberikan pemantauan real-time.
Dokumen ini menjelaskan cara memulai kebijakan token LLM berikut:
- Kebijakan PromptTokenLimit: Melindungi target dari penyalahgunaan token dengan membatasi token berdasarkan pesan perintah pengguna. Kebijakan PromptTokenLimit seperti penahan lonjakan untuk perintah AI Anda. Hal ini membantu Anda mengontrol tingkat penggunaan token dari perintah pengguna untuk mencegah penyalahgunaan dan memastikan layanan backend Anda tidak kewalahan.
- Kebijakan LLMTokenQuota: Mengontrol pengeluaran LLM dan menerapkan pengelolaan kuota terperinci berdasarkan produk API. Kebijakan LLMTokenQuota memungkinkan Anda menerapkan batas penggunaan token untuk LLM API selama jangka waktu tertentu (misalnya, per menit, jam, hari, atau bulan). Hal ini penting untuk mengelola biaya dan memastikan penggunaan layanan AI Anda yang adil.
Kebijakan PromptTokenLimit
Gunakan kebijakan PromptTokenLimit saat Anda ingin melindungi layanan backend dari lonjakan penggunaan token yang tiba-tiba dari perintah pengguna. Misalnya, Anda dapat membatasi jumlah token per menit ke jumlah yang wajar untuk mencegah satu pengguna membebani layanan Anda secara berlebihan.
Tambahkan kebijakan ini ke alur permintaan proxy API Anda.
Contoh kebijakan PromptTokenLimit berikut membatasi tingkat token hingga 1.000 token per menit:
<PromptTokenLimit continueOnError="false" enabled="true" name="PTL-limitTokens-1">
<DisplayName>Limit Prompt Tokens</DisplayName>
<!-- The rate at which to limit tokens. Here, 1,000 per minute -->
<Rate>1000pm</Rate>
<!-- Specifies where to get the user's prompt from the request -->
<UserPromptSource>{jsonPath('$.contents[-1].parts[-1].text',request.content,true)}</UserPromptSource>
</PromptTokenLimit>Dengan:
<Rate>: Kecepatan pembatasan token.<UserPromptSource>: Menentukan tempat untuk mendapatkan perintah pengguna dari permintaan.
Lihat halaman referensi kebijakan PromptTokenLimit untuk:
Konfigurasi kebijakan PromptTokenLimit di UI Apigee saat melakukan tugas berikut:
Kebijakan LLMTokenQuota
Gunakan kebijakan LLMTokenQuota jika Anda ingin menetapkan dan menerapkan kuota penggunaan token untuk berbagai produk API, developer, atau aplikasi. Misalnya, Anda dapat menawarkan kuota token yang berbeda untuk berbagai tingkat langganan.
Kebijakan ini dapat digunakan dengan dua cara utama:
-
Menghitung Token: Gunakan setelan
CountOnlyuntuk melacak penggunaan token tanpa menerapkan batas ketat. Hal ini berguna untuk pemantauan dan pelaporan. -
Menerapkan Kuota: Gunakan setelan
EnforceOnlyuntuk menolak panggilan API setelah kuota token terlampaui.
Tambahkan kebijakan EnforceOnly ke alur permintaan untuk memeriksa apakah
kuota telah terlampaui. Tambahkan kebijakan CountOnly ke
alur respons untuk menghitung token yang digunakan dalam respons LLM.
Contoh kebijakan LLMTokenQuota berikut menerapkan kuota 10.000 token per jam, dengan setelan yang bersumber secara dinamis dari produk API:
<LLMTokenQuota name="Quota-Enforce-Only" type="rollingwindow"> <EnforceOnly>true</EnforceOnly> <!-- The interval and time unit for the quota --> <Interval ref="verifyapikey.verify-api-key.apiproduct.developer.llmQuota.interval">1</Interval> <TimeUnit ref="verifyapikey.verify-api-key.apiproduct.developer.llmQuota.timeunit">hour</TimeUnit> <!-- The number of tokens allowed in the interval --> <Allow count="10000" countRef="verifyapikey.verify-api-key.apiproduct.developer.llmQuota.limit"/> <!-- Specifies where to get the token usage from the LLM's response --> <LLMTokenUsageSource>{jsonPath('$.usageMetadata.candidatesTokenCount',response.content,true)}</LLMTokenUsageSource> <!-- Specifies where to get the model name from the LLM's response --> <LLMModelSource>{jsonPath('$.model',response.content,true)}</LLMModelSource> </LLMTokenQuota>
Dengan:
<EnforceOnly>: Jika disetel ketrue, elemen ini digunakan untuk menolak panggilan API setelah kuota token terlampaui. Hal ini memungkinkan penyedia API menetapkan batas ketat pada jumlah token yang digunakan oleh aplikasi selama interval yang ditentukan.<Interval>: Elemen ini menentukan interval waktu yang digunakan untuk menghitung jumlah token dari respons LLM. Atribut ini digunakan bersama dengan<TimeUnit>dan<Allow>untuk menentukan kuota token.<TimeUnit>: Elemen ini menentukan satuan waktu untuk<Interval>. Nilai yang valid mencakupminute,hour,day, ataumonth.<Allow>: Elemen ini menentukan jumlah token yang diizinkan dalam<Interval>.<LLMTokenUsageSource>: Elemen ini memberikan sumber penggunaan token dari respons LLM. Harus berupa template pesan yang memberikan satu nilai penggunaan token.<LLMModelSource>: Elemen ini menyediakan sumber model dari respons atau permintaan LLM. Harus berupa template pesan yang memberikan satu nilai nama model.
Lihat halaman referensi LLMTokenQuota policy untuk:
Konfigurasi kebijakan LLMTokenQuota di UI Apigee seperti yang dijelaskan di bagian berikut:
Batasan
Kebijakan token LLM memiliki batasan berikut:
- Batasan kebijakan LLMTokenQuota
- Saat ini, kebijakan hanya mendukung token berbasis teks.
- Permintaan terakhir yang diizinkan dapat menggunakan lebih banyak token daripada kuota yang tersisa.
- Kebijakan ini memerlukan jalur JSON yang tepat untuk token LLM yang digunakan dalam payload respons dan tidak dapat mendeteksinya secara otomatis.
- Setiap peristiwa SSE saat ini memerlukan metadata.
- Batasan kebijakan PromptTokenLimit
- Saat ini, kebijakan hanya mendukung token berbasis teks.
- Kebijakan ini menggunakan library standar untuk menghitung token, yang mungkin berbeda dengan cara beberapa penyedia LLM menghitung token.
- Kebijakan ini memerlukan jalur JSON yang tepat untuk teks perintah; kebijakan ini tidak dapat menemukannya secara dinamis.