Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Menu Docs

Migrar um agente LangGraph existente

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.

Antes de começar, execute as seguintes tarefas de pré-requisito:

  • Instale a CLI agentengine e autentique sua conta. Para saber mais, consulte Instalar e autenticar.

  • Abra o arquivo pyproject.toml dentro do seu projeto de agente LangGraph existente.

  • Confirme que seu arquivo pyproject.toml tem um bloco [build-system] que define as chaves requires e build-backend. O comando agentengine init exige este bloco. Você pode executar uv init --package na 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.

Conclua as etapas a seguir para adicionar a plataforma SDK, atualizar o código do agente e registrar o projeto no Atlas Agent Engine.

1

Navegue até o arquivo pyproject.toml e execute o seguinte comando a partir da raiz do projeto para adicionar as dependências do SDK:

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

Atualize o módulo de entrada do seu agente para usar o SDK da plataforma fazendo as seguintes alterações:

  • Importe App de agent_engine_sdk_langgraph e crie uma instância App no 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:

my_agent/main.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

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:

agent.yaml
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.

4

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:

.env
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.

5

Na raiz do projeto , execute o seguinte comando para registrar seu projeto e gerar arquivos de desenvolvimento local:

agentengine init

A CLI orienta você na seleção ou criação de uma organização e projeto e, em seguida, gera arquivos de desenvolvimento local.

6

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.

Depois de confirmar que seu agente migrado é executado localmente, você pode executar as seguintes tarefas: