Estensione Vertex AI Search

Questo documento mostra come registrarsi e utilizzare il servizio fornito da Google Estensione di Vertex AI Search dalla console Google Cloud e dall'API Vertex AI. Questa estensione consente di accedere ai corpus dei siti web e ai dati non strutturati ed effettuare ricerche al loro interno per risposte pertinenti a domande in linguaggio naturale, come:

  • "Come sono cambiate le minacce competitive per l'azienda rispetto al primo trimestre dell'ultimo trimestre rispetto al primo trimestre di quest'anno?"
  • "Quali componenti dell'azienda stanno crescendo più rapidamente? Quanto velocemente?".

L'estensione Vertex AI Search utilizza Vertex AI Search per recuperare risultati significativi dal datastore. La L'estensione Vertex AI Search è definita in un Specifica OpenAPI vertex_ai_search.yaml file.

Per utilizzare l'estensione Vertex AI Search, devi Crea un datastore nell'ambiente globale regione con un ambito di ricerca specificato. Per ottenere i migliori risultati di ricerca, attivare l'indicizzazione avanzata per i dati dei siti web e la versione Enterprise per e non strutturati. Consulta Informazioni sulle funzionalità avanzate per ulteriori informazioni.

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

    

Per scoprire di più sulle estensioni Google con tutorial end-to-end, consulta quanto segue. Blocchi note Jupyter:

  • Flusso di lavoro degli analisti aziendali con Vertex AI Extensions: utilizza l'estensione Interprete di codice e l'estensione Vertex AI Search per completare un report di ricerca sulle opportunità di investimento immobiliare per gli stakeholder aziendali.
    Colab | GitHub | Vertex AI Workbench
  • Flusso di lavoro di analisi delle recensioni dei giochi con le estensioni di Vertex AI: utilizza l'estensione Interprete di codice per analizzare le recensioni dei giochi da Steam. Utilizza l'estensione Vertex AI Search per riepilogare le recensioni dei giochi provenienti dai siti web. Utilizza l'estensione Interprete di codice per creare un report con tutti gli asset generati.
    Colab | GitHub | Vertex AI Workbench

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Attiva l'API Vertex AI.

    Abilita l'API

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

    Go to project selector

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Attiva l'API Vertex AI.

    Abilita l'API

Registra ed esegui l'estensione Vertex AI Search

Le seguenti sezioni spiegano come registrare il Estensione Vertex AI Search utilizzando la console Google Cloud e l'API Vertex AI. Dopo aver registrato l'estensione, puoi utilizzando l'API Vertex AI.

Console

Registrare l'estensione

Per registrare Vertex AI Search, esegui questi passaggi utilizzando la console Google Cloud.

  1. Nella console Google Cloud, vai a Vertex AI Estensioni.

    Vai alle estensioni di Vertex AI

  2. Fai clic su Crea estensione.

  3. Nella finestra di dialogo Crea una nuova estensione, compila i seguenti campi:

    • Nome estensione: inserisci un nome per l'estensione, ad esempio "vertex_search_extension".
    • (Facoltativo) Descrizione:inserisci una descrizione dell'estensione, ad esempio "Un'estensione di Vertex AI Search".
    • Tipo di estensione: seleziona Vertex AI search.
  4. Nella sezione File di specifica OpenAPI visualizzata, verifica che i seguenti campi siano impostati correttamente:

    • Nome API: vertex_ai_search.
    • Descrizione API: Performs search on user ingested data including website and unstructured data type...
    • Fonte: Cloud Storage.
    • Specifiche OpenAPI: vertex-extension-public/vertex_ai_search.yaml.
    • Autenticazione: Google service account.
  5. Nella sezione Configurazioni di runtime, specifica una configurazione di pubblicazione. . Il nome della configurazione di pubblicazione è specificato nel vertexAiSearchRuntimeConfig. Viene formattato e completato nel seguente modo: projects/PROJECT_ID/locations/global/collections/COLLECTION_NAME/engines/ENGINE/servingConfigs/SERVING_CONFIG

    • Imposta COLLECTION_NAME su default_collection.
    • Imposta ENGINE sull'ID applicazione ricevuto al momento della creazione l'applicazione di ricerca. Per saperne di più, vedi Creare un'app di ricerca per i dati dei siti web.
    • Imposta SERVING_CONFIG su default_search.
  6. Fai clic su Crea estensione.

REST

Registrare l'estensione

Invia un'API Vertex AI extensions.import per registrare l'estensione Vertex AI Search.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud.
  • REGION: una regione di Compute Engine.
  • DISPLAY_NAME: il nome mostrata agli utenti, ad esempio "my_search_extension".
  • DESCRIPTION: (facoltativo) l'estensione description mostrato agli utenti, ad esempio "Un'estensione di ricerca".
  • SERVICE_ACCOUNT: (facoltativo) l'estensione Vertex AI Search utilizza GOOGLE_SERVICE_ACCOUNT_AUTH come mostrato nel corpo della richiesta di esempio. Se non specifichi un account di servizio, l'estensione utilizza il valore predefinito Agente di servizio estensione Vertex AI l'account di servizio. Se specifichi un account di servizio diverso, concedi la iam.serviceAccounts.getAccessToken all'account di servizio dell'agente di servizio estensione Vertex AI nell'account di servizio specificato.
  • SERVING_CONFIG_NAME: il nome della configurazione di pubblicazione è specificato nel vertexAiSearchRuntimeConfig. Viene formattato e completato nel seguente modo: projects/PROJECT_ID/locations/global/collections/COLLECTION_NAME/engines/ENGINE/servingConfigs/SERVING_CONFIG.
    • PROJECT_ID: l'ID del tuo progetto Google Cloud.
    • Imposta COLLECTION_NAME su default_collection.
    • ENGINE: l'ID applicazione ricevuto al momento della creazione dell'applicazione di ricerca. Per scoprire di più, consulta Creare un'app di ricerca per i dati dei siti web.
    • Imposta SERVING_CONFIG su default_search.
    La Bucket Cloud Storage che l'estensione utilizzerà per leggere i file di input, incluso il prefisso gs://, ad esempio gs://sample-bucket-name. Se specificato, devi assegnare il valore roles/storage.objectViewer per questo bucket all'agente di servizio del codice personalizzato di Vertex Extension.

Metodo HTTP e URL:

POST https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions:import

Corpo JSON della richiesta:

{
  "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",
     }
  }
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

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

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

$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

Esegui l'estensione

Puoi inviare un'operazione execute all'API Vertex AI per ottenere risultati significativi dal datastore.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud.
  • REGION: una regione di Compute Engine.
  • EXTENSION_ID: l'ID della tua estensione Vertex AI Search elencato in Dettagli dell'estensione nella console Google Cloud.

Metodo HTTP e URL:

POST https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions/EXTENSION_ID:execute

Corpo JSON della richiesta:

{
  "operation_id":"search",
  "operation_params":{
    "query":"Housing affordability since 2010",
  }
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

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

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

$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