Konten yang di-cache dapat berupa jenis MIME apa pun yang didukung oleh model multimodal Gemini. Misalnya, Anda dapat meng-cache teks, audio, atau video dalam jumlah besar. Anda dapat menentukan lebih dari satu file untuk di-cache. Untuk informasi selengkapnya, lihat persyaratan media berikut:
Anda menentukan konten yang akan di-cache menggunakan blob, teks, atau jalur ke file yang disimpan di bucket Cloud Storage. Jika ukuran konten yang Anda cache lebih besar dari 10 MB, Anda harus menentukannya menggunakan URI file yang disimpan dalam bucket Cloud Storage.
Konten yang di-cache memiliki masa aktif yang terbatas. Waktu habis masa berlaku default cache
konteks adalah 60 menit setelah dibuat. Jika menginginkan waktu habis masa berlaku yang berbeda,
Anda dapat menentukan waktu habis masa berlaku yang berbeda menggunakan properti ttl
atau expire_time
saat membuat cache konteks. Anda juga dapat memperbarui waktu habis masa berlaku untuk cache konteks yang belum habis masa berlakunya. Untuk informasi tentang cara menentukan
ttl
dan expire_time
, lihat
Memperbarui waktu habis masa berlaku.
Setelah kedaluwarsa, cache konteks tidak akan tersedia lagi. Jika Anda ingin mereferensikan konten dalam cache konteks yang habis masa berlakunya pada permintaan perintah mendatang, Anda harus membuat ulang cache konteks.
Batas
Konten yang Anda cache harus mematuhi batas yang ditunjukkan pada tabel berikut:
Batas cache konteks | |
---|---|
Ukuran cache minimum |
4.096 token |
Ukuran maksimum konten yang dapat di-cache menggunakan blob atau teks |
10 MB |
Waktu minimum sebelum cache berakhir setelah dibuat |
1 menit |
Waktu maksimum sebelum cache berakhir setelah dibuat |
Tidak ada durasi cache maksimum |
Dukungan lokasi
Cache konteks tidak didukung di region Sydney, Australia
(australia-southeast1
).
Dukungan kunci enkripsi
Cache konteks tidak mendukung kunci enkripsi yang dikelola pelanggan (CMEK).
Dukungan Transparansi Akses
Cache konteks mendukung Transparansi Akses.
Membuat contoh cache konteks
Contoh berikut menunjukkan cara membuat cache konteks.
Gen AI SDK for Python
Instal
pip install --upgrade google-genai
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=us-central1 export GOOGLE_GENAI_USE_VERTEXAI=True
Gen AI SDK for Go
Pelajari cara menginstal atau mengupdate Gen AI SDK for Go.
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=us-central1 export GOOGLE_GENAI_USE_VERTEXAI=True
REST
Anda dapat menggunakan REST untuk membuat cache konteks menggunakan Vertex AI API guna mengirim permintaan POST ke endpoint model penayang. Contoh berikut menunjukkan cara membuat cache konteks menggunakan file yang disimpan di bucket Cloud Storage.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan dan tempat konten yang di-cache disimpan. Untuk mengetahui daftar region yang didukung, lihat Region yang tersedia.
- CACHE_DISPLAY_NAME: Nama tampilan yang bermakna untuk mendeskripsikan dan membantu Anda mengidentifikasi setiap cache konteks.
- MIME_TYPE: Jenis MIME konten yang akan di-cache.
- CONTENT_TO_CACHE_URI: URI Cloud Storage konten yang akan di-cache.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cachedContents
Isi JSON permintaan:
{ "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-pro-002", "displayName": "CACHE_DISPLAY_NAME", "contents": [{ "role": "user", "parts": [{ "fileData": { "mimeType": "MIME_TYPE", "fileUri": "CONTENT_TO_CACHE_URI" } }] }, { "role": "model", "parts": [{ "text": "This is sample text to demonstrate explicit caching." }] }] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cachedContents"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cachedContents" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Contoh perintah curl
LOCATION="us-central1"
MODEL_ID="gemini-1.5-pro-002"
PROJECT_ID="test-project"
MIME_TYPE="video/mp4"
CACHED_CONTENT_URI="gs://path-to-bucket/video-file-name.mp4"
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/cachedContents -d \
'{
"model":"projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}",
"contents": [
{
"role": "user",
"parts": [
{
"fileData": {
"mimeType": "${MIME_TYPE}",
"fileUri": "${CACHED_CONTENT_URI}"
}
}
]
}
]
}'
Langkah berikutnya
- Pelajari cara menggunakan cache konteks.
- Pelajari cara memperbarui waktu habis masa berlaku cache konteks.