您可以使用 REST API 或 Python SDK,在生成式 AI 應用程式中參照內容快取中儲存的內容。如要使用脈絡快取,請先建立脈絡快取。 您在程式碼中使用的內容快取物件包含下列屬性: 要求主體範例: 建立內容快取時,您可以指定下列功能。後續要求使用快取時,不應再次指定這些功能: 下列程式碼範例示範如何在要求中使用內容快取。 詳情請參閱 SDK 參考說明文件。 設定環境變數,透過 Vertex AI 使用 Gen AI SDK: 瞭解如何安裝或更新 Go。 詳情請參閱 SDK 參考說明文件。 設定環境變數,透過 Vertex AI 使用 Gen AI SDK: 您可以使用 REST,透過 Vertex AI API 將 POST 要求傳送至發布者模型端點,即可搭配提示使用內容快取。 使用任何要求資料之前,請先替換以下項目: HTTP 方法和網址: JSON 要求主體: 如要傳送要求,請選擇以下其中一個選項: 將要求主體儲存在名為 將要求主體儲存在名為 您應該會收到類似如下的 JSON 回應:
脈絡快取屬性
name
:內容快取的完整資源名稱。在要求中參照快取時,您必須使用這個名稱。建立內容快取時,系統會在回應中傳回名稱。
projects/PROJECT_NUMBER/locations/LOCATION/cachedContents/CACHE_ID
"cached_content": "projects/123456789012/locations/us-central1/123456789012345678"
model
:用於建立快取的模型資源名稱。
projects/PROJECT_NUMBER/locations/LOCATION/publishers/PUBLISHER_NAME/models/MODEL_ID
createTime
:指定脈絡快取建立時間的 Timestamp
。updateTime
:Timestamp
,指定脈絡快取的最近更新時間。快取更新前,createTime
和 updateTime
相同。expireTime
:Timestamp
,用於指定脈絡快取的到期時間。預設到期時間為 createTime
後 60 分鐘。您可以更新快取,設定新的到期時間。快取過期後會標示為要刪除,無法使用或更新。如要使用過期的快取,必須重新建立快取。脈絡快取使用限制
GenerativeModel.system_instructions
:指定模型在收到使用者指令前應採用的指令。詳情請參閱「系統操作說明」。GenerativeModel.tool_config
:指定 Gemini 模型使用的工具,例如函式呼叫功能的工具。詳情請參閱 tool_config
參考資料。GenerativeModel.tools
:指定用於建立函式呼叫應用程式的函式。詳情請參閱「函式呼叫」。使用脈絡快取範例
Python
安裝
pip install --upgrade google-genai
# 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
Go
# 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
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-2.0-flash-001:generateContent
{ "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" } ], }
curl
request.json
的檔案中,然後執行下列指令: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/publishers/google/models/gemini-2.0-flash-001:generateContent"PowerShell
request.json
的檔案中,然後執行下列指令:$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/publishers/google/models/gemini-2.0-flash-001:generateContent" | Select-Object -Expand ContentcURL 指令範例
LOCATION="us-central1" MODEL_ID="gemini-2.0-flash-001" PROJECT_ID="test-project" 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}/publishers/google/models/${MODEL_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" } ], }'
使用脈絡快取
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-19 (世界標準時間)。