Criar um app de pesquisa

Esta página descreve como criar um app de pesquisa.

Criar um app

Console

Para criar um app de pesquisa usando o console do Google Cloud, siga estas etapas:

  1. No Console do Google Cloud, acesse a página Criador de agentes.

    Agent Builder.

  2. Na página Apps, clique em Criar app.

  3. Na página Criar app, em Pesquisar no site, clique em Criar.

  4. Decida se você quer recursos Enterprise para este app e clique para ativar ou desativar. Ativar os recursos da edição Enterprise é necessário para ter recursos como a pesquisa de sites e a escolha de uma região para o app. Os recursos da edição Enterprise têm um custo adicional. Para mais informações, consulte Recursos da edição Enterprise.

  5. Decida se você quer recursos avançados de LLM para esse app e clique para ativar ou desativar. Ativar os recursos avançados de LLM é necessário para ter recursos como resumos de pesquisa ou pesquisa com perguntas complementares. Para mais informações, consulte Recursos avançados de LLM.

  6. No campo Nome do app, insira um nome para seu app.

  7. No campo Nome externo da sua empresa ou organização, insira o nome comum da empresa ou organização. Evite sufixos como Inc ou LLC. Esse campo ajuda o LLM a identificar a empresa que o app representa.

  8. Selecione um local para o app. Os recursos corporativos precisam estar ativados para escolher um local. O Google recomenda que você use o padrão global (Global), a menos que tenha um motivo para restringir seus dados a uma região geográfica específica.

  9. Clique em Continuar.

  10. Para se conectar a um repositório, na página Repositórios de dados, selecione um repositório criado anteriormente ou crie um novo.

    Escolha uma das seguintes opções:

    • Selecione um repositório de dados existente: se você anexar apenas um repositório de dados, não será possível removê-lo ou adicionar outros repositórios de dados ao app mais tarde. A vinculação de vários repositórios de dados permite que você atualize os repositórios vinculados mais tarde, mas o app sempre exige pelo menos dois repositórios de dados.
    • Crie um novo repositório de dados e faça a transferência de dados para ele:
      1. Clique em Criar repositório de dados e siga as etapas na página Criar um novo repositório de dados.
      2. Escolha o novo repositório de dados e clique em Selecionar. Para mais informações, consulte Criar um repositório de dados de pesquisa.

REST

Antes de usar a linha de comando para criar um app, é necessário ter um armazenamento de dados. Se você não tiver um repositório de dados, crie um seguindo as etapas em Criar um repositório de dados e ingerir dados para a Vertex AI para Pesquisa.

Para usar o método engines.create e criar um app de pesquisa na linha de comando, siga estas etapas:

  1. Encontre o ID do repositório de dados. Se você já tiver o ID do repositório de dados, pule para a próxima etapa.

    1. No console do Google Cloud, acesse a página Criador de agentes e, no menu de navegação, clique em Repositórios de dados.

      Acesse a página "Repositórios de dados"

    2. Clique no nome do seu repositório de dados.

    3. Na página Dados do seu repositório de dados, encontre o ID do repositório.

  2. Crie um app de pesquisa e conecte-o a um repositório de dados. Um repositório de dados pode ser anexado a apenas um app e não pode ser removido dele mais tarde.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines?engineId=APP_ID" \
    -d '{
      "displayName": "APP_DISPLAY_NAME",
      "dataStoreIds": ["DATA_STORE_ID"],
      "solutionType": "SOLUTION_TYPE_SEARCH",
      "industryVertical": "INDUSTRY_VERTICAL",
      "searchEngineConfig": {
         "searchTier": "SEARCH_TIER",
         "searchAddOns": ["SEARCH_ADD_ON"]
       }
    }'
    

    Substitua:

    • PROJECT_ID: o ID do projeto Google Cloud .
    • APP_ID: o ID do app da Vertex AI para Pesquisa que você quer criar.
    • APP_DISPLAY_NAME: o nome de exibição do app da Vertex AI para Pesquisa que você quer criar.
    • DATA_STORE_ID: o ID de um repositório de dados da Vertex AI para Pesquisa que você quer adicionar ao app Vertex AI para Pesquisa.
    • INDUSTRY_VERTICAL: a vertical do setor com que o app está associado. Esse campo pode receber os valores especificados em IndustryVertical. Para apps de pesquisa com vários repositórios de dados, também chamados de apps de pesquisa combinados, especifique esse campo como GENERIC.
    • SEARCH_TIER: o nível de pesquisa pode ser SEARCH_TIER_STANDARD ou SEARCH_TIER_ENTERPRISE. O SEARCH_TIER_ENTERPRISE é necessário para acessar recursos como a pesquisa em sites e a escolha de uma região para o app. Os recursos da edição Enterprise têm um custo extra. Para mais informações, consulte Recursos da edição Enterprise.
    • SEARCH_ADD_ON: se você quiser recursos avançados de LLM para este app, especifique SEARCH_ADD_ON_LLM. Os recursos avançados do LLM incluem resumos de pesquisa e pesquisa com acompanhamentos.

      Se você não quiser usar os recursos avançados do LLM, especifique SEARCH_ADD_ON_UNSPECIFIED ou remova o campo searchAddOns.

      Para mais informações, consulte Recursos avançados de LLM.

Python

Para mais informações, consulte a documentação de referência da API Python do Vertex AI Agent Builder.

Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

from typing import List

from google.api_core.client_options import ClientOptions
from google.cloud import discoveryengine_v1 as discoveryengine

# TODO(developer): Uncomment these variables before running the sample.
# project_id = "YOUR_PROJECT_ID"
# location = "YOUR_LOCATION" # Values: "global"
# engine_id = "YOUR_ENGINE_ID"
# data_store_ids = ["YOUR_DATA_STORE_ID"]


def create_engine_sample(
    project_id: str, location: str, engine_id: str, data_store_ids: List[str]
) -> str:
    #  For more information, refer to:
    # https://cloud.google.com/generative-ai-app-builder/docs/locations#specify_a_multi-region_for_your_data_store
    client_options = (
        ClientOptions(api_endpoint=f"{location}-discoveryengine.googleapis.com")
        if location != "global"
        else None
    )

    # Create a client
    client = discoveryengine.EngineServiceClient(client_options=client_options)

    # The full resource name of the collection
    # e.g. projects/{project}/locations/{location}/collections/default_collection
    parent = client.collection_path(
        project=project_id,
        location=location,
        collection="default_collection",
    )

    engine = discoveryengine.Engine(
        display_name="Test Engine",
        # Options: GENERIC, MEDIA, HEALTHCARE_FHIR
        industry_vertical=discoveryengine.IndustryVertical.GENERIC,
        # Options: SOLUTION_TYPE_RECOMMENDATION, SOLUTION_TYPE_SEARCH, SOLUTION_TYPE_CHAT, SOLUTION_TYPE_GENERATIVE_CHAT
        solution_type=discoveryengine.SolutionType.SOLUTION_TYPE_SEARCH,
        # For search apps only
        search_engine_config=discoveryengine.Engine.SearchEngineConfig(
            # Options: SEARCH_TIER_STANDARD, SEARCH_TIER_ENTERPRISE
            search_tier=discoveryengine.SearchTier.SEARCH_TIER_ENTERPRISE,
            # Options: SEARCH_ADD_ON_LLM, SEARCH_ADD_ON_UNSPECIFIED
            search_add_ons=[discoveryengine.SearchAddOn.SEARCH_ADD_ON_LLM],
        ),
        # For generic recommendation apps only
        # similar_documents_config=discoveryengine.Engine.SimilarDocumentsEngineConfig,
        data_store_ids=data_store_ids,
    )

    request = discoveryengine.CreateEngineRequest(
        parent=parent,
        engine=engine,
        engine_id=engine_id,
    )

    # Make the request
    operation = client.create_engine(request=request)

    print(f"Waiting for operation to complete: {operation.operation.name}")
    response = operation.result()

    # After the operation is complete,
    # get information from operation metadata
    metadata = discoveryengine.CreateEngineMetadata(operation.metadata)

    # Handle the response
    print(response)
    print(metadata)

    return operation.operation.name

Terraform

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform. Para mais informações, consulte a documentação de referência do provedor Terraform.

Para criar um app de pesquisa usando o Terraform, consulte discovery_engine_search_engine.

A seguir