LangChain
LangChain é uma estrutura de código aberto para criar aplicações e agentes de LLM a partir de modelos, ferramentas, recuperadores e middleware intercambiáveis.
O LangChain é uma framework de código aberto para criar aplicações e agentes de IA com base em grandes modelos de linguagem (LLM). Oferece a todos os fornecedores de modelos a mesma interface para mensagens, modelos de chat, ferramentas e recuperadores, permitindo que uma aplicação mude de um modelo de um fornecedor para o de outro alterando o nome do modelo; também disponibiliza ciclos de agente prontos a usar e centenas de integrações com armazenamentos vetoriais, carregadores de documentos e APIs. Harrison Chase lançou o LangChain como projeto Python de código aberto em outubro de 2022, algumas semanas antes do lançamento do ChatGPT, e tornou-se um dos kits de ferramentas mais usados para encadear prompts, recuperação e chamadas a modelos em aplicações de IA generativa. O LangChain 1.0 e o LangGraph 1.0 foram lançados em conjunto em 22 de outubro de 2025, com o compromisso de não introduzir alterações incompatíveis até à versão 2.0.
O ecossistema LangChain#
O nome abrange agora uma família de pacotes disponíveis em Python e JavaScript:
- langchain: A framework de agentes, centrada em
create_agent, que recebe um modelo, uma lista de ferramentas e um prompt de sistema, e devolve um agente funcional. - langchain-core e integrações: Interfaces padrão para modelos de chat, mensagens, embeddings, recuperadores e ferramentas, além de pacotes de fornecedores, como langchain-openai e langchain-anthropic, que as implementam.
- LangGraph: O ambiente de execução de nível mais baixo sobre o qual funcionam os agentes LangChain. Modela um programa como um grafo de etapas que operam sobre um estado partilhado e pode guardar pontos de controlo desse estado após cada etapa, permitindo que tarefas longas sobrevivam a reinícios e aguardem aprovação humana.
- LangSmith: Uma plataforma alojada para observabilidade de rastos, avaliação de agentes em conjuntos de dados e implementação de agentes.
As aplicações clássicas do LangChain eram cadeias: um modelo de prompt preenchido com a entrada do utilizador, uma chamada ao modelo e um analisador de saída, compostos com uma sintaxe de pipe, como no encadeamento de prompts. A cadeia mais comum é a geração aumentada por recuperação (RAG), que carrega documentos, divide-os em blocos, armazena os embeddings numa base de dados vetorial e adiciona à janela de contexto do modelo os blocos mais relevantes para cada pergunta.
Como funciona um agente LangChain#
Um agente criado com create_agent repete um ciclo de chamadas ao modelo e às ferramentas, o mesmo ciclo de chamadas a funções que executa qualquer estrutura de agentes. O middleware liga-se a cada etapa para alterar o que acontece em torno do modelo: o middleware integrado resume históricos longos, oculta dados pessoais e aguarda aprovação humana antes de executar as ferramentas selecionadas.
Dar visão a um agente LangChain#
O decorador @tool do LangChain transforma uma função Python numa ferramenta, lendo os tipos dos argumentos na assinatura e a descrição na docstring. Envolver o Ultralytics YOLO26 desta forma dá ao agente a capacidade de deteção de objetos, com Results.summary() a devolver o nome da classe, a confiança e a caixa de cada deteção como dados legíveis pelo modelo:
from langchain_core.tools import tool
from langchain_core.utils.function_calling import convert_to_openai_tool
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
@tool
def detect_objects(image_url: str) -> list[dict]:
"""Detect objects in an image and return each one's class name, confidence, and box."""
results = model(image_url)
return results[0].summary()
# O esquema que o LangChain deriva da assinatura e da docstring, tal como é recebido por um modelo
print(convert_to_openai_tool(detect_objects))
# Um agente executa a ferramenta com os argumentos da chamada à ferramenta feita pelo modelo
detections = detect_objects.invoke({"image_url": "https://ultralytics.com/images/bus.jpg"})
print(detections[0]["name"], detections[0]["confidence"])A primeira impressão mostra a definição da função, com um parâmetro de texto image_url e a docstring como descrição, que o LangChain envia ao modelo; a segunda mostra a primeira deteção devolvida pela ferramenta. Passar tools=[detect_objects] a create_agent permite que qualquer modelo de chat suportado chame o detetor através do modo de previsão.
LangChain vs. ferramentas relacionadas#
- Fluxos de trabalho agênticos: Os padrões de conceção gerais, como encaminhamento, utilização de ferramentas e ciclos de avaliação, implementados pelos grafos LangGraph e pelos agentes LangChain.
- SDKs de fornecedores: Chamar diretamente a API de um fornecedor de modelos não requer uma framework e é adequado para aplicações com um único modelo. O LangChain acrescenta as interfaces partilhadas, as integrações e o ciclo de agente, que são importantes quando uma aplicação abrange vários modelos, ferramentas ou fontes de dados.
- DSPy: Uma framework que escreve e otimiza automaticamente os prompts de um programa LLM com várias etapas, ajustando-os com base numa métrica calculada em dados de exemplo.
- LlamaIndex: Uma framework centrada na ingestão, indexação e consulta de dados privados para RAG. As duas frameworks sobrepõem-se, e as aplicações usam frequentemente o LlamaIndex para recuperação dentro de um agente LangChain ou LangGraph.










