In diesem Dokument erfahren Sie, wie Sie die von Google bereitgestellte Vertex AI Search-Erweiterung über die Google Cloud Console und die Vertex AI API registrieren und verwenden. Mit dieser Erweiterung können Sie auf Websitekorpus und unstrukturierte Daten zugreifen und diese durchsuchen, um relevante Antworten auf Fragen in natürlicher Sprache zu liefern. Beispiele:
- „Wie haben sich die Wettbewerbsbedrohungen für das Unternehmen vom 1. Quartal des letzten Jahres zum 1. Quartal dieses Jahres verändert?“
- „Welche Bereiche des Unternehmens wachsen am schnellsten? Wie schnell?“
Die Vertex AI Search-Erweiterung verwendet Vertex AI Search, um aussagekräftige Ergebnisse aus Ihrem Datenspeicher abzurufen. Die Vertex AI Search-Erweiterung ist in der OpenAPI-Spezifikation
vertex_ai_search.yaml
definiert.
Wenn Sie die Vertex AI Search-Erweiterung verwenden möchten, müssen Sie in der globalen Region einen Datenspeicher mit einem angegebenen Suchbereich erstellen. Die besten Suchergebnisse erzielen Sie, wenn Sie die erweiterte Indexierung für Websitedaten und die Enterprise-Version für unstrukturierte Daten aktivieren. Weitere Informationen finden Sie unter Erweiterte Features.
openapi: "3.0.0" info: title: Vertex AI Search version: v1alpha description: > Performs search on user ingested data including website and unstructured data type. This extension is used when user wants to search or retrieve meaningful results from their ingested data in the Vertex AI Search service. Supported AuthTypes: - GOOGLE_SERVICE_ACCOUNT_AUTH: (only supports using Vertex AI Extension Service Agent). paths: /search: get: operationId: search description: Retrieves the results from user's query by searching in the data store. parameters: - name: query in: query schema: type: string description: User natural language instructions for search. required: true responses: default: description: Search execution result. content: application/json: schema: $ref: "#/components/schemas/SearchResult" components: schemas: SearchResult: description: Top results from search response. type: object properties: results: type: array items: type: object properties: title: type: string description: Retrieved document title. display_link: type: string description: Retrieved document link to display. link: type: string description: Retrieved document link. extractive_segments: type: array description: Extractive segments from the retrieved file. items: type: string extractive_answers: type: array description: Extractive answers from the retrieved file. These are generated from the extractive segments. items: type: string
In den folgenden Jupyter-Notebooks erfahren Sie mehr über Google-Erweiterungen mit End-to-End-Anleitungen:
- Business Analyst-Workflow mit Vertex AI-Erweiterungen: Verwenden Sie die Erweiterung „Code Interpreter“ und die Vertex AI Search-Erweiterung, um einen Forschungsbericht zu Investitionschancen für Stakeholder des Unternehmens zu erstellen.
Colab | GitHub | Vertex AI Workbench - Workflow zur Analyse von Spielbewertungen mit Vertex AI-Erweiterungen: Verwenden Sie die Erweiterung "Code Interpreter", um Spielrezensionen von Steam zu analysieren. Verwenden Sie die Vertex AI Search-Erweiterung, um Rezensionen von Websites zusammenzufassen. Mit der Erweiterung „Code Interpreter“ können Sie einen Bericht mit allen generierten Assets erstellen.
Colab | GitHub | Vertex AI Workbench
Vorbereitung
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Vertex AI Search-Erweiterung registrieren und ausführen
In den folgenden Abschnitten wird gezeigt, wie Sie die Vertex AI Search-Erweiterung mit der Google Cloud Console und der Vertex AI API registrieren. Nach der Registrierung der Erweiterung können Sie sie mit der Vertex AI API ausführen.
Console
Erweiterung registrieren
Führen Sie die folgenden Schritte aus, um die Vertex AI Search-Erweiterung bei der Google Cloud Console zu registrieren.
Rufen Sie in der Google Cloud Console die Seite „Vertex AI Extensions“ auf.
Klicken Sie auf Erweiterung erstellen.
Füllen Sie im Dialogfeld Neue Erweiterung erstellen die folgenden Felder aus:
- Erweiterungsname: Geben Sie einen Namen für die Erweiterung ein, z. B. „vertex_search_extension“.
- Beschreibung: (Optional) Geben Sie eine Erweiterungsbeschreibung ein, z. B. „Eine Vertex AI Search-Erweiterung“.
- Erweiterungstyp: Wählen Sie
Vertex AI search
aus.
Prüfen Sie im nun angezeigten Abschnitt OpenAPI-Spezifikationsdatei, ob die folgenden Felder korrekt festgelegt sind:
- API-Name:
vertex_ai_search
. - API-Beschreibung:
Performs search on user ingested data including website and unstructured data type...
- Quelle:
Cloud Storage
. - OpenAPI-Spezifikation:
vertex-extension-public/vertex_ai_search.yaml
. - Authentifizierung:
Google service account
.
- API-Name:
Geben Sie im Bereich Laufzeitkonfigurationen einen Namen für die Bereitstellungskonfiguration an. Der Name der Bereitstellungskonfiguration wird in der vertexAiSearchRuntimeConfig angegeben. Es wird so formatiert und abgeschlossen:
projects/PROJECT_ID/locations/global/collections/COLLECTION_NAME/engines/ENGINE/servingConfigs/SERVING_CONFIG
- Setzen Sie COLLECTION_NAME auf
default_collection
. - Legen Sie ENGINE auf die Anwendungs-ID fest, die Sie beim Erstellen der Suchanwendung erhalten haben. Weitere Informationen finden Sie unter Such-App für Websitedaten erstellen.
- Setzen Sie SERVING_CONFIG auf
default_search
.
- Setzen Sie COLLECTION_NAME auf
Klicken Sie auf Erweiterung erstellen.
REST
Erweiterung registrieren
Senden Sie eine Vertex AI API-extensions.import
-Anfrage, um die Vertex AI Search-Erweiterung zu registrieren.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: ID Ihres Google Cloud-Projekts.
- REGION: Eine Compute Engine-Region.
- DISPLAY_NAME: Die Namenserweiterung, die Nutzern angezeigt wird, z. B. „my_search_extension“.
- DESCRIPTION: (Optional) Die Beschreibung der Erweiterung, die Nutzern angezeigt wird, z. B. „Eine Sucherweiterung“.
- SERVICE_ACCOUNT: (Optional) Die Vertex AI Search-Erweiterung verwendet GOOGLE_SERVICE_ACCOUNT_AUTH wie im Beispielanfragetext gezeigt. Wenn Sie kein Dienstkonto angeben, verwendet die Erweiterung das Standarddienstkonto Vertex AI Extensions-Dienst-Agent. Wenn Sie ein anderes Dienstkonto angeben, gewähren Sie dem Dienstkonto des Vertex AI Extensions-Dienst-Agents im angegebenen Dienstkonto die Berechtigung
iam.serviceAccounts.getAccessToken
. - SERVING_CONFIG_NAME: Der Name der Bereitstellungskonfiguration wird in vertexAiSearchRuntimeConfig angegeben.
Er ist so formatiert und abgeschlossen:
projects/PROJECT_ID/locations/global/collections/COLLECTION_NAME/engines/ENGINE/servingConfigs/SERVING_CONFIG
.- PROJECT_ID: ID Ihres Google Cloud-Projekts.
- Setzen Sie COLLECTION_NAME auf
default_collection
. - ENGINE: Die Anwendungs-ID, die Sie beim Erstellen Ihrer Suchanwendung erhalten haben. Weitere Informationen finden Sie unter Such-App für Websitedaten erstellen.
- Setzen Sie SERVING_CONFIG auf
default_search
.
gs://
-Präfix, z. B.:gs://sample-bucket-name
. Wenn angegeben, müssen Sie die Rolleroles/storage.objectViewer
für diesen Bucket dem Dienst-Agent für benutzerdefinierten Vertex-Erweiterungscode zuweisen.
HTTP-Methode und URL:
POST https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions:import
JSON-Text der Anfrage:
{ "displayName":"DISPLAY_NAME", "description":"DESCRIPTION", "manifest":{ "name":"code_interpreter_tool", "description":"A Google Code Interpreter tool", "apiSpec":{ "openApiGcsUri":"gs://vertex-extension-public/code_interpreter.yaml" }, "authConfig":{ "authType":"GOOGLE_SERVICE_ACCOUNT_AUTH", "googleServiceAccountConfig":{ "serviceAccount":"SERVICE_ACCOUNT" } } } "runtimeConfig": { "vertexAiSearchRuntimeConfig": { "servingConfigName": "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://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/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://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions:import" | Select-Object -Expand Content
Erweiterung ausführen
Sie können einen execute
-Vorgang an die Vertex AI API senden, um aussagekräftige Ergebnisse aus Ihrem Datenspeicher zu erhalten.
Dokumentsuche
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: ID Ihres Google Cloud-Projekts.
- REGION: Eine Compute Engine-Region.
- EXTENSION_ID: Die ID Ihrer Vertex AI Search-Erweiterung, die in den Erweiterungsdetails der Google Cloud Console aufgeführt ist.
HTTP-Methode und URL:
POST https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions/EXTENSION_ID:execute
JSON-Text der Anfrage:
{ "operation_id":"search", "operation_params":{ "query":"Housing affordability since 2010", } }
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://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/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://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions/EXTENSION_ID:execute" | Select-Object -Expand Content