LangChain
LangChain fornece primitivas compostas para aplicações de LLM: modelos, retrievers, ferramentas e cadeias. A sintaxe de pipe do LCEL conecta etapas em pipelines.
Busque em todas as páginas da documentação
LangChain fornece primitivas compostas para aplicações de LLM: modelos, retrievers, ferramentas e cadeias. A sintaxe de pipe do LCEL conecta etapas em pipelines.
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain_chroma import Chroma
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
llm = ChatOpenAI(model="gpt-4o-mini")
retriever = Chroma(embedding_function=OpenAIEmbeddings()).as_retriever()"""langchain.py - Cadeia RAG com LCEL."""
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain_chroma import Chroma
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain_text_splitters import RecursiveCharacterTextSplitter
docs = ["pytest executa testes com fixtures.", "FastAPI usa Pydantic para validação."]
splits = RecursiveCharacterTextSplitter(chunk_size=200).split_text("\n".join(docs))
vectorstore = Chroma.from_texts(splits, OpenAIEmbeddings())
retriever = vectorstore.as_retriever(search_kwargs={"k": 2})
prompt = ChatPromptTemplate.from_template(
"Responda apenas com base no contexto:\n{context}\n\nPergunta: {question}"
)
def format_docs(docs):
return "\n---\n".join(d.page_content for d in docs)
chain = (
{"context": retriever | format_docs, "question": RunnablePassthrough()}
| prompt
| ChatOpenAI(model="gpt-4o-mini", temperature=0)
| StrOutputParser()
)
print(chain.invoke("Como o pytest funciona?"))langchain-core.| Alternativa | Use Quando | Não Use Quando |
|---|---|---|
| LangChain | Pipelines LLM multi-etapa | Chamada de API única |
| LlamaIndex | RAG focado em dados | Cadeias simples |
| LangGraph | Agentes com estado | Pipelines lineares |
| SDK Bruto | Controle total, aprendizado | Aplicações complexas multi-etapa |
Versões da Stack: Esta página foi escrita para Python 3.14.0 (estável 3.14, manutenção 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, e uv 0.6+.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026