Questo documento mostra come registrare e utilizzare l'estensione di Vertex AI Search fornita da Google dalla console Google Cloud e dall'API Vertex AI. Questa estensione ti consente di accedere e cercare corpus di siti web e dati non strutturati per fornire risposte pertinenti a domande in linguaggio naturale, ad esempio:
- "Come sono cambiate le minacce della concorrenza per l'azienda dal primo trimestre dell'anno scorso al primo trimestre di quest'anno?"
- "Quali parti dell'azienda stanno crescendo più rapidamente? A che velocità?"
L'estensione Vertex AI Search utilizza
Vertex AI Search
per recuperare risultati significativi dal tuo datastore. L'estensione
Vertex AI Search è definita in un file
di specifica OpenAPI
vertex_ai_search.yaml
.
Per utilizzare l'estensione Vertex AI Search, devi creare un datastore nella regione globale con un ambito di ricerca specificato. Per risultati di ricerca ottimali, attiva l'indicizzazione avanzata per i dati dei siti web e la versione Enterprise per i dati non strutturati. Per saperne di più, consulta la sezione Informazioni sulle funzionalità avanzate.
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 i seguenti notebook Jupyter:
- Flusso di lavoro dell'analista aziendale con le estensioni di Vertex AI: utilizza l'estensione Code Interpreter 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 di giochi con le estensioni di Vertex AI: utilizza l'estensione Code Interpreter per analizzare le recensioni di giochi di Steam. Utilizza l'estensione Vertex AI Search per riassumere le recensioni dei giochi dai siti web. Utilizza l'estensione Code Interpreter per creare un report con tutti gli asset generati.
Colab | GitHub | Vertex AI Workbench
Prima di iniziare
- 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.
Nella console Google Cloud , vai alla pagina Estensioni di Vertex AI.
Fai clic su Crea estensione.
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".
- Descrizione: (facoltativo) inserisci una descrizione dell'estensione, ad esempio "Un'estensione di ricerca di Vertex AI".
- Tipo di estensione:seleziona
Vertex AI search
.
Nella sezione File di specifica OpenAPI ora visualizzata, verifica che i seguenti campi siano impostati correttamente:
- Nome API:
vertex_ai_search
. - Descrizione dell'API:
Performs search on user ingested data including website and unstructured data type...
- Fonte:
Cloud Storage
. - Specifica OpenAPI:
vertex-extension-public/vertex_ai_search.yaml
. - Autenticazione:
Google service account
.
- Nome API:
Nella sezione Configurazioni di runtime, fornisci un nome per la configurazione del servizio. Il nome della configurazione di pubblicazione è specificato in vertexAiSearchRuntimeConfig. È formattato e compilato come segue:
projects/PROJECT_ID/locations/global/collections/COLLECTION_NAME/engines/ENGINE/servingConfigs/SERVING_CONFIG
- Imposta COLLECTION_NAME su
default_collection
. - Imposta ENGINE sull'ID applicazione che hai ricevuto quando hai creato l'applicazione di ricerca. Per scoprire di più, vedi Creare un'app di ricerca per i dati di un sito web.
- Imposta SERVING_CONFIG su
default_search
.
- Imposta COLLECTION_NAME su
Fai clic su Crea estensione.
- PROJECT_ID: l'ID del tuo Google Cloud progetto.
- REGION: una regione Compute Engine.
- DISPLAY_NAME: l'estensione name visualizzata dagli utenti, ad esempio "my_search_extension".
- DESCRIPTION: (facoltativo) la descrizione dell'estensione visualizzata dagli 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 account di servizio
agente di servizio delle estensioni di Vertex AI
predefinito. Se specifichi un account di servizio diverso, concedi l'autorizzazione
iam.serviceAccounts.getAccessToken
al account di servizio Vertex AI Extension Service Agent sul account di servizio specificato. - SERVING_CONFIG_NAME: il nome della configurazione di pubblicazione è specificato in
vertexAiSearchRuntimeConfig.
È 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 Google Cloud progetto.
- Imposta COLLECTION_NAME su
default_collection
. - ENGINE: l'ID applicazione che hai ricevuto quando hai creato l'applicazione di ricerca. Per scoprire di più, consulta Creare un'app di ricerca per i dati di un sito web.
- Imposta SERVING_CONFIG su
default_search
.
- PROJECT_ID: l'ID del tuo Google Cloud progetto.
- REGION: una regione Compute Engine.
- EXTENSION_ID: l'ID dell'estensione Vertex AI Search elencata in Dettagli estensione nella console Google Cloud .
Registra ed esegui l'estensione Vertex AI Search
Le sezioni seguenti mostrano come registrare l'estensione Vertex AI Search utilizzando la console Google Cloud e l'API Vertex AI. Dopo aver registrato l'estensione, puoi eseguirla utilizzando l'API Vertex AI.
Console
Registrare l'estensione
Per registrare l'estensione Vertex AI Search utilizzando la console Google Cloud , segui questi passaggi.
REST
Registrare l'estensione
Invia una richiesta all'API Vertex AI
extensions.import
per registrare l'estensione Vertex AI Search.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
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":"vertex_ai_search_tool", "description":"A Vertex AI Search tool", "apiSpec":{ "openApiGcsUri":"gs://vertex-extension-public/vertex_ai_search.yaml" }, "authConfig":{ "authType":"GOOGLE_SERVICE_ACCOUNT_AUTH", "googleServiceAccountConfig":{ "serviceAccount":"SERVICE_ACCOUNT" } } } "runtimeConfig": { "vertexAiSearchRuntimeConfig": { "servingConfigName": "SERVING_CONFIG_NAME", } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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
,
quindi esegui il comando seguente:
$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
Eseguire l'estensione
Puoi inviare un'operazione execute
all'API Vertex AI
per ottenere risultati significativi dal tuo datastore.
Ricerca documento
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
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 di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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
,
quindi esegui il comando seguente:
$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