Técnicas avançadas
18 minLição 11 de 14
Embeddings e busca semântica
Converta texto em vetores para busca por similaridade
Objetivos de aprendizagem
- •Entender o que são embeddings e como funcionam
- •Aprender a implementar busca semântica
- •Saber quando usar embeddings em vez de outras abordagens
O que são embeddings?
Embeddings convertem texto em vetores numéricos que capturam significado semântico:
- Significados similares → Vetores similares
- Significados diferentes → Vetores diferentes
Uma frase como "Adoro pizza" vira um vetor como [0,23, -0,45, 0,87, ...] (tipicamente 1536+ dimensões).
Propriedade chave: Você pode medir similaridade entre embeddings com similaridade de cosseno ou produto escalar.
Gerando embeddings
const response = await openai.embeddings.create({
model: "text-embedding-ada-002",
input: "Seu texto aqui"
});
const vector = response.data[0].embedding;
// Retorna um vetor de 1536 dimensõesArmazene esses vetores em um banco vetorial para busca por similaridade eficiente.
Busca semântica
Busca tradicional: correspondência exata de palavras-chave Busca semântica: correspondência por significado
- "automóvel" encontra documentos sobre "carros"
- "feliz" encontra documentos sobre "alegre" ou "contente"
- "ML" encontra documentos sobre "aprendizado de máquina"
O processo:
- Gere embedding da sua consulta
- Encontre vetores similares no seu banco
- Retorne os documentos correspondentes
Erros comuns
×Fazer embedding de textos muito longos — divida em pedaços menores para melhor recuperação
×Usar modelo de embedding errado — combine o modelo ao seu caso de uso e idioma
×Ignorar custo de embeddings — são mais baratos que completions mas somam em escala
×Não normalizar vetores — algumas métricas de similaridade exigem vetores normalizados
Principais pontos
+Embeddings convertem texto em vetores que capturam significado semântico
+Significados similares produzem vetores similares, permitindo busca semântica
+Divida documentos longos em chunks para melhor precisão de recuperação
+Use embeddings para busca, clustering e sistemas de recomendação