0Pricing
AI Agents · Lección

Generar embeddings con text-embedding-3

Use OpenAI text-embedding-3-small/large para convertir cadenas en vectores de 1536 o 3072 dimensiones.

Generar embeddings con text-embedding-3 es una lección gratuita de AI Agents en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Agents, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Agents incluye 4 lecciones en total.

Modelos de embedding de OpenAI

OpenAI ofrece dos modelos de embedding para producción:

  • text-embedding-3-small — 1536 dimensiones, económico y rápido
  • text-embedding-3-large — 3072 dimensiones, mayor calidad y más lento

Use small en la mayoría de los casos y large únicamente cuando la calidad sea más importante que el coste.

Su primer embedding

Una línea de código del 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))      # 1536

Embedding por lotes

La API admite listas, lo que es mucho más rápido que hacer una llamada cada 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.

Límites de tokens

Cada entrada tiene un límite máximo de tokens (8192 para text-embedding-3). Primero debe dividir los documentos largos en fragmentos.

Reducir las dimensiones

Puede solicitar menos dimensiones (embeddings Matryoshka), lo que resulta útil para el almacenamiento:

resp = client.embeddings.create(
    model='text-embedding-3-large',
    input='Hello',
    dimensions=512    # default would be 3072
)

Coste

En el momento de escribir esto:

  • text-embedding-3-small: 0,02 $ / 1M de tokens
  • text-embedding-3-large: 0,13 $ / 1M de tokens

Generar embeddings para 1M de palabras cuesta aproximadamente 0,025 $ con el modelo small: prácticamente gratis.

Genere embeddings una vez y reutilícelos siempre

Los embeddings no cambian al volver a generarlos; puede calcularlos una vez y almacenarlos. El almacenamiento en caché es esencial para cualquier sistema de producción.

Normalizar vectores

Los embeddings de OpenAI ya están normalizados mediante L2 (longitud = 1). Esto significa que la similitud coseno = el producto escalar, lo que ahorra cálculo:

import numpy as np
a = np.array(vec_a)
b = np.array(vec_b)
sim = np.dot(a, b)     # since |a| = |b| = 1

Embedding asíncrono

Para un alto rendimiento, use el cliente así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']))

Reintentar en caso de error

Las llamadas para generar embeddings fallan como cualquier llamada HTTP. Envuélvalas en un mecanismo de reintento con retroceso:

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)

Almacenar embeddings

Tres opciones habituales de almacenamiento:

  • SQLite con la extensión sqlite-vec
  • Postgres con la extensión pgvector
  • Una base de datos vectorial especializada (Pinecone, Qdrant, Weaviate)

Tener en cuenta los costes

¿Cuánto cuesta aproximadamente generar embeddings para 1 millón de palabras con text-embedding-3-small?

Recapitulación

Elija text-embedding-3-small, agrupe las llamadas por lotes, almacene los vectores y tendrá los fundamentos de la búsqueda semántica.

Preguntas frecuentes

¿La lección «Generar embeddings con text-embedding-3» es gratis?

Sí — el texto completo de «Generar embeddings con text-embedding-3» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Agents, actualiza a CoddyKit PRO. El curso de AI Agents incluye 4 lecciones en total.

¿Qué aprenderé en «Generar embeddings con text-embedding-3»?

Use OpenAI text-embedding-3-small/large para convertir cadenas en vectores de 1536 o 3072 dimensiones. Practicas AI Agents con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar AI Agents?

No se requiere experiencia previa. AI Agents en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Generar embeddings con text-embedding-3»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de AI Agents?

Sí. Cada lección de AI Agents incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Qué son los embeddings (representaciones vectoriales)
  2. Generar embeddings con text-embedding-3
  3. Similitud coseno para la recuperación
  4. Comparación de modelos de embeddings (OpenAI frente a Cohere y OSS)
← Volver a AI Agents