Criar um app de pesquisa

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

Criar um app

Console

Se quiser usar o console do Google Cloud para 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, selecione Procurar.

  4. Se aparecer a opção de conteúdo genérico ou de mídia, clique em Genérico.

  5. 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.

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

    É necessário ativar os recursos avançados do LLM para ter acesso a recursos como resumos de pesquisa ou pesquise com acompanhamentos. Para mais informações, consulte Recursos avançados de LLM.

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

  8. 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. Este campo é útil para o LLM identificar a empresa que o aplicativo representa.

  9. Selecione um local para o app. Os recursos empresariais precisam estar ativados para escolher um local. O Google recomenda o uso da configuração global (Global), a menos que você tenha um motivo para restringir seus dados a uma e geografia.

  10. Clique em Continuar.

  11. Para se conectar a um repositório de dados, selecione uma opção na página Repositórios de dados. que você criou anteriormente ou criar um novo repositório de dados.

    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 Crie um repositório de dados e siga as etapas da página Criar um novo repositório de dados que será aberto. Em seguida, selecione o novo repositório de dados. Para mais informações, consulte Criar um repositório de dados de pesquisa.

  12. Opcional: para conferir uma lista dos repositórios de dados indisponíveis, clique em Saiba o motivo.

    Uma tabela é exibida com uma lista de repositórios de dados e a razão pela qual eles são indisponível. Estes são alguns dos motivos pelos quais um repositório de dados pode ser indisponível:

    • Seu tipo de repositório de dados permite a conexão a apenas um app e aos dados store já está conectada.
    • 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.
  13. Clique em Criar.

REST

Antes de usar a linha de comando para criar um app, você precisa ter um bucket de dados loja on-line. 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.

      Acessar 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 depois.

    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 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 Enterprise recursos da edição.
    • SEARCH_ADD_ON: se você quiser recursos avançados do LLM para esse app e especifique SEARCH_ADD_ON_LLM. Os recursos avançados do LLM incluem resumos de pesquisa e pesquise 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