Carregadores, divisores e armazenamentos vetoriais
Utilize DocumentLoaders para PDFs/HTML, TextSplitters para dividir textos e VectorStores para recuperação.
Carregadores, divisores e armazenamentos vetoriais é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Agents, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Agents inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Os três pilares do RAG no LangChain
- Carregadores de documentos — leem dados brutos em Documents
- Divisores de texto — dividem Documents em blocos
- Armazenamentos vetoriais — incorporam e indexam os blocos
Carregadores de documentos
LangChain tem mais de 100 carregadores. Exemplos:
from langchain_community.document_loaders import PyPDFLoader, WebBaseLoader, TextLoader
pdf_docs = PyPDFLoader('handbook.pdf').load()
web_docs = WebBaseLoader('https://example.com').load()
md_docs = TextLoader('README.md').load()O objeto Document
Cada carregador retorna uma lista de Documents:
doc = pdf_docs[0]
print(doc.page_content) # the text
print(doc.metadata) # {'source': 'handbook.pdf', 'page': 1}Carregadores comuns
- PyPDFLoader, UnstructuredFileLoader — PDFs
- WebBaseLoader, SitemapLoader — páginas da web
- NotionLoader, GoogleDriveLoader — SaaS
- GitLoader — repositórios de código
- SQLDatabaseLoader — linhas do banco de dados
Divisores de texto
Converta Documents em blocos menores:
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(
chunk_size=800,
chunk_overlap=100,
separators=['\n\n', '\n', '. ', ' ']
)
chunks = splitter.split_documents(pdf_docs)Divisores especializados
- MarkdownHeaderTextSplitter — divide por cabeçalho
- RecursiveCharacterTextSplitter — considera parágrafos e frases
- HTMLHeaderTextSplitter — considera HTML
- Específicos de cada linguagem (Python, Markdown, LaTeX)
Divisão consciente de tokens
Use o tokenizador do modelo para divisões precisas por token:
splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(
encoding_name='cl100k_base',
chunk_size=400,
chunk_overlap=50
)Armazenamentos vetoriais
Incorpore e armazene os blocos:
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import Chroma
embeddings = OpenAIEmbeddings(model='text-embedding-3-small')
store = Chroma.from_documents(
documents=chunks,
embedding=embeddings,
persist_directory='./db'
)Retrieval
retriever = store.as_retriever(search_kwargs={'k': 4})
results = retriever.invoke('What is our return policy?')
for d in results:
print(d.page_content[:200])Persistência
Chroma persiste em disco se você fornecer persist_directory. Para recarregar:
store = Chroma(persist_directory='./db', embedding_function=embeddings)Outros armazenamentos vetoriais
A mesma interface, outro mecanismo:
from langchain_community.vectorstores import FAISS, Pinecone, Qdrant, Weaviate
store = FAISS.from_documents(chunks, embeddings)
store.save_local('./faiss_db')MultiVectorRetriever
Indexe blocos pequenos, mas recupere documentos-pai grandes:
from langchain.retrievers import MultiVectorRetriever
# Use the parent-child pattern automatically.Recuperadores com consulta própria
Permita que o LLM gere filtros de metadados a partir de linguagem natural:
from langchain.retrievers.self_query.base import SelfQueryRetriever
# 'What did Alice say in 2023?' -> filter={author: 'Alice', year: 2023}Saída do recuperador
O que um recuperador do LangChain retorna?
Recapitulação
Carregadores + Divisores + Armazenamentos vetoriais = uma pilha RAG completa. A seguir: componha-os com LCEL em uma cadeia completa.
Perguntas Frequentes
A aula “Carregadores, divisores e armazenamentos vetoriais” é grátis?
Sim — o texto completo de “Carregadores, divisores e armazenamentos vetoriais” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Agents, atualize para CoddyKit PRO. O curso de AI Agents inclui 4 aulas no total.
O que vou aprender em “Carregadores, divisores e armazenamentos vetoriais”?
Utilize DocumentLoaders para PDFs/HTML, TextSplitters para dividir textos e VectorStores para recuperação. Você pratica AI Agents com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar AI Agents?
Nenhuma experiência prévia é necessária. AI Agents no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Carregadores, divisores e armazenamentos vetoriais”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de AI Agents?
Sim. Cada aula de AI Agents inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Arquitetura do LangChain: modelos, prompts, cadeias
- Carregadores, divisores e armazenamentos vetoriais
- LCEL (linguagem de expressões do LangChain)
- Construindo uma cadeia RAG de ponta a ponta