Anda dapat menggunakan penyiapan cache konteks untuk model Gemini yang di-fine-tune guna meningkatkan performa dan mengurangi biaya untuk perintah yang menyertakan konteks dalam jumlah besar. Dengan menyimpan cache konteks yang sering digunakan, Anda tidak perlu mengirim ulang data dalam jumlah besar dengan setiap permintaan ke model yang di-fine-tune.
Operasi pengelolaan (Read
, Update
, Delete
) cache konteks untuk Gemini yang di-tune tetap konsisten dengan model dasar. Hanya pembuatan dan inferensi konten yang di-cache memerlukan penyesuaian tertentu, yang dijelaskan di bawah ini.
Model yang didukung
Penyimpanan cache konteks didukung untuk model yang di-fine-tune dari model dasar berikut:
gemini-2.0-flash-001
Prasyarat
Menyesuaikan Model Gemini: Anda memerlukan model Gemini yang telah disesuaikan dan di-deploy berdasarkan model dasar yang didukung (lihat Model yang didukung). Untuk mengetahui detail cara menyempurnakan model Gemini, lihat Menyempurnakan model Gemini. Untuk mendapatkan endpoint model yang disesuaikan yang di-deploy, lihat Men-deploy model yang disesuaikan.
Pastikan Anda memiliki informasi berikut:
- ID dan versi model Gemini yang di-tune
- Nama resource endpoint untuk model yang telah disesuaikan dan di-deploy
Membuat context cache untuk model yang di-fine-tune
Model dasar yang didukung tercantum di Model yang didukung.
Prosedur untuk membuat context cache untuk model yang di-fine-tune sebagian besar mengikuti langkah-langkah yang diuraikan dalam Membuat context cache. Lihat dokumentasi yang ditautkan untuk mengetahui proses umumnya; panduan ini berfokus pada perbedaan pembuatan cache konteks untuk model Gemini yang di-fine-tune.
Daripada menggunakan model dasar dalam bentuk projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL}
, Anda harus menggunakan model yang di-fine-tune dalam bentuk projects/{PROJECT}/locations/{LOCATION}/models/{MODEL}@{VERSION}
.
Contoh berikut menunjukkan cara membuat cache konteks dengan model Gemini yang telah disesuaikan.
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.
- MODEL_ID: ID model Gemini yang di-fine-tune.
- MODEL_VERSION: Versi model Gemini yang disesuaikan.
- 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/models/MODEL_ID@MODEL_VERSION", "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="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 di-fine-tune
Prosedur penggunaan context cache untuk model yang di-fine-tune sebagian besar mengikuti langkah-langkah yang diuraikan dalam Menggunakan context cache. Lihat dokumentasi yang ditautkan untuk mengetahui proses umumnya; panduan ini berfokus pada perbedaan penggunaan cache konteks untuk model Gemini yang telah di-fine-tune.
Daripada mengirim permintaan ke endpoint model dasar dalam bentuk projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL}
, Anda harus mengirimkannya ke endpoint model yang telah disesuaikan dan di-deploy dalam bentuk projects/{PROJECT}/locations/{LOCATION}/endpoints/{ENDPOINT_ID}
.
Contoh kode berikut menunjukkan cara menggunakan cache konteks dengan model Gemini yang dioptimalkan.
Saat menggunakan cache konteks, Anda tidak dapat menentukan properti berikut:
GenerativeModel.system_instructions
GenerativeModel.tool_config
GenerativeModel.tools
REST
Anda dapat menggunakan REST untuk menentukan cache konteks dengan prompt menggunakan Vertex AI API untuk mengirim permintaan POST ke endpoint model penayang.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region tempat permintaan untuk membuat cache konteks diproses.
- ENDPOINT_ID: Endpoint tempat model yang telah disesuaikan di-deploy.
- MIME_TYPE: 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
Isi JSON permintaan:
{ "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"
}
],
}'