Anda dapat menggunakan context caching untuk model Gemini yang telah disesuaikan guna meningkatkan performa dan mengurangi biaya untuk perintah yang menyertakan konteks dalam jumlah besar. Dengan menyimpan konteks yang sering digunakan dalam cache, Anda tidak perlu mengirim ulang data dalam jumlah besar dengan setiap permintaan ke model Gemini yang telah disesuaikan.
Operasi pengelolaan (Read, Update, Delete) context cache untuk model Gemini yang disesuaikan tetap konsisten dengan model dasar. Hanya pembuatan dan inferensi konten yang di-cache yang memerlukan penyesuaian tertentu, yang dijelaskan di bagian berikut.
Prasyarat
Menyesuaikan Model Gemini: Anda memerlukan model Gemini yang telah disesuaikan dan di-deploy berdasarkan model dasar yang didukung (lihat Ringkasan context caching). Untuk mengetahui detail cara menyesuaikan model Gemini, lihat Menyesuaikan model Gemini. Untuk mendapatkan endpoint model yang disesuaikan dan di-deploy, lihat Men-deploy model yang disesuaikan.
Pastikan Anda memiliki informasi berikut:
- ID dan versi model Gemini yang disesuaikan
- Nama resource endpoint untuk model yang disesuaikan dan di-deploy
Versi yang didukung
Model Gemini yang disesuaikan mendukung caching implisit untuk versi berikut:
- Gemini 3.1 Pro
- Gemini 3.1 Flash-Lite
- Gemini 3 Pro
- Gemini 3 Flash
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.5 Flash-Lite
Caching eksplisit didukung untuk versi berikut:
- Gemini 3.1 Pro
- Gemini 3.1 Flash-Lite
- Gemini 3 Pro
- Gemini 3 Flash
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.5 Flash-Lite
- Gemini 2.0 Flash (catatan: tidak didukung di
gemini-2.0-flash-live-preview-04-09) - Gemini 2.0 Flash-Lite
Membuat context cache untuk model yang disesuaikan
Prosedur untuk membuat context cache untuk model yang disesuaikan sebagian besar mengikuti langkah-langkah yang diuraikan dalam Membuat context cache. Lihat dokumentasi tertaut untuk mengetahui proses umumnya; panduan ini berfokus pada perbedaan pembuatan context cache untuk model Gemini yang disesuaikan.
Daripada menggunakan model dasar dalam bentuk projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL}, Anda harus menggunakan model yang disesuaikan dalam bentuk projects/{PROJECT}/locations/{LOCATION}/models/{MODEL}@{VERSION}.
Contoh berikut menunjukkan cara membuat context cache dengan model Gemini yang disesuaikan.
REST
Anda dapat menggunakan REST untuk membuat context cache menggunakan Agent Platform API untuk mengirim permintaan POST ke endpoint model penayang. Contoh berikut menunjukkan cara membuat context cache menggunakan file yang disimpan di bucket Cloud Storage.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: [Project ID](/resource-manager/docs/creating-managing-projects#identifiers) Anda. .
- LOCATION: Region untuk memproses permintaan dan tempat konten yang di-cache disimpan. Untuk mengetahui daftar region yang didukung, lihat Region yang tersedia.
- MODEL_ID: ID model Gemini yang disesuaikan.
- MODEL_VERSION: Versi model Gemini yang disesuaikan.
- CACHE_DISPLAY_NAME: Nama tampilan yang bermakna untuk mendeskripsikan dan membantu Anda mengidentifikasi setiap context cache.
- MIME_TYPE: Jenis MIME konten yang akan di-cache.
- CONTENT_TO_CACHE_URI: Cloud Storage URI konten yang akan di-cache.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cachedContents
Meminta isi JSON:
{
"model": "projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID@MODEL_VERSION",
"displayName": "CACHE_DISPLAY_NAME",
"contents": [{
"role": "user",
"parts": [{
"fileData": {
"mimeType": "MIME_TYPE",
"fileUri": "CONTENT_TO_CACHE_URI"
}
}]
}]
}
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="model-id"
PROJECT_ID="test-project"
MODEL_VERSION=1
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}/models/${MODEL_ID}@${MODEL_VERSION}",
"contents": [
{
"role": "user",
"parts": [
{
"fileData": {
"mimeType": "${MIME_TYPE}",
"fileUri": "${CACHED_CONTENT_URI}"
}
}
]
}
]
}'
Menggunakan context cache untuk model yang disesuaikan
Prosedur untuk menggunakan context cache untuk model yang disesuaikan sebagian besar mengikuti langkah-langkah yang diuraikan dalam Menggunakan context cache. Lihat dokumentasi tertaut untuk mengetahui proses umumnya; panduan ini berfokus pada perbedaan penggunaan context cache untuk model Gemini yang disesuaikan.
Daripada mengirim permintaan ke endpoint model dasar dalam bentuk projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL}, Anda harus mengirimkannya ke endpoint model yang disesuaikan dan di-deploy dalam bentuk projects/{PROJECT}/locations/{LOCATION}/endpoints/{ENDPOINT_ID}.
Contoh kode berikut menunjukkan cara menggunakan context cache dengan model Gemini yang disesuaikan.
Saat menggunakan context cache, Anda tidak dapat menentukan properti berikut:
GenerativeModel.system_instructionsGenerativeModel.tool_configGenerativeModel.tools
REST
Anda dapat menggunakan REST untuk menentukan context cache dengan perintah menggunakan Agent Platform API untuk mengirim permintaan POST ke endpoint model penayang.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: [Project ID](/resource-manager/docs/creating-managing-projects#identifiers) Anda. .
- LOCATION: Region tempat permintaan untuk membuat context cache diproses.
- ENDPOINT_ID: Endpoint tempat model yang disesuaikan di-deploy.
- PROMPT_TEXT: Perintah teks yang akan dikirimkan ke model.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:generateContent
Meminta isi JSON:
{
"cachedContent": "projects/PROJECT_NUMBER/locations/LOCATION/cachedContents/CACHE_ID",
"contents": [
{"role":"user","parts":[{"text":"PROMPT_TEXT"}]}
],
"generationConfig": {
"maxOutputTokens": 8192,
"temperature": 1,
"topP": 0.95,
},
"safetySettings": [
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
}
],
}
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/endpoints/ENDPOINT_ID:generateContent"
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/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content
Anda akan melihat respons JSON yang mirip seperti berikut:
Contoh perintah curl
LOCATION="us-central1"
PROJECT_ID="test-project"
ENDPOINT_ID=987654321
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}/endpoints/${ENDPOINT_ID}:generateContent" -d \
'{
"cachedContent": "projects/${PROJECT_NUMBER}/locations/${LOCATION}/cachedContents/${CACHE_ID}",
"contents": [
{"role":"user","parts":[{"text":"What are the benefits of exercise?"}]}
],
"generationConfig": {
"maxOutputTokens": 8192,
"temperature": 1,
"topP": 0.95,
},
"safetySettings": [
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
}
],
}'