Aijolot
← Academia AILección 01 / 12

Fundamentos · Semana 1

Tokens, Embeddings
e Inferencia

Duración estimada

~45 minutos

Fuente principal

Hands-on LLMs — Cap. 2 & 3

Por qué importa

Sin esto, RAG y los agentes son cajas negras

Aplicación directa

DentalTrading · Hermos · Magna

01 — El primer paso

¿Qué es un Token?

Cuando envías texto a un LLM, lo primero que ocurre nuncaes que el modelo “lee” tu mensaje como tú lo harías. Antes de cualquier procesamiento, el texto pasa por un tokenizador que lo fragmenta en piezas llamadas tokens.

Un token no es una palabra. Puede ser una palabra completa, parte de una palabra, un signo de puntuación, o incluso un espacio en blanco. El tokenizador de GPT-4, por ejemplo, convierte la frase “¡Hola mundo!” en algo así:

💬Texto crudo"¡Hola mundo!"
✂️TokenizadorBPE / WordPiece
🔢Token IDs[161, 72, 9338, 0]
🧠LLMEntrada numérica

Dato clave

El modelo nunca ve texto. Ve únicamente números — listas de IDs que corresponden a fragmentos de texto según el vocabulario del tokenizador.

Las 3 decisiones de diseño de un tokenizador

Cuando evalúas un modelo para producción, el tokenizador importa tanto como la arquitectura. Hay tres variables que determinan su comportamiento:

VariableQué controlaImpacto práctico
Algoritmo
BPE, WordPiece, SentencePiece
Cómo se fragmentan las palabras en subunidadesAfecta idiomas no ingleses — crítico para WhatsApp en español
Vocabulario
Tamaño, tokens especiales
Cuántos tokens distintos existenGPT-4 tiene ~100k tokens. Más tokens = menos fragmentación del texto
Dataset de entrenamiento
Corpus usado para entrenar
Qué idiomas y dominios representa bienModelos entrenados en inglés usan más tokens para el mismo texto en español
Analogía
Piensa en el tokenizador como un diccionario Morse: antes de transmitir un mensaje por telégrafo, traduces cada letra a puntos y rayas. El LLM trabaja sobre esos puntos y rayas — nunca sobre las letras originales. Si el diccionario no tiene tu idioma bien representado, el mensaje se vuelve más largo y pierde matices.

~4

Caracteres promedio por token en inglés

~2–3

Caracteres por token en español (menos eficiente)

02 — La representación numérica del significado

Embeddings: Ideas
como Vectores

Una vez que el texto está tokenizado, el modelo necesita convertir cada token en un número que capture su significado. Eso es un embedding: un vector de cientos o miles de números de punto flotante que posiciona conceptualmente una palabra (o frase) en un espacio multidimensional.

Regla de oro: Conceptos similares tienen vectores cercanos en ese espacio. La distancia entre vectores es una medida de similitud semántica.

El ejemplo de las tres frases

Supongamos embeddings simplificados de 3 dimensiones para visualizar la idea:

"El rápido zorro marrón salta sobre el perro perezoso"

[0.80, 0.10, 0.30]

Frase 1 — Referencia

"Un veloz zorro oscuro salta sobre un canino dormido"

[0.79, 0.14, 0.32]

Frase 2 — Muy similar ↑

"Las manzanas son dulces y crujientes"

[0.20, 0.90, 0.50]

Frase 3 — Diferente ↓

Las frases 1 y 2 tienen vectores casi idénticos a pesar de usar palabras diferentes. Eso es exactamente lo que hace útil un buen embedding para búsqueda semántica — no busca por coincidencia de palabras, sino por proximidad de significado.

Dos tipos de embeddings que debes distinguir

TipoQué representaUso principalEjemplo
Token EmbeddingUn token individual en contextoClasificación, NER, entender el estado interno del modeloLa palabra "banco" tiene vectores distintos según si hablas de dinero o de río
Text EmbeddingUna frase, párrafo o documento completoBúsqueda semántica, RAG, recomendadoressentence-transformers genera un único vector para "¿Cómo cancelo mi pedido?"

⚠ Impacto en producción — Hermos

Al construir el RAG sobre el catálogo de Hermos, el tamaño del chunk que conviertes a embedding importa: chunks muy pequeños pierden contexto (un fragmento de especificación técnica sin su encabezado no significa nada). Chunks muy grandes diluyen el significado y recuperas documentos genéricos en vez de los específicos.

El modelo guarda un embedding por cada token del vocabulario

Cuando descargas un modelo preentrenado, parte de su peso es una matriz de embeddings: una tabla gigante donde cada fila corresponde a un token del vocabulario. Al inicio del entrenamiento esos vectores son aleatorios; al final del entrenamiento capturan relaciones semánticas del lenguaje. Por eso un LLM y su tokenizador son inseparables — no puedes cambiar uno sin reentrenar el otro.

03 — El proceso de generación

Inferencia: Cómo
Genera el Modelo

Ya sabes que el texto se tokeniza y que los tokens se convierten en vectores. Ahora: ¿cómo el modelo genera una respuesta token a token?

📝Prompt"¿Precio del…"
🔢Tokenización[14, 332, 11, …]
TransformerAttention layers
📊LogitsProb. por token
🎲SamplingSiguiente token
🔄LoopHasta [EOS]

El modelo genera un token a la vez. En cada paso, produce una distribución de probabilidad sobre todo el vocabulario (los logits). Luego una estrategia de muestreo selecciona el siguiente token. Ese token se agrega al contexto y el proceso se repite hasta que el modelo genera un token de fin de secuencia.

Los parámetros de control que realmente importan

ParámetroQué haceCuándo ajustarlo
temperatureControla la aleatoriedad. 0 = siempre el token más probable. 1= distribución original. >1 = más randomAgente de soporte → temp baja (0.2). Generación creativa → temp alta (0.8+)
top_pNucleus sampling: solo considera tokens cuya probabilidad acumulada llega a pAlternativa o complemento a temperature. top_p=0.9 es un buen default
max_tokensLímite duro de tokens a generarSiempre ponerlo. Sin límite, el modelo puede generar indefinidamente y explotar costos
stop sequencesTokens o strings que detienen la generación anticipadamenteRespuestas estructuradas, JSON outputs, agentes con múltiples pasos

Python — llamada básica con parámetros controlados

from anthropic import Anthropic

client = Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=512,          # Siempre ponerlo en producción
    temperature=0.2,         # Bajo para respuestas consistentes
    system="Eres el asistente de DentalTrading.",
    messages=[
        {"role": "user", "content": "¿Cuándo llega mi pedido?"}
    ]
)

# El modelo generó token a token, pero aquí ves el resultado final
print(response.content[0].text)

Los límites reales que debes conocer

Knowledge Cutoff

El modelo solo sabe lo que existía en su dataset de entrenamiento. Si le preguntas sobre un producto lanzado el mes pasado, alucina o dice que no sabe. Solución: RAG (siguiente semana).

Context Window

Todo lo que el modelo puede “ver” a la vez tiene un límite (tokens del prompt + tokens generados). Claude Sonnet 4.6: 200k tokens. Superar ese límite requiere chunking o summarization.

⚠ Alucinación — el riesgo más crítico

Un LLM siempre genera el token más probable, no el token más verdadero. Si no tiene información relevante en contexto, inventa datos plausibles con total confianza. Para DentalTrading, esto significa que jamás debes dejar al modelo generar precios, fechas de entrega, o disponibilidad de stock sin una fuente de verdad inyectada via RAG o tool calls.

04 — Por qué importa para tu trabajo

Conectando los conceptos
con tus proyectos

Estos fundamentos no son teoría pura. Cada decisión que tomas al construir agentes y pipelines RAG depende de entender qué ocurre debajo del capó:

Situación realConcepto aplicadoDecisión correcta
El agente de DentalTrading da precios incorrectosKnowledge cutoff + alucinaciónSiempre inyectar precios desde la DB via tool call — nunca confiar en el conocimiento interno del modelo
El RAG de Hermos recupera documentos irrelevantesText embeddings + similitud cosenoRevisar el modelo de embeddings, el tamaño de chunk, y la estrategia de indexado
Las respuestas del agente son inconsistentes entre llamadasTemperature / samplingBajar temperature a 0.1–0.3. Considerar top_p=0.9 con temperature baja
El contexto del chat se "olvida" en conversaciones largasContext window limitImplementar summarization de historial o sliding window
El modelo tarda mucho en responderInferencia token a tokenUsar streaming para UX. Evaluar modelos más pequeños (Haiku) para pasos intermedios del agente

Validación de conocimiento

¿Cuánto absorbiste?

6 preguntas. Selecciona tu respuesta — la explicación aparece al confirmar.

PREGUNTA 01

¿Qué ve realmente un LLM cuando le envías el mensaje "¿Cuál es el precio?"

  • AEl texto completo como cadena de caracteres
  • BUna secuencia de IDs numéricos que corresponden a fragmentos del texto
  • CUna imagen del texto
  • DEl texto convertido directamente a embeddings sin tokenizar primero

PREGUNTA 02

Estás construyendo búsqueda semántica sobre el catálogo de Hermos. ¿Qué tipo de embedding necesitas generar para los documentos de producto?

  • AToken embeddings — uno por cada palabra del documento
  • BLos embeddings internos del LLM durante la generación
  • CText embeddings — un vector por chunk de documento que capture su significado completo
  • DEmbeddings de caracteres individuales

PREGUNTA 03

El agente de WhatsApp de DentalTrading le dice a un cliente que un producto cuesta $45, pero en la DB el precio es $62. ¿Cuál es la causa raíz?

  • AEl modelo tiene knowledge cutoff y alucinó un precio plausible de su entrenamiento
  • BTemperature demasiado alta causó variabilidad en la respuesta
  • CEl tokenizador fragmentó mal el número
  • DEl context window no fue suficiente para procesar el prompt

PREGUNTA 04

Para el agente de soporte de Magna Perfumes quieres respuestas consistentes y factuales. ¿Qué configuración de temperatura es la más adecuada?

  • Atemperature = 1.5 — máxima creatividad
  • Btemperature = 1.0 — distribución natural del modelo
  • Ctemperature = 0.7 — balance entre creatividad y consistencia
  • Dtemperature = 0.1 o 0.2 — respuestas casi deterministas

PREGUNTA 05

¿Por qué un LLM entrenado principalmente en inglés es "menos eficiente" con texto en español, en términos de costo y velocidad?

  • APorque el modelo no entiende el español
  • BPorque el tokenizador fragmenta el español en más tokens que el inglés para el mismo contenido
  • CPorque los embeddings del español son de menor dimensión
  • DPorque los LLMs solo generan texto en el idioma del prompt

PREGUNTA 06

En el RAG de Hermos, los chunks de producto son demasiado pequeños (50 palabras). ¿Qué problema específico genera esto en los embeddings?

  • ALos embeddings son más lentos de calcular
  • BEl modelo de embeddings no acepta inputs tan cortos
  • CEl vector embedding pierde contexto: un fragmento sin su encabezado o especificación completa no representa el concepto correctamente
  • DEl context window del LLM se excede más rápido

Próxima lección — Semana 2

RAG: De Naive a Producción