Criar um app de pesquisa

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

Criar um app

Console

Para usar o console do Google Cloud e criar um app de pesquisa, 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 seu site, clique em Criar.

  4. Defina 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 pesquisa de sites e escolher uma região para o app. Os recursos da edição Enterprise têm custos adicionais. Para mais informações, consulte Recursos da edição Enterprise.

  5. Decida se você quer recursos avançados do LLM para esse app e clique para ativar ou desativar.

    É necessário ativar os recursos avançados do LLM para ter recursos como resumos de pesquisa ou pesquisa com acompanhamentos. 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. Não é necessário incluir sufixos como Inc ou LLC. Esse campo é útil para que o LLM identifique a empresa que o app representa.

  8. Selecione um local para o app. Os recursos empresariais precisam estar ativados para escolher um local. O Google recomenda o uso da configuração padrão, global (Global), a menos que você 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 de dados, na página Repositórios de dados, selecione um repositório criado anteriormente ou crie um novo.

    Faça pelo menos uma das seguintes ações:

    • Selecione um repositório de dados.

      Se você anexar apenas um repositório de dados, não será possível removê-lo ou adicionar outros repositórios a esse app mais tarde. Se você anexar vários repositórios de dados, poderá mudar quais deles são anexados mais tarde, mas esse app precisa sempre ter pelo menos dois repositórios de dados anexados.

    • Crie um novo repositório de dados e faça a ingestão de dados nele.

      Para isso, clique em Criar repositório de dados e siga as etapas no painel Criar um novo repositório de dados que é aberto. Em seguida, selecione o novo repositório de dados. Para mais informações, consulte Criar um repositório de dados de pesquisa.

  11. Opcional: para conferir uma lista de repositórios de dados indisponíveis, clique em Saiba por quê.

    Uma tabela é mostrada com uma lista de repositórios de dados e o motivo de eles não estarem disponíveis. Confira alguns motivos pelos quais um repositório de dados pode estar indisponível:

    • O tipo de repositório de dados permite a conexão com apenas um app, e o repositório já está conectado.
    • O repositório de dados e o app estão em regiões diferentes.
    • O repositório de dados e o app são de tipos diferentes. Por exemplo, não é possível conectar um repositório de dados de pesquisa de saúde a um app de pesquisa de sites.
    • Seu repositório de dados tem pesquisa básica no site, enquanto o app de pesquisa no site exige um repositório de dados com indexação avançada de sites.
  12. Clique em Criar.

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",
      "searchEngineConfig": {
         "searchTier": "SEARCH_TIER",
         "searchAddOns": ["SEARCH_ADD_ON"]
       }
    }'
    

    Substitua:

    • PROJECT_ID: o ID do seu projeto do 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.
    • 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