¿Qué es un embedding y por qué debería importarte?

Un embedding es una representación numérica de contenido (texto, imágenes, audio) en un espacio vectorial de alta dimensión.

Implementación práctica

from openai import OpenAI
import numpy as np

client = OpenAI()

def get_embedding(text: str) -> list[float]:
    response = client.embeddings.create(
        input=text,
        model="text-embedding-3-small"
    )
    return response.data[0].embedding

def cosine_similarity(a: list[float], b: list[float]) -> float:
    a, b = np.array(a), np.array(b)
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

Casos de uso principales

  • Búsqueda semántica en bases de conocimiento
  • Sistemas de recomendación
  • Detección de duplicados
  • RAG (Retrieval Augmented Generation)