Overview
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.
Requisitos previos
Antes de comenzar, realice las siguientes tareas previas:
Instala la interfaz de línea de comandos
agentenginey autentica tu cuenta. Para obtener más información, consulta la sección Instalación y autenticación.Abra el archivo
pyproject.tomldentro de su proyecto de agente LangGraph existente.Confirma que tu archivo
pyproject.tomlcontiene un bloque[build-system]que define las clavesrequiresybuild-backend. El comandoagentengine initrequiere este bloque. Puedes ejecutaruv init --packageen 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.
Tutorial
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.
Envuelve tu agente con la clase App.
Actualiza el módulo de entrada de tu agente para que utilice el SDK de la plataforma realizando los siguientes cambios:
Importa
Appdesdeagent_engine_sdk_langgraphy crea una instancia deAppa nivel de módulo.Registra cada herramienta usando el decorador
@app.tool().Agregue el decorador
@app.entrypointa 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:
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") def lookup(query: str) -> str: """Search the knowledge base.""" return f"result for {query}" 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()
Cree un archivo agent.yaml.
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:
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.
Crear un archivo .env.
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:
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.
Registra tu proyecto en la plataforma.
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.
Ejecuta el agente localmente.
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.
Próximos pasos
Tras confirmar que el agente migrado se ejecuta localmente, puede realizar las siguientes tareas:
Para aprovisionar secretos y crear la imagen del agente, consulte Aprovisionamiento de secretos en la nube.
Para agregar funciones de plataforma como memoria y medidas de seguridad,consulte Agregar memoria a su agente.