0Pricing
AI Agents · Aula

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

  1. Carregadores de documentos — leem dados brutos em Documents
  2. Divisores de texto — dividem Documents em blocos
  3. 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

  1. Arquitetura do LangChain: modelos, prompts, cadeias
  2. Carregadores, divisores e armazenamentos vetoriais
  3. LCEL (linguagem de expressões do LangChain)
  4. Construindo uma cadeia RAG de ponta a ponta
← Voltar para AI Agents