Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.

Comience con la integración de MLflow.

You can integrate MongoDB with MLflow to store your MLflow tracking and model registry data in MongoDB. MLflow is an open-source platform for managing the lifecycle of machine learning and GenAI applications. The mlflow-mongodb integration works with Atlas, MongoDB Enterprise Advanced, and MongoDB Community Edition deployments that run MongoDB 8.0 or later. This page shows how to configure MLflow to use MongoDB, log a run, register a model, and capture traces from a GenAI application.

El paquete mlflow-mongodb es un complemento de MLflow que se ejecuta dentro de su servidor MLflow. El complemento almacena únicamente los siguientes metadatos de MLflow en MongoDB:

Los artefactos son los archivos que generan las ejecuciones, como archivos de modelo, imágenes y cargas útiles de seguimiento. MLflow escribe los artefactos en un almacén de artefactos independiente, no en MongoDB. Este tutorial almacena los artefactos en el disco local del servidor MLflow. Para implementaciones en producción, configure un almacén de artefactos como Amazon S3.

Puedes configurar el almacén de seguimiento y el registro de modelos de forma independiente. Por ejemplo, un almacén puede usar MongoDB mientras que el otro usa un backend de MLflow diferente. Este tutorial utiliza MongoDB para ambos almacenes.

Antes de comenzar, asegúrate de tener lo siguiente:

  • Una implementación de MongoDB que ejecuta la versión 8.0 o posterior.

  • Un usuario de base de datos con acceso de lectura y escritura a la base de datos que almacena sus datos de MLflow.

  • Acceso a la red desde su servidor MLflow hasta la implementación.

  • Python 3.11 a 3.14.

  • MLflow 3.5 o una versión posterior 3.x.

Nota

Los pasos de configuración varían según el tipo de implementación:

  • Atlas: Crea un usuario de base de datos. Luego, agrega la dirección IP de tu servidor MLflow a la lista de acceso de tu proyecto.

  • Edición Enterprise Advanced y Community: Cree un usuario con el rol readWrite en la base de datos que almacena sus datos de MLflow. Asegúrese de que su servidor MLflow pueda conectarse al host y puerto de la implementación.

El siguiente procedimiento instala el paquete mlflow-mongodb e inicia un servidor MLflow que almacena datos en MongoDB:

1

Ejecute el siguiente comando para instalar el paquete mlflow-mongodb. El paquete también instala MLflow.

python -m pip install mlflow-mongodb
2

El complemento requiere el nombre de la base de datos que almacena sus datos de MLflow en la ruta de la cadena de conexión. Reemplace los marcadores de posición en las siguientes cadenas de conexión con sus valores:

mongodb+srv://<db_username>:<db_password>@<cluster-host>/<database>?retryWrites=true&w=majority

Para encontrar su cadena de conexión de Atlas, consulte Conectarse a un clúster mediante bibliotecas cliente.

3

Ejecute los siguientes comandos para iniciar el servidor. Reemplace <connection-string> con la cadena de conexión del paso anterior:

export TRACKING_STORE_URI="<connection-string>"export REGISTRY_STORE_URI="<connection-string>"export MLFLOW_BIND_HOST="127.0.0.1"export MLFLOW_BIND_PORT="5000" mlflow server \ --backend-store-uri "${TRACKING_STORE_URI}" \ --registry-store-uri "${REGISTRY_STORE_URI}" \ --host "${MLFLOW_BIND_HOST}" \ --port "${MLFLOW_BIND_PORT}"

MLflow almacena los artefactos en el directorio mlartifacts del servidor. Para ver la interfaz de usuario de MLflow, abra http://127.0.0.1:5000 en su navegador.

El siguiente procedimiento registra una ejecución que almacena un parámetro, una métrica y un artefacto:

1

El siguiente ejemplo crea un experimento llamado mongodb-backend-demo y luego inicia una ejecución llamando al método mlflow.start_run(). La ejecución registra los siguientes elementos:

  • model_type parameter

  • accuracy Métrica

  • run-summary.txt artefacto

Los ejemplos de este tutorial se conectan al servidor mediante el método mlflow.set_tracking_uri(). Para conectar clientes MLflow sin modificar el código del cliente, establezca la variable de entorno MLFLOW_TRACKING_URI en http://127.0.0.1:5000.

Guarda el siguiente código en un archivo llamado log_run.py:

import mlflow mlflow.set_tracking_uri("http://127.0.0.1:5000")mlflow.set_experiment("mongodb-backend-demo") with mlflow.start_run() as run: mlflow.log_param("model_type", "example") mlflow.log_metric("accuracy", 0.92) mlflow.log_text("Hello from the MongoDB backend", "run-summary.txt") print("run_id:", run.info.run_id)
2
python log_run.py

La salida incluye el ID de ejecución. MLflow almacena el experimento, la ejecución, los parámetros y las métricas en MongoDB, y el artefacto en el almacén de artefactos que hayas configurado.

3

En tu navegador, ve a http://127.0.0.1:5000 y abre el experimento mongodb-backend-demo. En la pestaña Runs, selecciona la ejecución para ver sus parámetros, métricas y artefactos. La ejecución en la interfaz de usuario de MLflow se parece a la siguiente imagen:

Interfaz de usuario de MLflow que muestra la página de ejecución con la métrica de precisión y el parámetro model_type.

Para registrar un modelo, utilice uno de los siguientes métodos:

  • Pase el argumento registered_model_name cuando registre un modelo utilizando un método log_model(), como mlflow.pyfunc.log_model().

  • Llama al método mlflow.register_model() y pasa la URI de un modelo que se haya registrado en una ejecución, como por ejemplo runs:/<run-id>/model.

Cada vez que registres un modelo con un nombre existente, MLflow creará una nueva versión de ese modelo. Para administrar las versiones, usa los métodos MlflowClient, como set_registered_model_alias() y set_model_version_tag().

1

El siguiente ejemplo llama al método log_model() y registra el modelo como mongodb-backend-demo-model. A continuación, el código establece el alias y la etiqueta. Guarda el archivo como register_model.py:

import mlflowfrom mlflow import MlflowClientfrom mlflow.pyfunc import PythonModel mlflow.set_tracking_uri("http://127.0.0.1:5000")mlflow.set_experiment("mongodb-backend-demo") class EchoModel(PythonModel): def predict(self, context, model_input): return model_input with mlflow.start_run(): mlflow.pyfunc.log_model( name="model", python_model=EchoModel(), registered_model_name="mongodb-backend-demo-model", ) client = MlflowClient()client.set_registered_model_alias("mongodb-backend-demo-model", "mongo-verified", 1)client.set_model_version_tag("mongodb-backend-demo-model", 1, "validated_by", "doc-test")
2
python register_model.py
3

En tu navegador, ve a http://127.0.0.1:5000, haz clic en Registered Models y selecciona mongodb-backend-demo-model para ver sus versiones, alias y etiquetas. La nueva versión del modelo en la interfaz de usuario de MLflow se parece a la siguiente imagen:

Interfaz de usuario de MLflow que muestra la versión 1 del modelo mongodb-backend-demo-model con el alias mongo-verified y la etiqueta validated_by.

MLflow Tracing registra las entradas, salidas y la duración de cada paso en su aplicación o agente LLM. Cuando utiliza MongoDB para el almacenamiento de seguimiento, MLflow guarda los seguimientos y sus intervalos en MongoDB.

1

Para habilitar el rastreo, utilice uno de los siguientes métodos:

  • Llama al método mlflow.<flavor>.autolog() para rastrear las llamadas a un marco o proveedor compatible, como OpenAI o LangChain. Para obtener más información, consulta la sección de Rastreo automático en la documentación de MLflow.

  • Agregue el decorador @mlflow.trace a las funciones que desea rastrear.

El siguiente ejemplo utiliza el decorador @mlflow.trace para rastrear una función que llama a un agente. Guarde el archivo como trace_agent.py:

import mlflow mlflow.set_tracking_uri("http://127.0.0.1:5000")mlflow.set_experiment("agent-traces") @mlflow.tracedef call_agent(prompt: str) -> str: # Replace this line with your actual LLM or agent call return f"Echo: {prompt}" call_agent("Summarize this document")
2
python trace_agent.py
3

Abra el experimento agent-traces en la interfaz de usuario de MLflow y haga clic en Traces. El rastro en la interfaz de usuario de MLflow se asemeja a la siguiente imagen:

Interfaz de usuario de MLflow que muestra la pestaña "Traces" del experimento agent-traces con un rastro registrado.

Nota

El almacenamiento y la recuperación de trazas dependen de la versión de MLflow. Los clientes de MLflow 3.5 suben cargas útiles completas de trazas al almacén de artefactos del experimento. MongoDB almacena los intervalos. En MLflow 3.6 y versiones posteriores, los clientes recuperan las trazas directamente de MongoDB. Las métricas de traza agregadas requieren MLflow 3.9 o posterior.

Para obtener más información sobre los conceptos y las características de MLflow, consulte la siguiente documentación de MLflow:

Para aprender más sobre los conceptos de este tutorial, consulta los siguientes recursos: