Crea una app de búsqueda

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

Crea una app

Console

Para crear una app de búsqueda con la consola de Google Cloud, 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, en Busca tu sitio web, haz clic en Crear.

  4. Decide si deseas usar las funciones de Enterprise para esta app y, luego, haz clic en el botón de activación para activarlas o desactivarlas. Para obtener funciones como la búsqueda en 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.

  5. Decide si quieres usar las funciones avanzadas de LLM para esta app y, luego, haz clic en el botón de activación para activarlas o desactivarlas. Activar las funciones avanzadas de LLM es necesario para obtener funciones como resúmenes de búsqueda o búsqueda con preguntas adicionales. Para obtener más información, consulta Funciones avanzadas de LLM.

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

  7. En el campo Nombre externo de tu organización o empresa, ingresa el nombre común de tu organización o empresa. Evita los sufijos como Inc. o LLC. Este campo ayuda al LLM a identificar la empresa que representa la app.

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

  9. Haz clic en Continuar.

  10. Para conectarte a un almacén de datos, en la página Almacenes de datos, selecciona un almacén de datos que hayas creado anteriormente o crea uno nuevo.

    Elige una de las siguientes opciones:

    • Selecciona un almacén de datos existente: Si solo conectas un almacén de datos, no podrás quitarlo ni agregar otros a la app más adelante. Si adjuntas varios almacenes de datos, podrás actualizarlos más adelante, pero la app siempre requiere al menos dos almacenes de datos.
    • Crear un almacén de datos nuevo y transferir datos a él:
      1. Haz clic en Crear almacén de datos y sigue los pasos que se indican en la página Crear un almacén de datos nuevo.
      2. Elige tu almacén de datos nuevo y haz clic en Seleccionar. Para obtener más información, consulta Cómo crear un almacén de datos de búsqueda.

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.

Para usar el método engines.create y crear una app de búsqueda desde la línea de comandos, sigue estos pasos:

  1. Busca el ID de tu almacén de datos. Si ya tienes el ID del almacén de datos, ve al 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.

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

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID de tu Google Cloud proyecto.
    • APP_ID: 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.
    • INDUSTRY_VERTICAL: Es la vertical de la industria con la que está asociada la app. Este campo puede tener los valores especificados en IndustryVertical. En el caso de las apps de búsqueda con varios almacenes de datos, también llamadas apps de búsqueda combinadas, debes especificar este campo como GENERIC.
    • 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 la búsqueda de sitios web y elegir una región para tu app. Las funciones de la edición de Enterprise incurren en un costo adicional. Para obtener más información, consulta Funciones de la edición para empresas.
    • SEARCH_ADD_ON: Si deseas usar las funciones avanzadas de LLM para esta app, especifica SEARCH_ADD_ON_LLM. Las funciones avanzadas de LLM incluyen resúmenes de búsqueda y búsqueda con preguntas adicionales.

      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 documentación de referencia de la API de Python del compilador de agentes de Vertex AI.

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?