Visão geral
Neste tutorial, você pode aprender como migrar um agente LangGraph existente para o MongoDB Atlas Agent Engine. O tutorial mostra como adicionar o MongoDB Atlas Agent Engine SDK ao seu projeto, envolver seu código de agente com a classeApp, criar os arquivos de configuração necessários e registrar seu projeto no Atlas Agent Engine.
Pré-requisitos
Antes de começar, execute as seguintes tarefas de pré-requisito:
Instale a CLI
agentenginee autentique sua conta. Para saber mais, consulte Instalar e autenticar.Abra o arquivo
pyproject.tomldentro do seu projeto de agente LangGraph existente.Confirme que seu arquivo
pyproject.tomltem um bloco[build-system]que define as chavesrequiresebuild-backend. O comandoagentengine initexige este bloco. Você pode executaruv init --packagena raiz do seu projeto para gerar um arquivo que atenda a esse requisito.Install uv.
Execute o Docker Desktop ou o Docker Engine em sua máquina.
Tutorial
Conclua as etapas a seguir para adicionar a plataforma SDK, atualizar o código do agente e registrar o projeto no Atlas Agent Engine.
Envolva seu agente com a classeApp .
Atualize o módulo de entrada do seu agente para usar o SDK da plataforma fazendo as seguintes alterações:
Importe
Appdeagent_engine_sdk_langgraphe crie uma instânciaAppno nível do módulo.Registre cada ferramenta utilizando o instalador
@app.tool().Adicione o instalador
@app.entrypointà sua função de compilação de agente .Envolva seu LLM com o método
app.llm()para rotear chamadas LLM pelo caminho de execução auditada da plataforma.Substitua seu checkpointer por
app.checkpointer()para usar o checkpointer apoiado MongoDB da plataforma.Chame o método
app.run()na parte inferior do módulo.
O exemplo a seguir mostra um 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()
Crie um arquivo agent.yaml.
Na raiz do projeto , crie um arquivo agent.yaml que contenha o campo entrypoint e uma política de saída de rede para a sandbox do agente , conforme mostrado no código a seguir:
entrypoint: my_agent.main:app name: my-agent framework: langgraph sandboxes: agent: network: egress_mode: deny_all
O campo entrypoint deve ponto para a instância App no formato module.path:attribute.
O campo sandboxes.agent.network.egress_mode declara a política de acesso de saída da sandbox do agente . O exemplo anterior bloqueia todo o tráfego de saída que não seja a política base da plataforma. Para saber como habilitar o acesso de saída a destinos específicos, consulte Gerenciar políticas de saída de rede.
Dica
Para visualizar todos os campos agent.yaml disponíveis, consulte Referência do contrato do agente.
Crie um arquivo .env.
Na raiz do projeto , crie um arquivo .env que especifica a string de conexão do MongoDB e a chave de API do fornecedor LLM, conforme mostrado no código a seguir:
MONGODB_URI=<your-mongodb-connection-string> <PROVIDER>_API_KEY=<your-api-key>
Importante
O container lê segredos somente do arquivo .env no tempo de execução. Não confirme seus segredos para o sistema de controle de versão.
Execute o agente localmente.
Para confirmar se o agente migrado está sendo executado corretamente, inicie o ambiente de desenvolvimento local executando o seguinte comando:
agentengine dev up
Quando a pilha estiver pronta, abra o http://localhost:3000 no seu navegador para interagir com seu agente.
Observação
A interface do usuário pode ser executada em uma porta diferente da porta padrão 3000. Para visualizar sua URL, marque o campo ui na saída do comando agentengine dev up.
Próximos passos
Depois de confirmar que seu agente migrado é executado localmente, você pode executar as seguintes tarefas:
Para provisionar segredos e criar a imagem do agente , consulte Provisionar segredos da nuvem.
Para adicionar recursos de plataforma, como memória e grades de proteção,consulte Adicionar memória ao seu agente.