Este documento mostra como registar e usar a extensão do Vertex AI Search fornecida pela Google a partir da consola Google Cloud e da API Vertex AI. Esta extensão permite-lhe aceder e pesquisar conjuntos de dados de Websites e dados não estruturados para fornecer respostas relevantes a perguntas de linguagem natural, como:
- "Como mudaram as ameaças competitivas para a empresa do 1.º trimestre do ano passado para o 1.º trimestre deste ano?"
- "Que partes da empresa estão a crescer mais rapidamente? A que velocidade?"
A extensão Vertex AI Search usa o
Vertex AI Search
para obter resultados significativos da sua base de dados. A extensão de pesquisa do Vertex AI está definida num ficheiro de especificação OpenAPI
vertex_ai_search.yaml
.
Para usar a extensão Vertex AI Search, tem de criar um repositório de dados na região global com um âmbito de pesquisa especificado. Para os melhores resultados de pesquisa, ative a indexação avançada para dados de Websites e a edição Enterprise para dados não estruturados. Consulte o artigo Acerca das funcionalidades avançadas para mais informações.
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
Para saber mais sobre as extensões Google com tutoriais completos, consulte os seguintes cadernos Jupyter:
- Fluxo de trabalho do analista de negócios com as extensões da Vertex AI: use a extensão do intérprete de código e a extensão da Vertex AI Search para concluir um relatório de pesquisa de oportunidades de investimento imobiliário para as partes interessadas da empresa.
Colab | GitHub | Vertex AI Workbench - Fluxo de trabalho de análise de críticas de jogos com extensões do Vertex AI: use a extensão Code Interpreter para analisar críticas de jogos do Steam. Use a extensão Vertex AI Search para resumir críticas de jogos de Websites. Use a extensão Code Interpreter para criar um relatório com todos os recursos gerados.
Colab | GitHub | Vertex AI Workbench
Antes de começar
- 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. Na Google Cloud consola, aceda à página Vertex AI Extensions.
Clique em Criar extensão.
Na caixa de diálogo Criar uma nova extensão, preencha os seguintes campos:
- Nome da extensão: introduza um nome para a extensão, como "vertex_search_extension".
- Descrição: (opcional) introduza uma descrição da extensão, como "Uma extensão de pesquisa da Vertex AI".
- Tipo de extensão: selecione
Vertex AI search
.
Na secção Ficheiro de especificação OpenAPI que é apresentada, confirme se os seguintes campos estão definidos corretamente:
- Nome da API:
vertex_ai_search
. - Descrição da API:
Performs search on user ingested data including website and unstructured data type...
- Fonte:
Cloud Storage
. - Especificação OpenAPI:
vertex-extension-public/vertex_ai_search.yaml
. - Autenticação:
Google service account
.
- Nome da API:
Na secção Configurações de tempo de execução, indique um nome para a configuração de envio. O nome da configuração de publicação é especificado em vertexAiSearchRuntimeConfig. É formatado e preenchido da seguinte forma:
projects/PROJECT_ID/locations/global/collections/COLLECTION_NAME/engines/ENGINE/servingConfigs/SERVING_CONFIG
- Defina COLLECTION_NAME como
default_collection
. - Defina ENGINE para o ID da aplicação que recebeu quando criou a sua aplicação de pesquisa. Para saber mais, consulte o artigo Crie uma app de pesquisa para dados do Website.
- Defina SERVING_CONFIG como
default_search
.
- Defina COLLECTION_NAME como
Clique em Criar extensão.
- PROJECT_ID: o ID do seu projeto Google Cloud .
- REGION: Uma região do Compute Engine.
- DISPLAY_NAME: o nome da extensão apresentado aos utilizadores, como "my_search_extension".
- DESCRIPTION: (Opcional) A descrição apresentada aos utilizadores, como "Uma extensão de pesquisa".
- SERVICE_ACCOUNT: (Opcional) A extensão Vertex AI Search
usa GOOGLE_SERVICE_ACCOUNT_AUTH
, conforme mostrado no corpo do pedido de exemplo. Se não especificar uma conta de serviço, a extensão usa a conta de serviço
Vertex AI Extension Service Agent
predefinida. Se especificar uma conta de serviço diferente, conceda a autorização
iam.serviceAccounts.getAccessToken
à conta de serviço do agente do serviço de extensão do Vertex AI na conta de serviço especificada. - SERVING_CONFIG_NAME: o nome da configuração de publicação é especificado em
vertexAiSearchRuntimeConfig.
É formatado e preenchido da seguinte forma:
projects/PROJECT_ID/locations/global/collections/COLLECTION_NAME/engines/ENGINE/servingConfigs/SERVING_CONFIG
.- PROJECT_ID: o ID do seu projeto Google Cloud .
- Defina COLLECTION_NAME como
default_collection
. - ENGINE: o ID da aplicação que recebeu quando criou a sua aplicação de pesquisa. Para saber mais, consulte o artigo Crie uma app de pesquisa para dados do Website.
- Defina SERVING_CONFIG como
default_search
.
- PROJECT_ID: o ID do seu projeto Google Cloud .
- REGION: Uma região do Compute Engine.
- EXTENSION_ID: O ID da sua extensão do Vertex AI Search indicado nos Detalhes da extensão na Google Cloud consola.
Registe e execute a extensão Vertex AI Search
As secções seguintes mostram como registar a extensão do Vertex AI Search através da Google Cloud consola e da API Vertex AI. Depois de registar a extensão, pode executá-la através da API Vertex AI.
Consola
Registe a extensão
Execute os passos seguintes para registar a extensão do Vertex AI Search através da consola. Google Cloud
REST
Registe a extensão
Envie um pedido da API Vertex AI
extensions.import
para registar a extensão do Vertex AI Search.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
Método HTTP e URL:
POST https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions:import
Corpo JSON do pedido:
{ "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", } } }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Execute a extensão
Pode enviar uma operação execute
para a API Vertex AI
para obter resultados significativos do seu arquivo de dados.
Pesquisa de documentos
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
Método HTTP e URL:
POST https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions/EXTENSION_ID:execute
Corpo JSON do pedido:
{ "operation_id":"search", "operation_params":{ "query":"Housing affordability since 2010", } }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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