Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Utiliza las extensiones Vertex IA para queries MongoDB en lenguaje natural

Nota

Vertex AI Extensions están en vista previa y sujetos a cambios. Comuníquese con su representante de Google Cloud para obtener información sobre cómo acceder a esta funcionalidad.

Además de usar Vertex AI con MongoDB Vector Search para implementar RAG, puede usar Extensiones de Vertex IA Para personalizar aún más la interacción con Atlas mediante los modelos de Vertex AI. En este tutorial, creará una extensión de Vertex AI que le permitirá consultar sus datos en Atlas en tiempo real mediante lenguaje natural.

Diagrama del flujo de trabajo con Vertex IA Extensions y MongoDB Atlas
haga clic para ampliar

Este tutorial utiliza los siguientes componentes para habilitar la consulta en lenguaje natural con Atlas:

  • SDK de Google Cloud Vertex AI para gestionar modelos de IA y habilitar extensiones personalizadas para Vertex AI. Este tutorial utiliza el 1.5 modelo Gemini Pro.

  • Google Cloud Run para implementar una función que sirva como un endpoint API entre Vertex IA y Atlas.

  • Especificación OpenAPI 3 para API de MongoDB para definir cómo se asignan las consultas en lenguaje natural a operaciones de MongoDB. Para obtener más información, consulte Especificación OpenAPI.

  • Vertex AI Extensions para habilitar la interacción en tiempo real con Atlas desde Vertex AI y configurar cómo se procesan las consultas en lenguaje natural.

  • Google Cloud Secrets Manager para almacenar tus claves API de MongoDB.

Nota

Para obtener instrucciones detalladas sobre el código y la configuración, consulta el repositorio de GitHub de este ejemplo.

Antes de empezar, debe contar con lo siguiente:

  • Una cuenta de MongoDB Atlas. Para registrarte, utiliza Google Cloud Marketplace o Registrarse para una nueva cuenta.

  • Un clúster de Atlas con el dataset de muestra cargado. Para obtener más información, consulte Crear un clúster.

  • Un proyectode Google Cloud

  • Un bucket de almacenamiento en Google Cloud para almacenar la especificación OpenAPI.

  • Las siguientes API están habilitadas para su proyecto:

    • API de Cloud Build

    • nube Functions API

    • nube Logging API

    • API de Nube Pub/Sub

  • Un entorno Colab Enterprise.

En esta sección, creará una función de Google Cloud Run que actúa como punto final de API entre Vertex AI Extension y su clúster Atlas. Esta función gestiona la autenticación, se conecta a su clúster Atlas y realiza operaciones de base de datos según las solicitudes de Vertex AI.

1

En la consola de Google Cloud, abre la página Cloud Run y haz clic Write a function.

2
  1. Especifique un nombre de función y una región de Google Cloud donde desea implementar su función.

  2. Seleccione la última versión Python disponible como Runtime.

  3. En el Authentication section, selecciona Allow unauthenticated invocations.

  4. Utiliza los valores por defecto para la configuración restante y luego haz clic en Next.

Para obtener pasos detallados de configuración, consulta la documentación de Cloud Run.

3

Pega el siguiente código en sus respectivos archivos:

4
  1. Cambie el nombre de Entry Point a mongodb_crud.

  2. Haz clic en Deploy para implementar la función.

  3. Copie y almacene el punto final HTTPS para activar la función en la nube localmente.

  4. Navegue hasta la página Details de la función y copie y almacene el nombre de la cuenta de servicio utilizada por la función.

En esta sección, creas una Extensión Vertex IA que permite hacer consultas en lenguaje natural sobre tus datos en Atlas utilizando Gemini 1.5 Modelo Pro. Esta extensión utiliza una especificación OpenAPI y la función Cloud Run que creaste para mapear el lenguaje natural a operaciones de base de datos y consultar tus datos en Atlas.

Para implementar esta extensión, se utiliza un notebook interactivo de Python, que permite ejecutar fragmentos de código Python de manera individual. Para este tutorial, crea un cuaderno llamado mongodb-vertex-ai-extension.ipynb en un entorno de Colab Enterprise.

Copia y pega el siguiente código en tu cuaderno.

1
  1. Autentica tu cuenta de Google Cloud y configura el ID del proyecto.

    from google.colab import auth
    auth.authenticate_user("GCP project id")
    !gcloud config set project {"GCP project id"}
  2. Instale las dependencias necesarias.

    !pip install --force-reinstall --quiet google_cloud_aiplatform
    !pip install --force-reinstall --quiet langchain==0.0.298
    !pip install --upgrade google-auth
    !pip install bigframes==0.26.0
  3. Reinicie el kernel.

    import IPython
    app = IPython.Application.instance()
    app.kernel.do_shutdown(True)
  4. Establece las variables de entorno.

    Reemplace los valores de muestra con los valores correctos que correspondan a su proyecto.

    import os
    # These are sample values; replace them with the correct values that correspond to your project
    os.environ['PROJECT_ID'] = 'gcp project id' # GCP Project ID
    os.environ['REGION'] = "us-central1" # Project Region
    os.environ['STAGING_BUCKET'] = "gs://vertexai_extensions" # GCS Bucket location
    os.environ['EXTENSION_DISPLAY_HOME'] = "MongoDb Vertex API Interpreter" # Extension Config Display Name
    os.environ['EXTENSION_DESCRIPTION'] = "This extension makes api call to mongodb to do all crud operations" # Extension Config Description
    os.environ['MANIFEST_NAME'] = "mdb_crud_interpreter" # OPEN API Spec Config Name
    os.environ['MANIFEST_DESCRIPTION'] = "This extension makes api call to mongodb to do all crud operations" # OPEN API Spec Config Description
    os.environ['OPENAPI_GCS_URI'] = "gs://vertexai_extensions/mongodbopenapispec.yaml" # OPEN API GCS URI
    os.environ['API_SECRET_LOCATION'] = "projects/787220387490/secrets/mdbapikey/versions/1" # API KEY secret location
    os.environ['LLM_MODEL'] = "gemini-1.5-pro" # LLM Config
2

Descargue la especificación de API abierta desde GitHub y cargue el archivo YAML en el depósito de Google Cloud Storage.

from google.cloud import aiplatform
from google.cloud.aiplatform.private_preview import llm_extension
PROJECT_ID = os.environ['PROJECT_ID']
REGION = os.environ['REGION']
STAGING_BUCKET = os.environ['STAGING_BUCKET']
aiplatform.init(
project=PROJECT_ID,
location=REGION,
staging_bucket=STAGING_BUCKET,
)
3

El siguiente manifiesto es un objeto JSON estructurado que configura los componentes clave para la extensión. Reemplaza <service-account> con el nombre de la cuenta de servicio utilizada por tu función Cloud Run.

from google.cloud import aiplatform
from vertexai.preview import extensions
mdb_crud = extensions.Extension.create(
display_name = os.environ['EXTENSION_DISPLAY_HOME'],
# Optional.
description = os.environ['EXTENSION_DESCRIPTION'],
manifest = {
"name": os.environ['MANIFEST_NAME'],
"description": os.environ['MANIFEST_DESCRIPTION'],
"api_spec": {
"open_api_gcs_uri": (
os.environ['OPENAPI_GCS_URI']
),
},
"authConfig": {
"authType": "OAUTH",
"oauthConfig": {"service_account": "<service-account>"}
},
},
)
mdb_crud
4

Valida la extensión e imprime el esquema y los parámetros de la operación:

print("Name:", mdb_crud.gca_resource.name)
print("Display Name:", mdb_crud.gca_resource.display_name)
print("Description:", mdb_crud.gca_resource.description)
import pprint
pprint.pprint(mdb_crud.operation_schemas())

En Vertex AI, Extensions haga clic en en el menú de navegación izquierdo. Su nueva extensión, llamada,MongoDB Vertex API Interpreter aparecerá en la lista de extensiones.

Los siguientes ejemplos demuestran dos consultas de lenguaje natural diferentes que puede utilizar para consultar sus datos en Atlas:

Volver

Google Vertex AI

En esta página