Chat retrieval-augmented dengan penghematan cache 90%.
Embed dokumen Anda sekali. Tempatkan system prompt yang stabil di posisi yang tepat agar provider cache aktif pada setiap query. Bayar 10% pada prefix yang ter-cache, harga penuh hanya pada pesan user yang kecil.
Kenapa pola ini — Cache prefix-nya, bukan pertanyaannya
Rantai RAG naif menaruh semuanya di pesan user — instruksi, chunk hasil retrieval, dan pertanyaan. System prompt-nya kosong. Ini berfungsi tetapi seluruh prompt tidak ter-cache pada setiap panggilan.
Rantai yang lebih cerdas menaruh instruksi yang stabil di system prompt (jarang berubah) dan retrieval + pertanyaan yang bervariasi di pesan user. Anoman otomatis menyisipkan penanda cache saat system prompt cukup panjang; panggilan berikutnya mengenai provider prompt cache dan membayar 10% pada prefix yang ter-cache.
Lihat /docs/concepts/caching untuk mekanika cache secara detail.
1. Indeks — Embed sekali, gaya batch
Embeddings itu murah (~$0.02 per juta token untuk text-embedding-3-small). Batch 100 chunk per panggilan untuk mengamortisasi overhead HTTP.
Indeks dokumen dengan embeddings
2. Query dengan system prompt yang bisa di-cache — Polanya
Query — embed + retrieve + chat
Bangun panggilan chat dengan system prompt yang bisa di-cache
Anti-pola cache: jika Anda menaruh chunk hasil retrieval ke system prompt, setiap query punya system prompt berbeda dan cache tidak pernah aktif. Jaga system tetap stabil; taruh konteks di pesan user.
3. Verifikasi cache aktif — Baca cached_tokens
Verifikasi cache aktif
Untuk model Anthropic, system prompt harus ≥ 2.048 token agar bisa di-cache. Untuk OpenAI otomatis untuk panjang berapa pun. Untuk Google 32.768+ token (via CachedContent API eksplisit). Lihat tabel per-provider di /docs/concepts/caching.
4. Stream untuk UX — Tumpukan streaming + cache
Set stream: true. Provider cache tetap berlaku — Anda menghemat 90% pada prefix dan men-stream bagian variabel yang kecil token demi token.
Stream retrieval + respons streaming
Tips produksi
- Masa hidup cache ~5 menit. Trafik idle tidak diuntungkan. Untuk aplikasi bertrafik jarang, kirim permintaan pemanasan sintetis setiap 4 menit agar cache tetap hangat.
- Versioning system prompt — perubahan apa pun membatalkan cache. Gunakan komentar versi berbasis content-hash di bagian atas system prompt agar Anda bisa mendeteksi pergeseran tak sengaja di kode Anda.
- Jangan cache PII pengguna di system prompt — guardrail PII Anoman berlaku, tetapi Anda sebaiknya tidak menyimpan data pelanggan sensitif di lapisan cache multi-tenant.
- Semantic cache di atasnya — untuk aplikasi gaya FAQ di mana pertanyaan yang sama berulang, tambahkan semantic cache Anoman (
x-anoman-cache: semantic) di atasnya. Permintaan identik lalu kembali tanpa panggilan upstream sama sekali. - Reranking setelah retrieval — top-k berdasarkan cosine itu kasar. Untuk kualitas lebih tinggi, lewatkan kandidat melalui model rerank murah (
qwen-2.5-7b) sebelum dimasukkan ke pesan user.
Periksa penghematan cache secara langsung.
Halaman Usage menampilkan cache_savings_usd sebagai kolom terpisah.