Que son embeddings
Un embedding es un vector numerico que captura el significado de un texto. "Rey" y "monarca" tienen vectores cercanos; "rey" y "bicicleta" están lejos. Esto permite buscar por significado en vez de por palabras exactas.
Modelos de embeddings
OpenAI text-embedding-3-small: 1536 dimensiones, $0.02/M tokens. nomic-embed-text (local): 768 dimensiones, gratis con Ollama. sentence-transformers: variedad de modelos open source en HuggingFace.
Bases de datos vectoriales
Qdrant: open source, self-hosteable, alto rendimiento. Ideal para producción.
Chroma: simple, embebido en Python. Ideal para prototipos.
pgvector: extensión de PostgreSQL. Si ya usas Postgres (Supabase), no necesitas otro servicio.
Pinecone: managed, sin ops. Caro pero fácil.
Pipeline RAG con embeddings
1. Cargar documentos. 2. Dividir en chunks (500-1000 tokens). 3. Generar embeddings por chunk. 4. Indexar en vector DB. 5. Query: embedding de la pregunta → busqueda por similitud → top-K chunks → LLM genera respuesta con contexto.
Ejemplo con Ollama + Qdrant
import requests
from qdrant_client import QdrantClient
# Embedding local (gratis)
resp = requests.post("http://localhost:11434/api/embeddings",
json={"model": "nomic-embed-text", "prompt": "texto"})
vector = resp.json()["embedding"]
# Indexar en Qdrant
client = QdrantClient(host="localhost", port=6333)
client.upsert(collection_name="docs",
points=[PointStruct(id=1, vector=vector, payload={"text": "texto"})])
Aprende más en IAcademy
Los 3 primeros módulos son gratis. Cubre desde prompting hasta agentes IA y deploy en producción.
Empieza gratisCurso completo: 151 módulos de IA aplicada
13 especializaciones. Claude API, LangChain, Ollama, fine-tuning. Dashboard con progreso. Desde 399 EUR.