📚 Tutoriais•2 min de leitura
Primeiros Passos com LangChain em Python
Aprenda a construir aplicações de IA com LangChain: chains, prompts, memória e RAG em um tutorial completo.
#langchain#python#rag#tutorial
O que é LangChain?
LangChain é o framework mais popular para construir aplicações com LLMs (Large Language Models). Ele simplifica a criação de pipelines complexos como chatbots com memória, sistemas RAG e agentes autônomos.
Instalação
pip install langchain langchain-openai langchain-community
1. Primeiro Chat
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage
llm = ChatOpenAI(model="gpt-4", temperature=0.7)
response = llm.invoke([
HumanMessage(content="O que é machine learning em uma frase?")
])
print(response.content)
2. Templates de Prompt
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages([
("system", "Você é um professor de IA que explica conceitos de forma simples."),
("human", "Explique {conceito} para um iniciante.")
])
chain = prompt | llm
response = chain.invoke({"conceito": "redes neurais"})
print(response.content)
3. Memória de Conversa
from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain
memory = ConversationBufferMemory()
conversation = ConversationChain(llm=llm, memory=memory)
# O modelo lembra do contexto anterior
print(conversation.predict(input="Meu nome é João"))
print(conversation.predict(input="Qual é meu nome?"))
4. RAG Básico (Retrieval-Augmented Generation)
from langchain_community.document_loaders import TextLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import FAISS
from langchain.chains import RetrievalQA
# 1. Carregar documento
loader = TextLoader("meu_documento.txt")
docs = loader.load()
# 2. Dividir em chunks
splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
chunks = splitter.split_documents(docs)
# 3. Criar índice vetorial
embeddings = OpenAIEmbeddings()
vectorstore = FAISS.from_documents(chunks, embeddings)
# 4. Criar chain de perguntas
qa = RetrievalQA.from_chain_type(
llm=llm,
retriever=vectorstore.as_retriever(),
return_source_documents=True
)
result = qa.invoke({"query": "Qual é o tema principal do documento?"})
print(result["result"])
Próximos Passos
- Agentes: Crie agentes que usam ferramentas (pesquisa web, calculadora, APIs)
- Streaming: Implemente respostas em tempo real
- Deploy: Publique com LangServe ou FastAPI
No próximo tutorial, vamos construir um chatbot com RAG completo que responde perguntas sobre seus documentos!