IALLMsRAGPythonEmbeddings

RAG explicado: cómo darle a un LLM tu propia información

Publicado el 2026-06-15 · Xiliux

Un modelo de lenguaje sabe mucho del mundo, pero no sabe nada de tu empresa: tus manuales, tus políticas, tus productos. Y si le preguntas por algo que no sabe, puede inventar una respuesta que suena convincente. RAG (Retrieval-Augmented Generation) resuelve las dos cosas.

La idea

En lugar de esperar que el modelo "se sepa" tu información, se la das en el momento de la pregunta:

  1. Indexas tus documentos: los divides en fragmentos y los conviertes en embeddings (vectores numéricos que capturan el significado).
  2. Cuando llega una pregunta, buscas los fragmentos más parecidos a esa pregunta.
  3. Le pasas al LLM la pregunta junto con esos fragmentos y le pides que responda usándolos.

El modelo ya no adivina: responde a partir de un contexto real que tú controlas. Y puedes pedirle que cite de dónde salió cada dato.

El patrón en Python

# 1. Indexado (una vez): fragmentos -> embeddings -> base vectorial
#    (con librerías como sentence-transformers + FAISS, o un servicio gestionado)

# 2. En cada pregunta: recuperar los fragmentos relevantes
fragmentos = base_vectorial.buscar(pregunta, k=4)
contexto = "\n\n".join(fragmentos)

# 3. Generar la respuesta con el contexto
from anthropic import Anthropic
client = Anthropic()

resp = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    system="Responde SOLO con la información del contexto. Si no está, dilo.",
    messages=[{
        "role": "user",
        "content": f"Contexto:\n{contexto}\n\nPregunta: {pregunta}",
    }],
)
print(resp.content[0].text)

Fíjate en la instrucción del system: pedirle que responda solo con el contexto y que admita cuando no sabe es lo que reduce drásticamente las alucinaciones.

¿Para qué sirve?

Detalles que marcan la diferencia

RAG es hoy una de las formas más rentables de aplicar IA en un negocio: no reentrenas nada, y el asistente mejora con solo actualizar tus documentos.

¿Quieres un asistente con tus datos?

En Xiliux construyo sistemas RAG en Python de principio a fin. Cuéntame qué información quieres poner a trabajar: contacto.

Preguntas frecuentes

¿Por qué RAG evita las alucinaciones?

Un LLM inventa cuando le preguntas algo que no sabe. RAG le entrega el contexto real (tus fragmentos) en el momento de la pregunta, así responde a partir de información que tú controlas en vez de adivinar. Puedes además pedirle que cite la fuente de cada afirmación.

¿Qué es un embedding?

Un vector numérico que captura el significado de un fragmento de texto. Textos parecidos tienen vectores cercanos, así que buscar 'los fragmentos más relevantes a una pregunta' se vuelve una búsqueda por cercanía entre vectores.

¿RAG o afinar (fine-tuning) el modelo?

RAG para conocimiento que cambia (documentos, políticas, catálogo): actualizas el índice, no el modelo. Fine-tuning para enseñar un estilo o formato, no hechos. Para 'que responda con MIS documentos', RAG es casi siempre lo correcto y más barato.

¿Cómo controlo que no invente fuera del contexto?

En el prompt, instrúyele a responder SOLO con los fragmentos dados y a decir 'no lo sé' si no está. Y pídele la cita: si no puede señalar de dónde salió, es señal de que se lo inventó.

← Ver más artículosCotizar un proyecto