Vertex AI bietet die Extension API, mit der Erweiterungen registriert, verwaltet und ausgeführt werden können. Vertex AI bietet auch eine Reihe von vorgefertigten 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 Code-Interpreter-Erweiterung sieht das Format so aus: "runtimeConfig": { "codeInterpreterRuntimeConfig": { "fileInputGcsBucket": string, "fileOutputGcsBucket": string } } Für die Vertex AI Search-Erweiterung sieht das Format so aus: "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 Authentifizierung mit Google-Dienstkonten, bei denen Vertex AI den Vertex AI Extension Service Agent für den Zugriff auf die APIs verwendet.
Parameter | |
---|---|
|
Optional: Das Dienstkonto, unter dem die Erweiterung ausgeführt wird. Wenn das Dienstkonto angegeben ist, sollte dem Vertex AI-Extension Service 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 für die Erweiterung. Der Dienst-Agent für benutzerdefinierten Vertex-Erweiterungscode sollte die Berechtigung |
|
Optional: Der Cloud Storage-Bucket für die Dateiausgabe der Erweiterung. Der Dienst-Agent für benutzerdefinierten Vertex-Erweiterungscode 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. Das JSON sollte in Form einer Zuordnung mit dem Parameternamen als Schlüssel und dem tatsächlichen Parameterwert als Wert vorliegen. 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 in der API und der Benutzeroberfläche angezeigt wird. Dies sollte ein UTF-8-String mit bis zu 128 Zeichen sein.
- DESCRIPTION: Die Beschreibung der Erweiterung, die Nutzern in der API und der 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 das LLM unerlässlich, um Schlussfolgerungen zu ziehen. 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 Python-API-Referenzdokumentation.
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: .
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- DISPLAY_NAME: Der Anzeigename der Erweiterung, der Nutzern in der API und der Benutzeroberfläche angezeigt wird. Dies sollte ein UTF-8-String mit bis zu 128 Zeichen sein.
- DESCRIPTION: Die Beschreibung der Erweiterung, die Nutzern in der API und der 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 das LLM unerlässlich, um Schlussfolgerungen zu ziehen. 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 Vertex AI Search-Bereitstellungskonfiguration, um anzugeben, 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
Um eine Erweiterung auszuführen, 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 auf die Anfrage 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: .
- 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 zum Ausführen des Vorgangs 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 Python-API-Referenzdokumentation.
Erweiterungen auflisten
Erweiterungen in einem Projekt auflisten.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_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 folgenden 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 Python-API-Referenzdokumentation.
Erweiterung abrufen
Details zu einer Erweiterung abrufen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_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 folgenden 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 Python-API-Referenzdokumentation.
Erweiterung aktualisieren
Erweiterung aktualisieren.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_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: .
- 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 folgenden 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 Python-API-Referenzdokumentation.