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 AI Applications.

    Aplicaciones basadas en IA

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

  3. En la página Crear app, en Búsquedas en el sitio con el Modo IA, haz clic en Crear.

  4. Decide si quieres usar las funciones de Enterprise para esta app y, luego, haz clic en el botón de activación para activarlas o desactivarlas. Se deben activar las funciones de la edición Enterprise para obtener funciones como la búsqueda de sitios web y la elección de una región para tu app. Las funciones de la edición Enterprise generan costos adicionales. Para obtener más información, consulta Funciones de la edición Enterprise.

  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 habilitarlas o inhabilitarlas. Para obtener funciones como los resúmenes de búsqueda o la búsqueda con seguimiento, debes activar las funciones avanzadas de LLM. Para obtener más información, consulta Funciones avanzadas basadas en 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 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 (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 adjuntas solo un almacén de datos, no podrás quitarlo ni agregar otros almacenes de datos 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.
    • Crea un almacén de datos nuevo y, luego, ingiere datos en él:
      1. Haz clic en Crear almacén de datos y sigue los pasos de la página Crea 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 Crea 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 para 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 AI Applications y, en el menú de navegación, haz clic en Data Stores.

      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 solo se puede adjuntar a una app y no se puede quitar de ella 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": "GENERIC",
      "searchEngineConfig": {
         "searchTier": "SEARCH_TIER",
         "searchAddOns": ["SEARCH_ADD_ON"]
       }
    }'
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID de tu 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 deseas agregar a la app de Vertex AI Search.
    • SEARCH_TIER: El nivel de búsqueda puede ser SEARCH_TIER_STANDARD o SEARCH_TIER_ENTERPRISE. SEARCH_TIER_ENTERPRISE es necesario para obtener funciones como la búsqueda de sitios web y la elección de una región para tu app. Las funciones de la edición Enterprise generan costos adicionales. Para obtener más información, consulta Funciones de la edición Enterprise.
    • 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 seguimiento.

      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 AI Applications Python.

Para autenticarte en AI Applications, 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?