אתם יכולים להשתמש בממשקי REST API או ב-Python SDK כדי להפנות לתוכן שמאוחסן במטמון של הקשר באפליקציית AI גנרטיבי. לפני שתוכלו להשתמש בו, תצטרכו קודם ליצור את מטמון ההקשר.
אובייקט מטמון ההקשר שבו אתם משתמשים בקוד כולל את המאפיינים הבאים:
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שמציין מתי פג התוקף של מטמון ההקשר. ברירת המחדל שלexpireTimeהיא 60 דקות אחריcreateTime. אפשר לעדכן את המטמון עם זמן תפוגה חדש. מידע נוסף זמין במאמר עדכון מטמון ההקשר. אחרי שתוקף המטמון פג, הוא מסומן למחיקה ואין להניח שאפשר להשתמש בו או לעדכן אותו. אם אתם צריכים להשתמש במטמון הקשר שתוקפו פג, אתם צריכים ליצור אותו מחדש עם זמן תפוגה מתאים.
הגבלות על השימוש במטמון ההקשר
אם התכונות הבאות מצוינות כשיוצרים מטמון הקשר, לא צריך לציין אותן שוב בבקשה:
מאפיין
GenerativeModel.system_instructions. המאפיין הזה משמש לציון הוראות למודל לפני שהמודל מקבל הוראות ממשתמש. מידע נוסף זמין במאמר בנושא הוראות מערכת.הנכס
GenerativeModel.tool_config. המאפייןtool_configמשמש לציון כלים שבהם נעשה שימוש במודל Gemini, כמו כלי שמשמש את התכונה בקשה להפעלת פונקציה.הנכס
GenerativeModel.tools. המאפייןGenerativeModel.toolsמשמש לציון פונקציות ליצירת אפליקציה להפעלת פונקציות. מידע נוסף זמין במאמר בנושא קריאה לפונקציות.
שימוש בדוגמה של מטמון הקשר
בדוגמה הבאה אפשר לראות איך משתמשים במטמון הקשר. כשמשתמשים במטמון הקשר, אי אפשר לציין את המאפיינים הבאים:
GenerativeModel.system_instructionsGenerativeModel.tool_configGenerativeModel.tools
Python
התקנה
pip install --upgrade google-genai
מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.
מגדירים משתני סביבה כדי להשתמש ב-Gen AI SDK עם 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=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Go
מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.
מגדירים משתני סביבה כדי להשתמש ב-Gen AI SDK עם 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=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Java
כך מתקינים או מעדכנים את Java.
מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.
מגדירים משתני סביבה כדי להשתמש ב-Gen AI SDK עם 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=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Node.js
התקנה
npm install @google/genai
מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.
מגדירים משתני סביבה כדי להשתמש ב-Gen AI SDK עם 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=global export GOOGLE_GENAI_USE_ENTERPRISE=True
REST
אפשר להשתמש ב-REST כדי להשתמש במטמון הקשר עם הנחיה באמצעות Agent Platform API לשליחת בקשת POST לנקודת הקצה של מודל המוציא לאור.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: [מזהה הפרויקט](/resource-manager/docs/creating-managing-projects#identifiers). .
- LOCATION: האזור שבו הבקשה ליצירת מטמון ההקשר עובדה.
- PROMPT_TEXT: הנחייה טקסטואלית לשליחה למודל.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-2.0-flash-001:generateContent
גוף בקשת 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"
}
],
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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 Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
פקודת curl לדוגמה
LOCATION="us-central1"
MODEL_ID="gemini-2.5-flash"
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"
}
],
}'
המאמרים הבאים
- איך מעדכנים את זמן התפוגה של מטמון הקונטקסט
- איך יוצרים מטמון הקשר חדש
- איך מקבלים מידע על כל מטמוני ההקשר שמשויכים לפרויקט Google Cloud
- איך מוחקים מטמון הקשר