Gerando embeddings com text-embedding-3
Utilize text-embedding-3-small/large da OpenAI para converter strings em vetores de 1536 ou 3072 dimensões.
Gerando embeddings com text-embedding-3 é 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.
Modelos de representação vetorial da OpenAI
A OpenAI oferece dois modelos de representação vetorial para produção:
- text-embedding-3-small — 1536 dimensões, barato e rápido
- text-embedding-3-large — 3072 dimensões, melhor qualidade e mais lento
Use o small na maioria dos casos; use o large apenas quando a qualidade for mais importante do que o custo.
Sua primeira representação vetorial
Uma linha de código do SDK:
from openai import OpenAI
client = OpenAI()
resp = client.embeddings.create(
model='text-embedding-3-small',
input='Hello, world!'
)
vector = resp.data[0].embedding
print(len(vector)) # 1536Vetorização em lote
A API aceita listas — muito mais rápido do que fazer uma chamada por vez:
texts = ['cat', 'dog', 'pizza', 'sushi']
resp = client.embeddings.create(
model='text-embedding-3-small',
input=texts
)
vectors = [d.embedding for d in resp.data]
# vectors[0] is for 'cat', vectors[1] for 'dog', etc.Limites de tokens
Cada entrada tem um limite máximo de tokens (8192 para text-embedding-3). Documentos longos precisam ser divididos em partes primeiro.
Redução de dimensões
Você pode solicitar menos dimensões (representações vetoriais Matryoshka), o que é útil para armazenamento:
resp = client.embeddings.create(
model='text-embedding-3-large',
input='Hello',
dimensions=512 # default would be 3072
)Custo
Até o momento da redação:
- text-embedding-3-small: $0.02 / 1 milhão de tokens
- text-embedding-3-large: $0.13 / 1 milhão de tokens
Vetorizar 1 milhão de palavras custa aproximadamente $0.025 com o modelo small — essencialmente de graça.
Vetorize uma vez, reutilize para sempre
As representações vetoriais não mudam quando você as gera novamente — é possível calculá-las uma vez e armazená-las. O armazenamento em cache é essencial para qualquer sistema de produção.
Normalização de vetores
As representações vetoriais da OpenAI já são normalizadas em L2 (comprimento = 1). Isso significa que a similaridade de cosseno = produto escalar, economizando processamento:
import numpy as np
a = np.array(vec_a)
b = np.array(vec_b)
sim = np.dot(a, b) # since |a| = |b| = 1Vetorização assíncrona
Para obter alta vazão, use o cliente assíncrono:
from openai import AsyncOpenAI
import asyncio
client = AsyncOpenAI()
async def embed_batch(texts):
resp = await client.embeddings.create(
model='text-embedding-3-small',
input=texts
)
return [d.embedding for d in resp.data]
vectors = asyncio.run(embed_batch(['a', 'b', 'c']))Tente novamente em caso de falha
As chamadas de vetorização falham como qualquer chamada HTTP. Envolva-as em novas tentativas com espera progressiva:
from tenacity import retry, wait_exponential, stop_after_attempt
@retry(wait=wait_exponential(multiplier=1, max=10), stop=stop_after_attempt(5))
def safe_embed(text):
return client.embeddings.create(model='text-embedding-3-small', input=text)Armazenamento de representações vetoriais
Três opções comuns de armazenamento:
- SQLite com a extensão
sqlite-vec - Postgres com a extensão
pgvector - Banco de dados vetorial dedicado (Pinecone, Qdrant, Weaviate)
Atenção ao custo
Aproximadamente quanto custa vetorizar 1 milhão de palavras com text-embedding-3-small?
Recapitulação
Escolha text-embedding-3-small, faça chamadas em lote, armazene os vetores e você terá a base da busca semântica.
Perguntas Frequentes
A aula “Gerando embeddings com text-embedding-3” é grátis?
Sim — o texto completo de “Gerando embeddings com text-embedding-3” é 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 “Gerando embeddings com text-embedding-3”?
Utilize text-embedding-3-small/large da OpenAI para converter strings em vetores de 1536 ou 3072 dimensões. 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 “Gerando embeddings com text-embedding-3”?
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
- O que são embeddings (representações vetoriais)
- Gerando embeddings com text-embedding-3
- Similaridade de cosseno para recuperação
- Comparação de modelos de embedding (OpenAI vs. Cohere vs. OSS)