anoman
MasukDapatkan API Key
Concepts
Beranda Dokumentasi

Caching

Provider-side prompt cache memberi diskon 90% untuk prefix berulang. Semantic cache milik Anoman melayani request identik secara gratis. Bersama-sama keduanya memangkas pengeluaran pada beban kerja yang stabil.

Masalah berbeda, solusi berbeda

Lapisan A — Semantic cache

Sisi Anoman, didukung cache dalam-memori — Men-cache response lengkap untuk request yang identik. Saat hit: langsung dikembalikan, tanpa panggilan upstream, tanpa weighted token yang dipotong.

Terbaik untuk: bot FAQ, loop dev/test, query benchmark berulang.

Lapisan B — Provider prompt cache

Sisi upstream, transparan — Men-cache prefix system prompt besar di sisi server pada Anthropic / OpenAI / Google. Saat hit: tetap memanggil upstream tetapi hanya menagih 10% pada token yang di-cache.

Terbaik untuk: agent dengan system prompt ribuan token.

Semantic cache — cara kerjanya

  • Key — hash(customer_id + model + messages). Entri dipartisi per pelanggan; tidak mungkin ada kebocoran antar-pelanggan.
  • TTL — default 5 menit di Pro / PAYG / Enterprise. Dapat dikonfigurasi per key (1-300s) di dashboard.
  • Apa yang dihitung sebagai "identik" — kecocokan persis pada seluruh array messages plus model. Perbedaan whitespace apa pun menjadikannya request yang berbeda.
  • Hanya opt-in — semantic cache mati secara default. Aktifkan per-request via header atau per-key di pengaturan dashboard.
  • Auto-bypass — request dengan stream: true atau temperature > 0.3 melewati cache (pemanggil sedang meminta variasi).
{
  "choices": [{
    "message": {"role": "assistant", "content": "The capital of Indonesia is Jakarta."}
  }],
  "_anoman": {
    "cache": { "hit": true, "type": "semantic", "age_seconds": 14 },
    "weighted_tokens": 0,        // ← no quota deduction
    "cost_usd": "0.000000"       // ← free
  }
}

Saat hit, response membawa field _anoman.cache.age_seconds asli sehingga Anda tahu seberapa lama konten ter-cache.

Provider prompt cache — diterapkan pada system prompt panjang

Saat request Anda memiliki system prompt > minimum provider, Anoman otomatis menyuntikkan penanda cache control agar upstream men-cache-nya di sisi server. Request berikutnya dengan prefix yang sama mendapat diskon cache.

ProviderPrompt minimumDiskonMasa cache
Anthropic2,048 tokens (~8K chars)Diskon 90% input ter-cache5 menit
OpenAIPanjang berapa pun (otomatis)Diskon 90% prefix ter-cache~5–10 menit
Google Gemini32,768 tokens (~130K chars)Diskon 97.5% input ter-cacheAPI CachedContent eksplisit
// You sent a 4000-token system prompt that matched a recent cached prefix.
// Provider charges 10% on the cached tokens; output is full price.
{
  "choices": [{
    "message": {"role": "assistant", "content": "..."}
  }],
  "usage": {
    "prompt_tokens": 4127,
    "completion_tokens": 380,
    "prompt_tokens_details": { "cached_tokens": 4000 }  // ← 4000 were cached
  },
  "_anoman": {
    "cache": { "hit": true, "type": "provider" },
    "weighted_tokens": 1600,   // ← discounted from ~14,300 without cache
    "cost_usd": "0.0048"
  }
}

Provider cache aktif otomatis — tanpa opt-in header. Diskon diterapkan ke tagihan Anda tanpa perubahan di sisi klien. Untuk memverifikasi bahwa ia aktif, periksa usage.prompt_tokens_details.cached_tokens pada response.

Header yang mengubah perilaku cache

HeaderNilaiEfek
x-anoman-cachesemantic / offPaksa semantic cache aktif atau nonaktif untuk request ini.
x-anoman-no-cache1 / trueLewati pengecekan + penulisan semantic cache (provider cache tetap berlaku).
x-anoman-no-provider-cache1 / trueLewati penyuntikan penanda provider cache (jarang; berguna untuk A/B testing biaya).
# Semantic cache is opt-in. Two ways to enable:
 
# 1. Per-request header
curl https://api.anoman.io/v1/chat/completions \
  -H "Authorization: Bearer anm-sk-..." \
  -H "x-anoman-cache: semantic" \
  -d '...'
 
# 2. Set as default on the API key (dashboard → Keys → Settings)
#    Then it applies to every request without the header.
# Always go fresh, even if a cache entry would match.
curl https://api.anoman.io/v1/chat/completions \
  -H "Authorization: Bearer anm-sk-..." \
  -H "x-anoman-no-cache: true" \
  -d '...'

Kapan masing-masing aktif

Beban kerjaSemanticProviderAlasan
Chatbot FAQ✓—Pertanyaan sama berulang. Cache jawaban lengkap.
Coding agentic—✓Multi-turn dengan system prompt besar. Cache prefix.
RAG atas dokumen—✓Chunk hasil retrieval sama di seluruh turn. Provider cache.
Eval / benchmark✓—Menjalankan ulang prompt yang sama berulang kali.
Loop dev/test✓—Iterasi pada prompt. Jangan bayar untuk pengulangan.
Penulisan kreatifTidak—Pengguna ingin variasi — semantic cache akan melawan Anda.

Bagaimana caching muncul di penagihan

Caching langsung memengaruhi penagihan weighted-token. Hit cache semantik dikenai 0%; hit cache prompt provider dikenakan sekitar 10% dari bobot normal, pengurangan weighted-token ~90% (lihat Kuota & overage).

# Penghematan cache + batch akun Anda dalam satu periode
# (cacheSavings, batchSavings, dan totalSpend).
curl https://api.anoman.io/anoman/v1/usage/savings \
  -H "Authorization: Bearer anm-sk-..."

Header X-Anoman-Cache

Setiap completion membawa header respons X-Anoman-Cache (none, provider, atau semantic) plus blok _anoman.cache yang sesuai.

x-anoman-cache: semantic

# semantic  → dilayani dari cache Anoman, tanpa panggilan ke provider
# provider  → panggilan provider live dengan prefix input yang di-cache
# none      → tidak ada cache

Terkait: Batch routing (penghematan ~50% lain pada pekerjaan non-interaktif).

Lihat penghematan Anda

Halaman Usage di dashboard menampilkan Cache savings dan Batch savings sebagai kolom terpisah. Angka penghematan semantic-cache adalah "berapa yang akan Anda keluarkan tanpa cache hit". Penghematan provider-cache sudah termasuk dalam cost_usd per-request.

Inspeksi cache hit secara real-time.

Live Feed menandai setiap cache hit dengan pill CACHED.