Ai Docs
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

ProvedorModeloDimensõesCaracterísticas
OpenAItext-embedding-ada-0021536Alta qualidade, amplamente usado
Googletext-embedding-gecko768Boa relação custo-benefício
Cohereembed-english-v3.01024Bom para multilíngue
Azure OpenAItext-embedding-ada-0021536Para ambiente Azure
HuggingFacediversos modelosVariaOpçõ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