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.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

Migrar un agente LangGraph existente

En este tutorial, aprenderá a migrar un agente LangGraph existente al motor de agentes de MongoDB Atlas. El tutorial muestra cómo agregar el SDK del motor de agentes de MongoDB Atlas a su proyecto, encapsular el código de su agente con la clase App, crear los archivos de configuración necesarios y registrar su proyecto en el motor de agentes de Atlas.

Antes de comenzar, realice las siguientes tareas previas:

  • Instala la interfaz de línea de comandos agentengine y autentica tu cuenta. Para obtener más información, consulta la sección Instalación y autenticación.

  • Abra el archivo pyproject.toml dentro de su proyecto de agente LangGraph existente.

  • Confirma que tu archivo pyproject.toml contiene un bloque [build-system] que define las claves requires y build-backend. El comando agentengine init requiere este bloque. Puedes ejecutar uv init --package en la raíz de tu proyecto para generar un archivo que cumpla con este requisito.

  • Install uv.

  • Ejecuta Docker Desktop o Docker Engine en tu máquina.

Siga los pasos que se indican a continuación para añadir el SDK de la plataforma, actualizar el código de su agente y registrar su proyecto en Atlas Agent Engine.

1

Navegue hasta su archivo pyproject.toml y luego ejecute el siguiente comando desde la raíz de su proyecto para agregar las dependencias del SDK:

uv add agent-engine-runner-shared agent-engine-sdk-langgraph
2

Actualiza el módulo de entrada de tu agente para que utilice el SDK de la plataforma realizando los siguientes cambios:

  • Importa App desde agent_engine_sdk_langgraph y crea una instancia de App a nivel de módulo.

  • Registra cada herramienta usando el decorador @app.tool().

  • Agregue el decorador @app.entrypoint a la función de compilación de su agente.

  • Envuelva su LLM con el método app.llm() para enrutar las llamadas LLM a través de la ruta de ejecución auditada de la plataforma.

  • Reemplace su puntero de control con app.checkpointer() para usar el puntero de control respaldado por MongoDB de la plataforma.

  • Llama al método app.run() que se encuentra al final del módulo.

El siguiente ejemplo muestra un módulo de agente migrado completo:

mi_agente/principal.py
from agent_engine_sdk_langgraph import App
from langgraph.graph import StateGraph, MessagesState
from langgraph.prebuilt import ToolNode
from langchain_openai import ChatOpenAI
app = App(app_name="my-agent")
@app.tool()
def lookup(query: str) -> str:
"""Search the knowledge base."""
return f"result for {query}"
@app.entrypoint
def build_agent():
llm = app.llm(ChatOpenAI(model="gpt-4o-mini"))
tools = app.get_tools()
def call_model(state: MessagesState):
return {"messages": [llm.invoke(state["messages"])]}
graph = StateGraph(MessagesState)
graph.add_node("agent", call_model)
graph.add_node("tools", ToolNode(tools))
graph.set_entry_point("agent")
graph.add_edge("tools", "agent")
return graph.compile(checkpointer=app.checkpointer())
app.run()
3

En la raíz de su proyecto, cree un archivo agent.yaml que contenga el campo entrypoint y una política de salida de red para el entorno aislado del agente, como se muestra en el siguiente código:

agent.yaml
entrypoint: my_agent.main:app
name: my-agent
framework: langgraph
sandboxes:
agent:
network:
egress_mode: deny_all

El campo entrypoint debe apuntar a la instancia App en formato module.path:attribute.

El campo sandboxes.agent.network.egress_mode define la política de acceso saliente del entorno aislado del agente. El ejemplo anterior bloquea todo el tráfico saliente, excepto el que corresponde a la política base de la plataforma. Para obtener información sobre cómo habilitar el acceso saliente a destinos específicos, consulte la sección "Administrar políticas de salida de red".

Tip

Para ver todos los campos agent.yaml disponibles, consulte la Referencia del Contrato del Agente.

4

En la raíz de tu proyecto, crea un archivo .env que especifique tu cadena de conexión de MongoDB y la clave API del proveedor LLM, como se muestra en el siguiente código:

.env
MONGODB_URI=<your-mongodb-connection-string>
<PROVIDER>_API_KEY=<your-api-key>

Importante

El contenedor lee los secretos únicamente del archivo .env durante la ejecución. No guarde sus secretos en su sistema de control de versiones.

5

Desde la raíz de tu proyecto, ejecuta el siguiente comando para registrar tu proyecto y generar archivos de desarrollo locales:

agentengine init

La interfaz de línea de comandos (CLI) le guía en el proceso de selección o creación de una organización y un proyecto, y luego genera los archivos de desarrollo locales.

6

Para confirmar que el agente migrado funciona correctamente, inicie el entorno de desarrollo local ejecutando el siguiente comando:

agentengine dev up

Cuando la pila esté lista, abre http://localhost:3000 en tu navegador para interactuar con tu agente.

Nota

Es posible que la interfaz de usuario se ejecute en un puerto diferente al predeterminado 3000. Para ver la URL, compruebe el campo ui en la salida del comando agentengine dev up.

Tras confirmar que el agente migrado se ejecuta localmente, puede realizar las siguientes tareas: