Fase 2 · Construção de Agentes de IA · Módulo 5
LangChain: montando o assistente com peças prontas
Trilha técnica. Como usar a biblioteca LangChain (versão 1.x, Python e JavaScript/TypeScript) para ligar modelo, prompt, ferramentas, busca em documentos e memória em um assistente real, e como decidir quando a biblioteca ajuda e quando é melhor chamar a API direto.
- 4 aulas
- 195 minutos
- Fada Mentora em cada aula
O que você vai aprender
Aula 1. Modelos e templates: a primeira chamada com LangChain
45 minO que a LangChain 1.x resolve, como instalar, como criar o modelo com init_chat_model / initChatModel (trocando de provedor sem reescrever), como organizar mensagens de sistema, usuária e assistente, e como montar prompts reutilizáveis com ChatPromptTemplate.
- Instalar a LangChain 1.x e o pacote do provedor em Python e em TypeScript e criar um modelo com init_chat_model / initChatModel
- Usar os tipos de mensagem (sistema, usuária, assistente) e os parâmetros do modelo (temperature, max_tokens, timeout, max_retries) com intenção
- Montar um prompt reutilizável com variáveis usando ChatPromptTemplate e explicar quando um template compensa
- Ler a resposta do modelo (texto, streaming e blocos de conteúdo) sem depender do formato de um provedor específico
Aula completa, exemplos e exercícios dentro da plataforma
Aula 2. Ferramentas e parsers: o modelo que consulta, registra e responde no formato certo
50 minComo transformar uma função sua em ferramenta que o modelo pode pedir para executar (@tool / tool()), como o laço de chamada de ferramentas funciona dentro de create_agent / createAgent, como ler o resultado do modelo como texto ou JSON com parsers, e como exigir saída estruturada validada.
- Criar ferramentas com @tool (Python) e tool() (TypeScript) com nome, descrição e esquema de entrada que o modelo entende
- Explicar o laço de chamada de ferramenta: o modelo pede, seu código executa, o resultado volta como ToolMessage
- Montar um agente com create_agent / createAgent que usa ferramentas e um prompt de sistema
- Escolher entre parser de texto, parser de JSON e saída estruturada (with_structured_output / response_format) conforme a necessidade
Aula completa, exemplos e exercícios dentro da plataforma
Aula 3. Recuperadores: ligando a busca em documentos ao assistente
50 minComo a LangChain representa documentos, divide em partes, gera embeddings, guarda em um vector store e expõe tudo como um recuperador (retriever); como escolher entre RAG em dois passos e busca como ferramenta do agente; e o que mudou na 1.x para quem procura recuperadores prontos.
- Carregar documentos como objetos Document com metadados e dividi-los com RecursiveCharacterTextSplitter escolhendo tamanho e sobreposição
- Indexar as partes em um vector store com um modelo de embeddings e consultar com similarity_search e as_retriever
- Expor a busca ao agente como ferramenta (RAG agêntico) ou rodá-la sempre antes da geração (RAG em dois passos), sabendo quando usar cada um
- Levar os metadados até a resposta para citar a fonte, e saber onde os recuperadores legados vivem na 1.x
Aula completa, exemplos e exercícios dentro da plataforma
Aula 4. Memória e a decisão honesta: quando LangChain ajuda e quando atrapalha
50 minComo dar memória de curto prazo ao agente (checkpointer e thread_id), controlar o tamanho do histórico (middleware de resumo), guardar memória de longo prazo entre conversas (store com namespace), e os critérios para decidir entre usar a biblioteca, usar LangGraph ou chamar a API do provedor direto.
- Adicionar memória de curto prazo a create_agent / createAgent com checkpointer e thread_id e provar o isolamento entre conversas
- Controlar o crescimento do histórico com SummarizationMiddleware / summarizationMiddleware e entender o papel dos middlewares
- Guardar e recuperar memória de longo prazo com store, namespace e chave, lendo de dentro de uma ferramenta via runtime
- Decidir com critérios objetivos quando usar LangChain, quando usar LangGraph e quando chamar a API direto
Aula completa, exemplos e exercícios dentro da plataforma
Termos que você vai dominar
- LangChain
- Provedor (provider)
- init_chat_model / initChatModel
- Mensagem de sistema (SystemMessage)
- ChatPromptTemplate
- temperature
- Streaming
- Blocos de conteúdo (content_blocks / contentBlocks)
- Ferramenta (tool)
- Chamada de ferramenta (tool call)
- ToolMessage
- create_agent / createAgent
- Esquema de entrada (args_schema / schema)
- Parser de saída (output parser)
- Saída estruturada (structured output)
- ToolRuntime
- Document
- Divisor de texto (text splitter)
- chunk_size / chunk_overlap
- Vector store
- Recuperador (retriever)
- RAG em dois passos
- RAG agêntico
- langchain-classic / @langchain/classic
- Memória de curto prazo (short-term memory)
- Checkpointer
- thread_id
- Middleware
- Memória de longo prazo (long-term memory)
- Store / namespace
- LangGraph
- Chamar a API direto
Recomendado antes
Pronta para começar?
Este módulo faz parte da Universidade Fada Madrinha: 12 módulos, Fada Mentora, laboratório e construtor de agentes.