Conceitos
Embeddings
Representações vetoriais de dados que permitem conversão de textos, imagens e outros conteúdos em vetores numéricos.
Embeddings
Embeddings são representações vetoriais de dados, permitindo que textos, imagens ou outros conteúdos sejam convertidos em vetores numéricos que capturam significado semântico.
O que são Embeddings?
Embeddings são vetores de números que representam o significado semântico de dados, permitindo que computadores "entendam" similaridades entre diferentes conteúdos.
Como Funcionam
Embeddings transformam dados em vetores numéricos onde:
- Conteúdos semanticamente similares ficam próximos no espaço vetorial
- A "distância" entre vetores indica quão diferentes são os conteúdos
- Significados e relacionamentos são capturados nas dimensões do vetor
Provedores de Embeddings
| Provedor | Modelo | Dimensões | Características |
|---|---|---|---|
| OpenAI | text-embedding-ada-002 | 1536 | Alta qualidade, amplamente usado |
| text-embedding-gecko | 768 | Boa relação custo-benefício | |
| Cohere | embed-english-v3.0 | 1024 | Bom para multilíngue |
| Azure OpenAI | text-embedding-ada-002 | 1536 | Para ambiente Azure |
| HuggingFace | diversos modelos | Varia | Opções de código aberto |
Exemplo: Gerando Embeddings com OpenAI
import { OpenAI } from 'openai';
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
async function generateEmbedding(text: string): Promise<number[]> {
const response = await openai.embeddings.create({
model: "text-embedding-ada-002",
input: text,
});
return response.data[0].embedding;
}
// Uso
const embedding = await generateEmbedding("Como fazer um bolo de chocolate");
console.log(`Dimensões do embedding: ${embedding.length}`);Aplicações Práticas
- Busca Semântica: Encontrar documentos relevantes mesmo sem correspondência exata de palavras
- Classificação de Texto: Categorizar conteúdo com base em significado
- Recomendações: Sugerir itens similares
- RAG: Encontrar informações relevantes para melhorar respostas de LLMs