O que é LangChain?

LangChain é um framework open-source para construir aplicações com LLMs (Large Language Models). Ele facilita a criação de pipelines que combinam modelos de linguagem com outras fontes de dados e ferramentas.

Instalação

pip install langchain langchain-openai python-dotenv

Exemplo básico: Chat simples

from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage, SystemMessage

# Inicializa o modelo
llm = ChatOpenAI(model="gpt-4o-mini")

# Cria as mensagens
messages = [
    SystemMessage(content="Você é um assistente útil."),
    HumanMessage(content="O que é Python?")
]

# Faz a chamada
response = llm.invoke(messages)
print(response.content)

Usando Prompt Templates

Templates permitem criar prompts dinâmicos e reutilizáveis:

from langchain_core.prompts import ChatPromptTemplate

# Define o template
template = ChatPromptTemplate.from_messages([
    ("system", "Você é um especialista em {area}."),
    ("human", "{pergunta}")
])

# Cria a chain
chain = template | llm

# Executa
response = chain.invoke({
    "area": "programação",
    "pergunta": "Qual a diferença entre lista e tupla em Python?"
})

print(response.content)

Chains: Combinando componentes

O poder do LangChain está em encadear componentes:

from langchain_core.output_parsers import StrOutputParser

# Chain com parser de output
chain = template | llm | StrOutputParser()

# Agora retorna string diretamente
resultado = chain.invoke({
    "area": "DevOps",
    "pergunta": "O que é Docker?"
})

print(resultado)

Configurando a API Key

Crie um arquivo .env:

OPENAI_API_KEY=sua-chave-aqui

E carregue no código:

from dotenv import load_dotenv
load_dotenv()

Próximos passos

  • RAG - Retrieval Augmented Generation para consultar documentos
  • Agents - LLMs que podem usar ferramentas externas
  • Memory - Manter contexto entre conversas

A documentação oficial é excelente para se aprofundar.