Vertex AI מספק את Extension API, שמאפשר לרשום, לנהל ולהפעיל תוספים. Vertex AI מספק גם קבוצה של תוספים מוכנים מראש מ-Extension API, כולל התוסף code interpreter והתוסף חיפוש מבוסס סוכנים.
מגבלות
Extension API זמין רק באזור us-central1.
תחביר לדוגמה
תחביר ליצירת משאב של תוסף.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/extensions:import \ -d '{ "displayName": "...", "description": "...", "manifest": { ... "apiSpec": { ... }, "authConfig": { ... } ... } }'
Python
from vertexai.preview import extensions extensions.Extension.create( manifest: Union[JsonDict, ExtensionManifest], display_name: Optional[str] = None, description: Optional[str] = None, runtime_config: Optional[Union[JsonDict, RuntimeConfig]] = None )
רשימת הפרמטרים
גוף הבקשה
| פרמטרים | |
|---|---|
|
שם התצוגה של התוסף שמוצג למשתמשים מה-API ומממשק המשתמש. הערך צריך להיות מחרוזת UTF-8 באורך של עד 128 תווים. |
|
התיאור של התוסף שמוצג למשתמשים מה-API ומממשק המשתמש. הערך הזה צריך להיות מחרוזת UTF-8 בגודל של עד 1MB. |
המניפסט של התוסף. |
|
הגדרות זמן הריצה שקובעות את ההתנהגות של התוסף בזמן הריצה. בתוסף 'מפענח קוד', הפורמט הוא: "runtimeConfig": { "codeInterpreterRuntimeConfig": { "fileInputGcsBucket": string, "fileOutputGcsBucket": string } } בתוסף חיפוש מבוסס סוכנים, הפורמט הוא: "runtimeConfig": { "vertexAiSearchRuntimeConfig": { "servingConfigName": string, } } |
|
manifest
המניפסט של התוסף.
| פרמטרים | |
|---|---|
|
השם של התוסף שמשמש את ה-LLM לחשיבה רציונלית. הערך צריך להיות מחרוזת UTF-8 באורך של עד 128 תווים. |
|
תיאור בשפה טבעית של השימוש בתוסף. התיאור מוצג ל-LLM כדי לעזור לו לבצע ניתוח.התיאור צריך להיות מחרוזת UTF-8 באורך של עד 1MB. |
מפרט ה-API שמוצג ל-LLM לצורך הסקת מסקנות. חשוב לספק תיאור משמעותי ואינפורמטיבי. "apiSpec": { "openApiGcsUri": string } |
|
סוג האימות שהתוסף הזה תומך בו. בקשה לייבוא תוסף חייבת לכלול הגדרת אימות. "authConfig": { "authType": "GOOGLE_SERVICE_ACCOUNT_AUTH", "googleServiceAccountConfig": { "serviceAccount": string }, } |
|
apiSpec
מפרט ה-API שמוצג ל-LLM לצורך הסקת מסקנות.
| פרמטרים | |
|---|---|
|
מזהה URI של Cloud Storage של קובץ ה-YAML של OpenAPI שמתאר את API התוסף, כמו |
authConfig
סוג האימות שנתמך על ידי התוסף הזה.
| פרמטרים | |
|---|---|
|
שיטת האימות. ערכים נתמכים: |
googleServiceAccountConfig
תוסף מפענח הקוד ותוסף חיפוש מבוסס-Vertex AI תומכים רק באימות של חשבון שירות של Google, שבו Vertex AI משתמש בסוכן שירות של שירות התוספים של Vertex AI כדי לגשת לממשקי ה-API.
| פרמטרים | |
|---|---|
|
חשבון השירות שדרכו מופעלת ההרחבה. אם מציינים חשבון שירות, צריך להעניק את ההרשאה |
runtimeConfig
האובייקט runtimeConfig מכיל הגדרות נוספות שמשמשות להרצת התוסף.
תוסף לניתוח קוד
| פרמטרים | |
|---|---|
|
הקטגוריה של Cloud Storage לקובץ הקלט של התוסף. צריך להעניק לסוכן השירות של Vertex Extension Custom Code את ההרשאה |
|
הקטגוריה ב-Cloud Storage שאליה מועבר קובץ הפלט מהתוסף. צריך להעניק לסוכן השירות של Vertex Extension Custom Code את ההרשאה |
תוסף חיפוש מבוסס סוכנים
| פרמטרים | |
|---|---|
|
שם ההגדרה של חיפוש מבוסס סוכנים שמשמשת את התוסף. פורמט:
|
הפעלת התוסף
| פרמטרים | |
|---|---|
|
המזהה שנבחר של הפעולה שתבוצע בתוסף הזה. |
|
פרמטרים של בקשות שמשמשים להפעלת הפעולה הזו. ה-JSON צריך להיות בצורה של מיפוי עם שם הפרמטר כמפתח וערך הפרמטר בפועל כערך. לדוגמה, כדי להגדיר פרמטר בשם |
דוגמאות
ייבוא תוסף של מתורגמן קוד
יוצרים או רושמים משאב של תוסף.
בדוגמה הזו אפשר לראות איך מייבאים תוסף של מתורגמן קוד.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט.
- LOCATION: האזור שבו הבקשה תעובד.
- DISPLAY_NAME: השם המוצג של התוסף שמוצג למשתמשים ב-API ובממשק המשתמש. הערך צריך להיות מחרוזת UTF-8 באורך של עד 128 תווים.
- DESCRIPTION: תיאור התוסף שמוצג למשתמשים ב-API ובממשק המשתמש. הערך הזה צריך להיות מחרוזת UTF-8 בגודל של עד 1MB.
- MANIFEST_NAME: שם התוסף שמשמש את ה-LLM לניתוח. המחרוזת צריכה להיות בקידוד UTF-8, באורך של עד 128 תווים
- MANIFEST_DESCRIPTION: תיאור בשפה טבעית שמוצג למודל שפה גדול (LLM). התיאור צריך לכלול את אופן השימוש בתוסף, והוא חיוני כדי שה-LLM יוכל לבצע ניתוח. הערך הזה צריך להיות מחרוזת UTF-8 בגודל של עד 1MB.
- GCS_URI: ה-URI של Cloud Storage של קובץ ה-YAML של OpenAPI שמתאר את ה-API של התוסף.
- AUTH_TYPE: שיטת אימות. ערכים נתמכים:
GOOGLE_SERVICE_ACCOUNT_AUTH.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import
גוף בקשת JSON:
{
"displayName": "DISPLAY_NAME",
"description": "DESCRIPTION",
"manifest": {
"name": "NAME",
"description": "MANIFEST_DESCRIPTION",
"apiSpec": {
"openApiGcsUri": "GCS_URI",
},
"authConfig": {
"authType": "AUTH_TYPE",
"googleServiceAccountConfig": {}
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import"
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import" | Select-Object -Expand Content
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
ייבוא עם הגדרות זמן ריצה
יוצרים או רושמים משאב של תוסף.
בדוגמה הזו מוצג ייבוא של תוסף חיפוש מבוסס סוכנים על ידי ציון RuntimeConfig.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: .
- LOCATION: האזור שבו הבקשה תעובד.
- DISPLAY_NAME: השם המוצג של התוסף שמוצג למשתמשים ב-API ובממשק המשתמש. הערך צריך להיות מחרוזת UTF-8 באורך של עד 128 תווים.
- DESCRIPTION: תיאור התוסף שמוצג למשתמשים ב-API ובממשק המשתמש. הערך הזה צריך להיות מחרוזת UTF-8 בגודל של עד 1MB.
- MANIFEST_NAME: שם התוסף שמשמש את ה-LLM לניתוח. המחרוזת צריכה להיות בקידוד UTF-8, באורך של עד 128 תווים
- MANIFEST_DESCRIPTION: תיאור בשפה טבעית שמוצג למודל שפה גדול (LLM). התיאור צריך לכלול את אופן השימוש בתוסף, והוא חיוני כדי שה-LLM יוכל לבצע ניתוח. הערך הזה צריך להיות מחרוזת UTF-8 בגודל של עד 1MB.
- GCS_URI: ה-URI של Cloud Storage של קובץ ה-YAML של OpenAPI שמתאר את ה-API של התוסף.
- AUTH_TYPE: שיטת אימות. ערכים נתמכים:
GOOGLE_SERVICE_ACCOUNT_AUTH. - SERVING_CONFIG_NAME: שם הגדרת ההפעלה של חיפוש מבוסס-Vertex AI, כדי לציין באיזה משאב של חיפוש מבוסס-Vertex AI התוסף משתמש. פורמט:
projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import
גוף בקשת JSON:
{
"displayName": "DISPLAY_NAME",
"description": "DESCRIPTION",
"manifest": {
"name": "NAME",
"description": "MANIFEST_DESCRIPTION",
"apiSpec": {
"openApiGcsUri": "GCS_URI",
},
"authConfig": {
"authType": "AUTH_TYPE",
"googleServiceAccountConfig": {}
},
runtime_config={
"vertex_ai_search_runtime_config": {
"serving_config_name": SERVING_CONFIG_NAME,
}
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import"
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import" | Select-Object -Expand Content
Python
import vertexai from vertexai.preview import extensions vertexai.init(project=PROJECT_ID, location=LOCATION) extension_vertex_ai_search = extensions.Extension.create( display_name = "vertex_ai_search", description = "This extension search from provided datastore", manifest = { "name": "vertex_ai_search", "description": "Google Vertex AI Search Extension", "api_spec": { "open_api_gcs_uri": "gs://vertex-extension-public/vertex_ai_search.yaml" }, "auth_config": { "google_service_account_config": {}, "auth_type": "GOOGLE_SERVICE_ACCOUNT_AUTH", }, }, runtime_config={ "vertex_ai_search_runtime_config": { "serving_config_name": SERVING_CONFIG_NAME, } } )
הפעלת תוסף
כדי להפעיל תוסף, קוראים ישירות לתוסף ומספקים את פרמטרי ההפעלה בבקשה.
בדוגמה הזו, התוסף generate_and_execute של מפענח הקוד מופעל כדי לקבל את התשובה לשאילתה find the max value in the list: [1,2,3,4,-5].
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: .
- LOCATION: האזור שבו הבקשה תעובד.
- EXTENSION_ID: מזהה התוסף.
- OPERATION_ID: המזהה שנבחר של הפעולה שתבוצע בתוסף הזה.
- QUERY: פרמטרים של הבקשה להפעלת הפעולה בפורמט של זוגות מפתח/ערך,
{"query": "What is Vertex AI?"}.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID:execute
גוף בקשת JSON:
{
"operation_id": "OPERATION_ID",
"operation_params": {
"query": "QUERY",
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID:execute"
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID:execute" | Select-Object -Expand Content
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
הצגת רשימה של תוספים
הצגת רשימה של התוספים בפרויקט.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: .
- LOCATION: האזור שבו הבקשה תעובד.
- EXTENSION_ID: מזהה התוסף.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions" | Select-Object -Expand Content
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
הורדת תוסף
קבלת פרטים על תוסף
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: .
- LOCATION: האזור שבו הבקשה תעובד.
- EXTENSION_ID: מזהה התוסף.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID" | Select-Object -Expand Content
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
עדכון תוסף
מעדכנים תוסף.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: .
- LOCATION: האזור שבו הבקשה תעובד.
- EXTENSION_ID: מזהה התוסף.
- UPDATE_MASK: הפרמטר לעדכון. ערכים קבילים:
displayName,descriptionאוtoolUseExamples.
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID?update_mask="UPDATE_MASK"
גוף בקשת JSON:
{
"description": "UPDATE_MASK",
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID?update_mask="UPDATE_MASK""
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID?update_mask="UPDATE_MASK"" | Select-Object -Expand Content
מחיקת התוסף
מחיקת תוסף.
בדוגמה הזו נמחק התוסף שמשויך למזהה התוסף.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: .
- LOCATION: האזור שבו הבקשה תעובד.
- EXTENSION_ID: מזהה התוסף.
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID" | Select-Object -Expand Content
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.