Vertex AI bietet die Extension API, mit der Erweiterungen registriert, verwaltet und ausgeführt werden können. Vertex AI bietet auch eine Reihe vordefinierter Erweiterungen aus der Extension API, darunter die Code Interpreter-Erweiterung und die Vertex AI Search-Erweiterung.
Beschränkungen
Die Extension API ist nur in der Region us-central1
verfügbar.
Beispielsyntax
Syntax zum Erstellen einer Erweiterungsressource.
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 )
Parameterliste
Anfragetext
Parameter | |
---|---|
|
Optional: Der Anzeigename der Erweiterung, der Nutzern über die API und die Benutzeroberfläche angezeigt wird. Dies sollte ein UTF-8-String mit bis zu 128 Zeichen sein. |
|
Optional: Die Beschreibung der Erweiterung, die Nutzern über die API und die Benutzeroberfläche angezeigt wird. Dies sollte ein UTF-8-String mit bis zu 1 MB sein. |
Das Manifest der Erweiterung. |
|
Optional: Die Laufzeitkonfiguration, die das Laufzeitverhalten der Erweiterung steuert. Für die Erweiterung des Code-Interpreters gilt das folgende Format: "runtimeConfig": { "codeInterpreterRuntimeConfig": { "fileInputGcsBucket": string, "fileOutputGcsBucket": string } } Für die Vertex AI Search-Erweiterung gilt das folgende Format: "runtimeConfig": { "vertexAiSearchRuntimeConfig": { "servingConfigName": string, } } |
manifest
Das Manifest der Erweiterung.
Parameter | |
---|---|
|
Der Name der Erweiterung, die vom LLM aus Gründen verwendet wird. Dies sollte ein UTF-8-String mit bis zu 128 Zeichen sein. |
|
Die Beschreibung der Verwendung der Erweiterung in natürlicher Sprache. Die Beschreibung wird dem LLM angezeigt, um ihm bei der Inferenz zu helfen. Dies sollte ein UTF-8-String mit bis zu 1 MB sein. |
Die API-Spezifikation, die dem LLM zur Inferenz angezeigt wird. Geben Sie eine aussagekräftige und informative Beschreibung. "apiSpec": { "openApiGcsUri": string } |
|
Der von dieser Erweiterung unterstützte Authentifizierungstyp. Eine Anfrage zum Importieren einer Erweiterung muss eine Authentifizierungskonfiguration enthalten. "authConfig": { "authType": "GOOGLE_SERVICE_ACCOUNT_AUTH", "googleServiceAccountConfig": { "serviceAccount": string }, } |
apiSpec
Die API-Spezifikation, die dem LLM zur Inferenz angezeigt wird.
Parameter | |
---|---|
|
Cloud Storage-URI der OpenAPI-YAML-Datei, die die Erweiterungs-API beschreibt, z. B. |
authConfig
Der von dieser Erweiterung unterstützte Authentifizierungstyp.
Parameter | |
---|---|
|
Authentifizierungsmethode. Unterstützte Werte: |
googleServiceAccountConfig
Die Code Interpreter-Erweiterung und die Vertex AI Search-Erweiterung unterstützen nur die Google-Dienstkonto-Authentifizierung, bei der Vertex AI den Vertex AI Extension Service Agent für den Zugriff auf die APIs verwendet.
Parameter | |
---|---|
|
Optional: Das Dienstkonto, unter dem die Ausführung der Erweiterung erfolgt. Wenn das Dienstkonto angegeben ist, sollte dem Vertex AI Extensions-Dienst-Agent für das angegebene Dienstkonto die Berechtigung |
runtimeConfig
Das runtimeConfig
-Objekt enthält zusätzliche Konfigurationen, die beim Ausführen der Erweiterung verwendet werden.
Code-Interpreter-Erweiterung
Parameter | |
---|---|
|
Optional: Der Cloud Storage-Bucket für die Dateieingabe in die Erweiterung. Der Vertex Extension Custom Code Service Agent sollte die Berechtigung |
|
Optional: Der Cloud Storage-Bucket für die Dateiausgabe der Erweiterung. Der Vertex Extension Custom Code Service Agent sollte die Berechtigung |
Vertex AI Search-Erweiterung
Parameter | |
---|---|
|
Name der Vertex AI Search-Bereitstellungskonfiguration, um anzugeben, welche Vertex AI Search-Ressource von der Erweiterung verwendet wird. Format:
|
Erweiterung ausführen
Parameter | |
---|---|
|
Die ausgewählte ID des Vorgangs, der in dieser Erweiterung ausgeführt werden soll. |
|
Optional: Anfrageparameter, die für die Ausführung dieses Vorgangs verwendet werden. Die JSON-Datei muss eine Zuordnung mit dem Parameternamen als Schlüssel und dem tatsächlichen Parameterwert als Wert enthalten. Wenn Sie beispielsweise einen Parameter namens |
Beispiele
Code-Interpreter-Erweiterung importieren
Erstellen oder registrieren Sie eine Erweiterungsressource.
In diesem Beispiel wird gezeigt, wie Sie eine Erweiterung des Code Interpreters importieren.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- DISPLAY_NAME: Der Anzeigename der Erweiterung, der Nutzern über die API und die Benutzeroberfläche angezeigt wird. Dies sollte ein UTF-8-String mit bis zu 128 Zeichen sein.
- DESCRIPTION: Die Beschreibung der Erweiterung, die Nutzern über die API und die Benutzeroberfläche angezeigt wird. Dies sollte ein UTF-8-String mit bis zu 1 MB sein.
- MANIFEST_NAME: Der Name der Erweiterung, die vom LLM zur Inferenz verwendet wird. Dies sollte ein UTF-8-String mit bis zu 128 Zeichen sein.
- MANIFEST_DESCRIPTION: Die Beschreibung in natürlicher Sprache, die dem LLM angezeigt wird. Sie sollte die Verwendung der Erweiterung beschreiben und ist für die Inferenz des LLM erforderlich. Dies sollte ein UTF-8-String mit bis zu 1 MB sein.
- GCS_URI: Cloud Storage-URI der OpenAPI-YAML-Datei, die die Erweiterungs-API beschreibt.
- AUTH_TYPE: Authentifizierungsmethode. Unterstützte Werte:
GOOGLE_SERVICE_ACCOUNT_AUTH
.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import
JSON-Text der Anfrage:
{ "displayName": "DISPLAY_NAME", "description": "DESCRIPTION", "manifest": { "name": "NAME", "description": "MANIFEST_DESCRIPTION", "apiSpec": { "openApiGcsUri": "GCS_URI", }, "authConfig": { "authType": "AUTH_TYPE", "googleServiceAccountConfig": {} } } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Mit einer Laufzeitkonfiguration importieren
Erstellen oder registrieren Sie eine Erweiterungsressource.
In diesem Beispiel wird gezeigt, wie Sie eine Vertex AI Search-Erweiterung importieren, indem Sie RuntimeConfig
angeben.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- DISPLAY_NAME: Der Anzeigename der Erweiterung, der Nutzern über die API und die Benutzeroberfläche angezeigt wird. Dies sollte ein UTF-8-String mit bis zu 128 Zeichen sein.
- DESCRIPTION: Die Beschreibung der Erweiterung, die Nutzern über die API und die Benutzeroberfläche angezeigt wird. Dies sollte ein UTF-8-String mit bis zu 1 MB sein.
- MANIFEST_NAME: Der Name der Erweiterung, die vom LLM zur Inferenz verwendet wird. Dies sollte ein UTF-8-String mit bis zu 128 Zeichen sein.
- MANIFEST_DESCRIPTION: Die Beschreibung in natürlicher Sprache, die dem LLM angezeigt wird. Sie sollte die Verwendung der Erweiterung beschreiben und ist für die Inferenz des LLM erforderlich. Dies sollte ein UTF-8-String mit bis zu 1 MB sein.
- GCS_URI: Cloud Storage-URI der OpenAPI-YAML-Datei, die die Erweiterungs-API beschreibt.
- AUTH_TYPE: Authentifizierungsmethode. Unterstützte Werte:
GOOGLE_SERVICE_ACCOUNT_AUTH
. - SERVING_CONFIG_NAME: Der Name der Bereitstellungskonfiguration für Vertex AI Search, mit dem angegeben wird, welche Vertex AI Search-Ressource von der Erweiterung verwendet wird. Format:
projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import
JSON-Text der Anfrage:
{ "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, } } } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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, } } )
Erweiterung ausführen
Wenn Sie eine Erweiterung ausführen möchten, rufen Sie sie direkt auf und geben Sie die Ausführungsparameter in der Anfrage an.
In diesem Beispiel wird die Code-Interpreter-Erweiterung generate_and_execute
ausgeführt, um die Antwort für die Abfrage find the max value in the list: [1,2,3,4,-5]
zu erhalten.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- EXTENSION_ID: Die ID der Erweiterung.
- OPERATION_ID: Die ausgewählte ID des Vorgangs, der in dieser Erweiterung ausgeführt werden soll.
- QUERY: Die Anfrageparameter zur Ausführung der Operation im Schlüssel/Wert-Format,
{"query": "What is Vertex AI?"}.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID:execute
JSON-Text der Anfrage:
{ "operation_id": "OPERATION_ID", "operation_params": { "query": "QUERY", } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Erweiterungen auflisten
Erweiterungen in einem Projekt auflisten.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- EXTENSION_ID: Die ID der Erweiterung.
HTTP-Methode und URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions"
PowerShell
Führen Sie diesen Befehl aus:
$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
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Erweiterung abrufen
Details zu einer Erweiterung abrufen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- EXTENSION_ID: Die ID der Erweiterung.
HTTP-Methode und URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie diesen Befehl aus:
$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
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Erweiterung aktualisieren
Erweiterung aktualisieren.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- EXTENSION_ID: Die ID der Erweiterung.
- UPDATE_MASK: Der zu aktualisierende Parameter. Zulässige Werte:
displayName
,description
odertoolUseExamples
.
HTTP-Methode und URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID?update_mask="UPDATE_MASK"
JSON-Text der Anfrage:
{ "description": "UPDATE_MASK", }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Erweiterung löschen
Erweiterung löschen.
In diesem Beispiel wird die Erweiterung gelöscht, die mit der Erweiterungs-ID verknüpft ist.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- EXTENSION_ID: Die ID der Erweiterung.
HTTP-Methode und URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie diesen Befehl aus:
$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
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.