MODULO 4.6

🗄️ Bancos Vetoriais

Embeddings, busca semantica e RAG: Pinecone, Chroma, Weaviate e como usar em skills para conhecimento contextual.

6
Topicos
35
Minutos
Avancado
Nivel
Pratico
Tipo
1

📐 O que sao Embeddings

Embeddings sao representacoes numericas de texto (vetores) que capturam significado semantico. Textos similares tem vetores proximos no espaco.

Como Funcionam

"O gato dormiu" → [0.23, -0.45, 0.12, ...]

"O felino descansou" → [0.21, -0.43, 0.14, ...] (similar!)

"Python e uma linguagem" → [-0.89, 0.32, 0.67, ...] (diferente)

Gerando Embeddings

from openai import OpenAI

client = OpenAI()
response = client.embeddings.create(
    model="text-embedding-3-small",
    input="O gato dormiu no sofa"
)
embedding = response.data[0].embedding  # [0.23, -0.45, ...]
2

🗄️ Vector Databases

Vector databases sao otimizados para armazenar e buscar vetores de alta dimensao de forma eficiente.

Pinecone

  • • Managed service
  • • Escala automatica
  • • Metadata filtering
  • • Free tier generoso

Chroma

  • • Open-source
  • • Roda local
  • • Simples de usar
  • • Bom para dev

Weaviate

  • • GraphQL API
  • • Hybrid search
  • • Modules para ML
  • • Self-hosted ou cloud
3

🔍 Busca Semantica

Diferente de busca por keywords, busca semantica encontra conteudo por significado, mesmo com vocabulario diferente.

Keyword Search

Query: "como fazer deploy"

Nao encontra: "publicar aplicacao em producao"

Semantic Search

Query: "como fazer deploy"

Encontra: "publicar aplicacao em producao" ✓

Busca com Chroma

import chromadb

client = chromadb.Client()
collection = client.create_collection("docs")

# Adicionar documentos
collection.add(
    documents=["Como fazer deploy no AWS", "Guia de Python"],
    ids=["doc1", "doc2"]
)

# Buscar
results = collection.query(query_texts=["publicar aplicacao"], n_results=2)
4

📚 RAG - Retrieval Augmented Generation

RAG combina busca semantica com geracao LLM: primeiro busca contexto relevante, depois gera resposta informada.

Pipeline RAG

1Recebe pergunta do usuario
2Busca documentos relevantes no vector store
3Injeta contexto no prompt
4LLM gera resposta baseada no contexto

💡 Beneficios do RAG

  • • Reduz hallucinations - respostas baseadas em dados reais
  • • Conhecimento atualizado - nao limitado ao training cutoff
  • • Dados privados - usa documentos internos da empresa
  • • Citacoes - pode referenciar fontes
5

✂️ Chunking Strategies

Chunking e o processo de dividir documentos em pedacos menores para embedding. A estrategia impacta diretamente a qualidade do RAG.

Fixed Size

Chunks de tamanho fixo (ex: 500 tokens). Simples mas pode cortar contexto.

Recursive

Divide por paragrafos, depois sentencas. Respeita estrutura do texto.

Semantic

Agrupa por similaridade semantica. Melhor qualidade, mais complexo.

Overlap

Chunks com sobreposicao. Preserva contexto nas bordas.

6

📝 Skills com RAG

Skills podem usar RAG para se tornarem especialistas em dominios especificos com acesso a conhecimento privado.

Knowledge Base Skill

---
name: company-knowledge
description: Responde perguntas sobre a empresa.
  Use quando usuario perguntar sobre politicas, processos, produtos.
allowed-tools: Bash(python:*)
---

# Company Knowledge Expert

Para responder perguntas sobre a empresa:

```bash
python scripts/rag_query.py --question "$QUESTION"
```

O script busca no Chroma DB com docs da empresa e retorna resposta com citacoes.

## Fontes disponiveis
- Handbook do funcionario
- Politicas de RH
- Documentacao de produtos
- FAQs internos

🎯 Proximo Passo

No proximo modulo, exploramos Observabilidade - LangSmith, tracing, metricas e como monitorar AI em producao.

📚 Resumo do Modulo

Embeddings - Representacao vetorial de significado
Vector DBs - Pinecone, Chroma, Weaviate
Semantic Search - Busca por significado, nao keywords
RAG - Retrieval + Generation para respostas informadas
Chunking - Fixed, recursive, semantic, overlap
Skills + RAG - Especialistas com conhecimento privado

Proximo Modulo:

4.7 - Observabilidade