---
title: "¿Qué es RAG (Retrieval-Augmented Generation)?"
canonical: https://wavect.io/es/glossary/rag/
language: es
description: "Inyecta contexto de tus propios datos en el prompt del LLM en tiempo de ejecución: el modelo responde desde tu conocimiento, no desde su entrenamiento."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

TECNOLOGÍAS

# RAG

Retrieval-Augmented Generation

Inyecta contexto de tus propios datos en el prompt del LLM en tiempo de ejecución: el modelo responde desde tu conocimiento, no desde su entrenamiento.

Última revisión: 2026-05-24 por [Kevin Riedl](/es/team/kevin-riedl/) [wiki ↗](https://www.wikidata.org/wiki/Q139796365)

RAG es la arquitectura que permite a un LLM responder a preguntas sobre datos en los que no fue entrenado. El mecanismo es directo: coge la pregunta del usuario, recupera los chunks más relevantes de tu corpus (vía búsqueda vectorial, por keywords o híbrida), mételos en el prompt y deja que el modelo responda. Es la capa de fundamentación bajo la mayoría de [AI agents](/es/glossary/ai-agents/) útiles.

Por qué existe RAG: entrenar un modelo con tus datos privados es caro, lento y queda obsoleto en cuanto tus datos cambian. RAG lo evita tratando los datos como contexto en tiempo de ejecución. Trade-off: la calidad de la recuperación se vuelve el cuello de botella. Un modelo con mal contexto produce respuestas erróneas con seguridad.

Ejemplo del fallo clásico: una empresa construye un bot de soporte sobre sus docs de ayuda, la demo impresiona, y luego en producción cita con seguridad la política de reembolso equivocada. El instinto es culpar al modelo y probar uno más grande. Las respuestas siguen mal, porque el problema está aguas arriba: los docs se trocearon a mitad de frase, los embeddings no distinguen «reembolso» de «devolución», y no hay reranker que suba el pasaje correcto arriba. Mete mejor chunking, búsqueda híbrida y un reranker y el mismo modelo de pronto parece listo. La lección generaliza: cuando RAG se equivoca, sospecha de la recuperación antes que de la generación casi siempre.

El trade-off honesto y dónde se rompe RAG: brilla en preguntas tipo lookup contestables desde unos pocos pasajes, y se degrada cuando la respuesta exige sintetizar entre muchos documentos o reconciliar contradicciones en el corpus. En ese punto quieres un corpus curado más pequeño, un pipeline agéntico que razone por pasos, o fine-tuning, no un retriever más grande. La verdad poco sexy es que el 80 % del trabajo es hacer buena la recuperación (chunking, embeddings, reranking, búsqueda híbrida) y el 20 % el modelo. Envolver tus fuentes de datos como servidores [MCP](/es/glossary/mcp/) hace portátil la capa de recuperación, pero no la hace buena. Los vendors que venden RAG como una feature de un clic venden la parte fácil.

// FAQ

## Preguntas frecuentes

### ¿RAG o fine-tuning?

RAG si los datos cambian, son privados o son específicos del cliente. Fine-tuning si el conocimiento es estable y necesitas un tono o estilo muy concreto. Para casi todo lo empresarial, RAG. Fine-tuning está sobrevendido; suele ser caro, complejo y se queda obsoleto la próxima vez que cambien tus datos.

### ¿Por qué mi RAG «funcionaba en la demo» y falla en producción?

Porque el chunking, el reranking y el filtrado por metadatos son el 80 % del trabajo y nadie los hace en la demo. La búsqueda vectorial pura encuentra cosas «similares» sin saber si son relevantes. Sin reranking ni filtros, el LLM recibe contexto plausible pero equivocado y responde con seguridad falsa.

### ¿Qué embedding model debería usar?

Empieza por algo barato y bien documentado (text-embedding-3-large de OpenAI, Cohere embed v3, o un open-weights como bge-large) y mide en tu corpus con un eval real. El «mejor» embedding cambia cada seis meses; el dataset de evaluación que tú construyas es lo que sigue valiendo el año que viene.

Términos relacionados

- [AI Agents](/es/glossary/ai-agents/)
- [MCP](/es/glossary/mcp/)

Servicios relacionados

- [Inteligencia Artificial](/es/services/artificial-intelligence/)

Casos de estudio relacionados

- [Quivr](/es/case-studies/quivr/)
- [PromptID](/es/case-studies/promptid/)

Guías relacionadas

- [Como elegir un stack tecnologico para un MVP](/es/software-development-guide/how-to-choose-a-tech-stack-for-mvp/)

Tratado en artículos

- [RAG vs fine-tuning vs contexto largo (2026)](/es/blog/rag-vs-finetune-vs-longcontext-2026/)
- [Checklist de preparación para producción de RAG en la UE](/es/blog/rag-production-readiness-checklist-eu/)

Hablemos

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/es/glossary/rag/#term",
      "@type": "DefinedTerm",
      "alternateName": [],
      "description": "Inyecta contexto de tus propios datos en el prompt del LLM en tiempo de ejecución: el modelo responde desde tu conocimiento, no desde su entrenamiento.",
      "inDefinedTermSet": "https://wavect.io/es/glossary/#termset",
      "name": "RAG",
      "termCode": "rag",
      "url": "https://wavect.io/es/glossary/rag/"
    },
    {
      "@id": "https://wavect.io/es/glossary/rag/#webpage",
      "@type": "WebPage",
      "about": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "author": {
        "@id": "https://wavect.io/team/kevin-riedl/#person",
        "@type": "Person",
        "name": "Kevin Riedl",
        "url": "https://wavect.io/team/kevin-riedl/"
      },
      "dateModified": "2026-05-24",
      "description": "Inyecta contexto de tus propios datos en el prompt del LLM en tiempo de ejecución: el modelo responde desde tu conocimiento, no desde su entrenamiento.",
      "headline": "RAG",
      "inLanguage": "es",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-05-24",
      "mainEntity": {
        "@id": "https://wavect.io/es/glossary/rag/#term"
      },
      "mentions": [
        {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        {
          "@type": "Service",
          "name": "Inteligencia Artificial",
          "url": "https://wavect.io/es/services/artificial-intelligence/"
        }
      ],
      "name": "RAG",
      "reviewedBy": {
        "@id": "https://wavect.io/team/christof-jori/#person",
        "@type": "Person",
        "name": "Christof Jori",
        "url": "https://wavect.io/team/christof-jori/"
      },
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".gls-single__h1",
          ".gls-single__tldr"
        ]
      },
      "url": "https://wavect.io/es/glossary/rag/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/es/",
          "name": "Inicio",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/es/glossary/",
          "name": "Glosario de tech, producto e ingeniería",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/es/glossary/rag/",
          "name": "RAG",
          "position": 3
        }
      ]
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "RAG si los datos cambian, son privados o son específicos del cliente. Fine-tuning si el conocimiento es estable y necesitas un tono o estilo muy concreto. Para casi todo lo empresarial, RAG. Fine-tuning está sobrevendido; suele ser caro, complejo y se queda obsoleto la próxima vez que cambien tus datos."
      },
      "name": "¿RAG o fine-tuning?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Porque el chunking, el reranking y el filtrado por metadatos son el 80 % del trabajo y nadie los hace en la demo. La búsqueda vectorial pura encuentra cosas «similares» sin saber si son relevantes. Sin reranking ni filtros, el LLM recibe contexto plausible pero equivocado y responde con seguridad falsa."
      },
      "name": "¿Por qué mi RAG «funcionaba en la demo» y falla en producción?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Empieza por algo barato y bien documentado (text-embedding-3-large de OpenAI, Cohere embed v3, o un open-weights como bge-large) y mide en tu corpus con un eval real. El «mejor» embedding cambia cada seis meses; el dataset de evaluación que tú construyas es lo que sigue valiendo el año que viene."
      },
      "name": "¿Qué embedding model debería usar?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
