Vertex AI Search-Erweiterung

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

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the 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.

  1. Rufen Sie in der Google Cloud Console die Seite „Vertex AI Extensions“ auf.

    Zu „Vertex AI Extensions“

  2. Klicken Sie auf Erweiterung erstellen.

  3. 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.
  4. 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.
  5. 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.
  6. 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.
    Der Cloud Storage-Bucket, der von der Erweiterung zum Lesen von Eingabedateien verwendet wird, einschließlich des gs://-Präfix, z. B.: gs://sample-bucket-name. Wenn angegeben, müssen Sie die Rolle roles/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.

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