Cómo crear una app de búsqueda

En esta página, se describe cómo crear una app de búsqueda.

Crea una app

Console

Si quieres usar la consola de Google Cloud para crear una app de búsqueda, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Agent Builder.

    Agent Builder

  2. En la página Apps, haz clic en Crear app.

  3. En la página Crear app, selecciona Búsqueda.

  4. Si se te ofrece una opción de contenido genérico o multimedia, haz clic en Genérico.

  5. Decide si quieres usar las funciones de Enterprise para esta app y, luego, haz clic en el activar o desactivar.

    Para obtener funciones como la búsqueda de sitios web y elegir una región para tu app, debes activar las funciones de la edición Enterprise. Estas funciones incurren en un costo adicional. Para obtener más información, consulta Funciones de la edición empresarial.

  6. Decide si quieres usar las funciones avanzadas de LLM para esta app y, luego, haz clic en el botón para activarlas o desactivarlas.

    Se requiere activar las funciones avanzadas de LLM para obtener funciones como las siguientes: resúmenes de búsquedas búsqueda con seguimientos. Para obtener más información, consulta Funciones avanzadas de LLM.

  7. En el campo Nombre de tu app, ingresa un nombre para tu app.

  8. En el campo Nombre externo de tu organización o empresa, ingresa el nombre común de tu organización o empresa. No es necesario que incluyas sufijos, como Inc. o LLC. Este campo es útil para que el LLM identifique la empresa a la que representa la app.

  9. Selecciona una ubicación para tu app. Las funciones empresariales deben estar activadas para elegir una ubicación. Google recomienda que uses la opción predeterminada, global, a menos que tengas un motivo para restringir tus datos a una ubicación geográfica en particular.

  10. Haga clic en Continuar.

  11. Para conectarte a un almacén de datos, en la página Almacenes de datos, selecciona un almacén de datos. o un almacén de datos nuevo.

    Realiza al menos una de las siguientes acciones:

    • Selecciona un almacén de datos existente.

      Si conectas solo un almacén de datos, no puedes quitarlo ni agregar otros almacenes de datos a esta app más adelante. Si conectas varios almacenes de datos, Puedes cambiar qué almacenes de datos se adjuntarán más adelante, pero esta app debe tener siempre al menos dos almacenes de datos adjuntos.

    • Crea un almacén de datos nuevo y transfiere datos a él.

      Para ello, haz clic en Crear almacén de datos y sigue los pasos que se indican en el panel Crear un almacén de datos que se abre. Luego, selecciona tu almacén de datos nuevo. Para ver más información, consulta Crea un almacén de datos de búsqueda.

  12. Opcional: Para ver una lista de los almacenes de datos no disponibles, haz clic en Descubre por qué.

    Se muestra una tabla con una lista de los almacenes de datos y el motivo por el que no están disponibles. Estos son algunos de los motivos por los que un almacén de datos podría no estar disponible:

    • Tu tipo de almacén de datos permite la conexión a una sola app y a los datos la tienda ya está conectada.
    • Tu almacén de datos y tu app se encuentran en regiones diferentes.
    • Tu almacén de datos y tu app son de diferentes tipos. Por ejemplo, no puedes conectar un almacén de datos de búsqueda de atención médica a una app de búsqueda de sitios web.
    • Tu almacén de datos tiene una búsqueda básica de sitios web, mientras que tu app de búsqueda en sitios web requiere un almacén de datos con indexación avanzada de sitios web.
  13. Haz clic en Crear.

REST

Antes de usar la línea de comandos para crear una app, debes tener un almacén de datos existente. Si no tienes un almacén de datos, crea uno siguiendo los pasos que se indican en Crea un almacén de datos y transfiere datos a Vertex AI Search.

Sigue estos pasos para crear una app de búsqueda a partir del método engines.create: la línea de comandos, sigue estos pasos:

  1. Busca el ID del almacén de datos. Si ya tienes un almacén de datos continúe con el siguiente paso.

    1. En la consola de Google Cloud, ve a la página Agent Builder y En el menú de navegación, haz clic en Almacenes de datos.

      Ir a la página Almacenes de datos

    2. Haz clic en el nombre de tu almacén de datos.

    3. En la página Datos de tu almacén de datos, obtén el ID del almacén de datos.

  2. Crea una app de búsqueda y conéctala a un almacén de datos. Un almacén de datos se puede conectar a una sola app y no se puede quitar de la app más adelante.

    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"]
       }
    }'
    

    Reemplaza lo siguiente:

    • PROJECT_ID: El ID del proyecto de Google Cloud.
    • APP_ID: Es el ID de la app de Vertex AI Search que deseas crear.
    • APP_DISPLAY_NAME: Es el nombre visible de la app de Vertex AI Search que deseas crear.
    • DATA_STORE_ID: Es el ID de un almacén de datos de Vertex AI Search existente que quieres agregar a la app de Vertex AI Search.
    • SEARCH_TIER: El nivel de búsqueda puede ser SEARCH_TIER_STANDARD o SEARCH_TIER_ENTERPRISE. Se requiere SEARCH_TIER_ENTERPRISE para obtener funciones como como la búsqueda de sitios web y elegir una región para tu app. Edición Enterprise estas funciones generan un costo adicional. Para obtener más información, consulta Enterprise de la edición de Google Ads.
    • SEARCH_ADD_ON: Si quieres funciones avanzadas de LLM para esta app; luego, especifica SEARCH_ADD_ON_LLM. Las funciones avanzadas de LLM incluyen resúmenes de búsquedas y búsqueda con seguimientos.

      Si no quieres usar las funciones avanzadas de LLM, especifica SEARCH_ADD_ON_UNSPECIFIED o quita el campo searchAddOns.

      Para obtener más información, consulta Funciones avanzadas de LLM.

Python

Para obtener más información, consulta la API de Python de Vertex AI Agent Builder documentación de referencia.

Para autenticarte en Vertex AI Agent Builder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform. Para obtener más información, consulta la documentación de referencia del proveedor de Terraform.

Para crear una app de búsqueda con Terraform, consulta discovery_engine_search_engine.

¿Qué sigue?