Vertex AI מספק את Extension API, שמאפשר לרשום, לנהל ולהפעיל תוספים. Vertex AI מספק גם קבוצה של תוספים מוכנים מראש מ-Extension API, כולל תוסף מפענח הקוד ותוסף החיפוש מבוסס-Vertex AI.
מגבלות
ממשק 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 } } בתוסף חיפוש מבוסס-Vertex AI, הפורמט הוא: "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 את ההרשאה |
תוסף חיפוש מבוסס-Vertex AI
| פרמטרים | |
|---|---|
|
שם הגדרת ההפעלה של חיפוש מבוסס-Vertex AI כדי לציין באיזה משאב של חיפוש מבוסס-Vertex AI התוסף משתמש. פורמט:
|
הפעלת התוסף
| פרמטרים | |
|---|---|
|
המזהה שנבחר של הפעולה שצריך לבצע בתוסף הזה. |
|
פרמטרים של בקשות שמשמשים לביצוע הפעולה הזו. ה-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.
ייבוא עם הגדרת זמן ריצה
יוצרים או רושמים משאב של תוסף.
בדוגמה הזו מוצג ייבוא של תוסף חיפוש מבוסס-Vertex AI על ידי ציון 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.