Chat Privado con Normativas: Guía para que la IA Cite el Artículo Exacto y No Invente [2026]
TL;DR
- Un chat IA genérico inventa artículos de normativa porque opera sin acceso al texto literal: mezcla versiones, confunde jurisdicciones y fabrica numeración plausible pero incorrecta.
- La solución es un chat privado con RAG especializado que cita artículo, apartado, página del PDF oficial y versión vigente en cada respuesta.
- Siete capas técnicas son obligatorias: ingesta estructurada, chunking por artículo, metadata rica, retrieval híbrido, reranking, prompt de citación obligatoria y validador automático.
- Modelo recomendado por defecto: Claude Opus 4.6 (ventana 200k) para normativa compleja; Gemini 2.5 Pro (ventana 2M) para corpus masivo; DeepSeek V4 on-premise para soberanía de datos.
- Casos verificados en 2026: consultora de ingeniería civil redujo redacción de memorias técnicas de 3 días a 4 horas; despacho de arquitectos validó 40 proyectos contra CTE + plan general en un mes; despacho legal PYME revisa contratos contra LOPDGDD en minutos.
- Stack mínimo: VPS europeo (cumplimiento GDPR) + pgvector o Qdrant + rerankers tipo BGE + prompt estricto con fallback "no consta".
- Sin validación automática no hay chat normativo útil: un grounding check por regex sobre la respuesta evita el 90% de las alucinaciones residuales.
Hace unos meses me llamó el socio director de una consultora de ingeniería civil del norte de España. Tenían treinta ingenieros redactando memorias técnicas para proyectos de edificación e instalaciones, y el cuello de botella era siempre el mismo: cruzar el CTE, el RITE, la EHE-08 y la normativa autonómica correspondiente para justificar cada decisión técnica. Tres días de trabajo por memoria. Una persona dedicada solo a buscar "el artículo exacto" en PDFs de 600 páginas.
Probaron ChatGPT. Les daba respuestas convincentes con artículos que no existían. Probaron un wrapper con archivos adjuntos. Confundía la versión de 2019 del CTE DB-HE con la de 2022. Probaron pegar el PDF entero en la ventana de contexto. El modelo citaba el apartado correcto una de cada tres veces y sacaba números de la nada las otras dos.
Les monté un chat privado con RAG especializado en normativa, citación obligatoria del articulado literal y validador automático. La redacción pasó de tres días a cuatro horas por memoria. En este tutorial te cuento exactamente cómo funciona ese sistema y por qué un chat IA genérico nunca puede sustituirlo cuando la respuesta tiene consecuencias legales o técnicas.
Por qué un chat IA genérico inventa normativa
Un chat IA genérico alucina normativa porque genera texto plausible, no texto verificado contra un corpus autoritativo y versionado. Tres razones técnicas lo explican:
- No tiene acceso al texto oficial. El modelo aprendió de scrapeos parciales de la web en un momento dado. No sabe si su copia interna del CTE DB-HE está actualizada, ni si el BOE publicó una modificación el 12 de marzo de 2026.
- Mezcla jurisdicciones. Una consulta sobre "normativa de eficiencia energética" puede devolver fragmentos mezclados entre normativa estatal española, directivas UE y normativas autonómicas, sin distinguirlas.
- Confabula numeración plausible. El modelo sabe que el CTE DB-HE tiene secciones, sabe que esas secciones tienen artículos, y rellena con números que "suenan bien". El 90% de las alucinaciones de normativa son errores de numeración y apartado, no errores conceptuales.
Según el EU AI Act (AESIA, 2026), cualquier sistema de IA usado para "informar decisiones profesionales con consecuencias legales" entra en la categoría de alto riesgo y requiere trazabilidad de fuentes. Un chat genérico no cumple este requisito, uno con RAG citador sí puede hacerlo.
Arquitectura de un chat IA que cita normativa sin alucinar
La arquitectura que uso para todos mis clientes de ingeniería, arquitectura y legal tiene siete capas. Saltarte cualquiera de ellas rompe la cadena.
Capa 1: ingesta estructurada (no PDF plano)
El PDF oficial del BOE nunca entra directamente al RAG. Pasa por un parseo estructurado que respeta la jerarquía del documento: título, parte, capítulo, sección, artículo, apartado, letra.
Herramientas que uso:
unstructuredypdfplumberpara extraer texto con coordenadas.- Una capa de normalización en Python que detecta los patrones del BOE:
"Artículo N.","N.1","a)","DB-HE N". - OCR con Tesseract o modelos tipo
doclingpara normativas antiguas escaneadas.
Si ingestas un PDF sin estructurar, el chunking posterior partirá artículos por la mitad y el modelo no podrá citarlos con precisión.
Capa 2: chunking por artículo, no por tokens
El chunking por número de tokens es el error más común en proyectos de RAG legal. Corta a mitad del articulado y mezcla el final de un artículo con el principio del siguiente. La respuesta cita "Artículo 4" pero el fragmento contenía también parte del 5.
La regla es sencilla: un chunk = un artículo (o apartado), con solapamiento mínimo. Si un artículo es demasiado largo (caso típico del CTE DB-SI), lo partes por apartados respetando la numeración jerárquica.
1# Pseudocódigo simplificado2for articulo in documento.articulos:3 if len(articulo.texto) < 3000:4 chunks.append({5 "texto": articulo.texto,6 "tipo": "articulo_completo",7 "id": articulo.id8 })9 else:10 for apartado in articulo.apartados:11 chunks.append({12 "texto": apartado.texto,13 "tipo": "apartado",14 "id": f"{articulo.id}.{apartado.numero}"15 })
Capa 3: metadata obligatoria
Cada chunk lleva metadata rica o no sirve. Mínimo obligatorio:
norma: "CTE DB-HE" / "RITE" / "EHE-08" / "LOPDGDD"articulo: "4.2.1"apartado: "a"version: "2022-06-03"jurisdiccion: "Estatal" / "UE" / "Autonómica-Andalucía"pagina_pdf: 47url_oficial: enlace al BOE o DOUEfecha_vigor: "2022-06-03"fecha_derogacion: null o fecha
Sin esta metadata no puedes versionar (capa crítica), ni filtrar por jurisdicción, ni citar página del PDF oficial.
Capa 4: retrieval con hybrid search
Búsqueda semántica sola falla en normativa: el usuario pregunta "¿cuántos m² mínimos de apertura en habitaciones?" y el modelo busca semánticamente, pero la respuesta está en un artículo que literalmente dice "huecos practicables" no "aperturas".
La solución es hybrid search: combinar BM25 (palabras exactas) con búsqueda semántica (embeddings). Uso pesos 40/60 para normativa, porque los términos técnicos del BOE son muy específicos y BM25 pesca mejor referencias a números de artículo o palabras clave legales como "superficie útil" o "transmitancia térmica".
Stack que funciona en 2026:
| Componente | Opción recomendada | Alternativa |
|---|---|---|
| Embeddings | bge-m3 multilingüe | text-embedding-3-large (OpenAI) |
| Vector DB | pgvector sobre Postgres | Qdrant self-hosted |
| BM25 | Elasticsearch o Meilisearch | tsvector nativo de Postgres |
| Ensemble | LangChain EnsembleRetriever | Implementación propia |
Capa 5: reranking con modelo especializado
Tras la búsqueda híbrida, un reranker reordena los top-20 candidatos y devuelve los top-4 más relevantes. Sin este paso, el LLM recibe basura semántica y cita artículos tangenciales.
Modelos de reranking que recomiendo en 2026:
bge-reranker-v2-m3: open source, español decente, gratis, self-hosted. Para la mayoría de clientes.Cohere rerank-multilingual-v3.0: pago por API, mejor calidad en español jurídico.- Cross-encoder fine-tuneado con preguntas reales del cliente si el volumen lo justifica (>500 queries/día).
Capa 6: prompt con citación obligatoria
El prompt es la última línea de defensa contra alucinaciones. Este es el que uso en producción para chats normativos:
1Eres un asistente normativo. Respondes ÚNICAMENTE a partir de los2fragmentos de normativa oficial proporcionados abajo.3 4REGLAS INVIOLABLES:51. Cada afirmación factual debe terminar con la cita exacta en formato:6 [Norma, Artículo X.Y, apartado Z, pág. N, versión YYYY-MM-DD]72. Si la información no está en los fragmentos, responde exactamente:8 "No consta en la base de conocimiento indexada (fecha: 21 de abril9 de 2026). Recomiendo consultar el texto oficial en BOE."103. Prohibido citar artículos que no aparezcan literalmente en los11 fragmentos.124. Prohibido combinar versiones distintas de la misma norma. Si el13 usuario no especifica versión, usa la vigente a fecha de hoy.145. Si detectas conflicto entre normativa estatal y autonómica, indica15 ambas y señala cuál prevalece según la jerarquía normativa.16 17Fragmentos indexados:18{context}19 20Pregunta del usuario:21{question}
Este prompt reduce alucinaciones aproximadamente un 85% respecto a un prompt genérico de RAG (análisis propio sobre 400 queries, javadex.es, marzo 2026).
Capa 7: validador automático
Un regex sobre la respuesta verifica que cada párrafo contiene una cita válida. Si no la contiene, el sistema descarta la respuesta o la marca como "sin fuente" antes de mostrársela al usuario.
1import re2 3PATRON_CITA = r"\[(CTE|RITE|EHE-08|LOPDGDD)[^\]]+Art[íi]culo\s+[\d.]+[^\]]*\]"4 5def validar_respuesta(respuesta, corpus_ids):6 citas = re.findall(PATRON_CITA, respuesta)7 if not citas:8 return "RECHAZAR: sin citas"9 for cita in citas:10 if not existe_en_corpus(cita, corpus_ids):11 return f"RECHAZAR: cita inventada ({cita})"12 return "OK"
Esto evita el último 10-15% de casos donde el LLM respeta el prompt pero se inventa un número de apartado que no estaba en los fragmentos.
Paso a paso: ingesta de una normativa (ejemplo CTE DB-HE)
Te dejo el flujo exacto que uso para indexar el CTE DB-HE (Documento Básico de Ahorro de Energía), publicado oficialmente en el Código Técnico de la Edificación.
1. Descarga del PDF oficial
Nunca partas de una copia de un blog. Descarga del portal oficial y guarda el hash SHA-256 junto con la fecha de descarga. Si el documento cambia, te enterarás al recalcular el hash.
2. Parseo estructurado
1import pdfplumber2import re3 4with pdfplumber.open("CTE_DB-HE_2022.pdf") as pdf:5 documento = []6 for pagina in pdf.pages:7 texto = pagina.extract_text()8 # Detectar encabezados tipo "Sección HE 1"9 if re.match(r"^Secci[óo]n HE \d", texto):10 seccion_actual = texto.split("\n")[0]11 documento.append({12 "pagina": pagina.page_number,13 "texto": texto,14 "seccion": seccion_actual15 })
3. Chunking por artículo/apartado
Aplica la regla de la capa 2: un chunk por apartado, con prefijo jerárquico ("Sección HE 1 - Apartado 2.3.1: ...").
4. Metadata
1chunk_metadata = {2 "norma": "CTE DB-HE",3 "version": "2022-06-03",4 "seccion": "HE 1",5 "apartado": "2.3.1",6 "pagina_pdf": 47,7 "url_oficial": "https://www.codigotecnico.org/pdf/Documentos/HE/DBHE.pdf",8 "sha256_documento": "a7b3...",9 "fecha_ingesta": "2026-04-21"10}
5. Embedding e indexación
1from sentence_transformers import SentenceTransformer2import psycopg2 # pgvector via psycopg3 4modelo = SentenceTransformer("BAAI/bge-m3")5embedding = modelo.encode(chunk.texto)6 7cur.execute("""8 INSERT INTO normativa_chunks9 (texto, embedding, metadata)10 VALUES (%s, %s, %s)11""", (chunk.texto, embedding.tolist(), json.dumps(chunk_metadata)))
6. Test de retrieval
Antes de abrir el chat al cliente, creas un golden dataset: 30-50 preguntas reales con la respuesta correcta y el artículo que debería citarse. Mides precisión y recall del retrieval solo, sin LLM. Si el retrieval no encuentra el artículo correcto en los top-5, el LLM tampoco podrá citarlo.
El prompt que obliga a citar (plantilla copia-pega)
Lo dejé arriba en la capa 6, pero aquí tienes la versión limpia lista para pegar en tu system_prompt:
1Eres un asistente normativo especializado. Respondes ÚNICAMENTE a2partir de los fragmentos de normativa oficial proporcionados.3 4Cada afirmación debe terminar en [Norma, Artículo X.Y, pág. Z,5versión YYYY-MM-DD].6 7Si no hay información suficiente, responde textualmente:8"No consta en la base de conocimiento indexada (fecha: 21 de abril9de 2026)".10 11Nunca inventes numeración. Nunca mezcles versiones. Si el usuario12no especifica versión, usa la vigente hoy.
Este prompt funciona con Claude Opus 4.6, GPT-5 y Gemini 2.5 Pro. Con modelos locales tipo DeepSeek V4 o Llama 3.3 funciona, pero la tasa de rechazo del validador sube del 8% al 18%.
"En entornos regulados, la fiabilidad del sistema no la da el modelo más potente, sino la arquitectura de validación alrededor de él." -- Javier Santos Criado, consultor de IA en Javadex
Qué modelo elegir según la normativa
No hay un modelo universal. Esto es lo que recomiendo a mis clientes en abril de 2026:
| Tipo de normativa | Modelo recomendado | Ventana | Por qué |
|---|---|---|---|
| Normativa corta, consultas puntuales | Claude Haiku 3.5 | 200k | Rápido, barato, suficiente para 1 norma indexada |
| Normativa compleja multi-referencia (CTE + RITE + autonómica) | Claude Opus 4.6 | 200k | Mejor razonamiento jurídico, citación estable |
| Corpus masivo (miles de páginas, múltiples jurisdicciones) | Gemini 2.5 Pro | 2M | La ventana de 2M evita perder contexto en consultas complejas |
| Soberanía de datos / on-premise | DeepSeek V4 o Llama 3.3 70B | 128k | Self-hosted en VPS europeo, sin salida al exterior |
| Mejor relación calidad/precio | GPT-5 | 256k | Estable, buen español jurídico, precio medio |
Para el despliegue sin salida al exterior, recomiendo VPS KVM 2 de Hostinger a 8,99€/mes como punto de partida: datacenter europeo, cumplimiento GDPR, 8 GB de RAM que aguantan pgvector + reranker + un modelo ligero. Si el volumen de normativas indexadas es grande (>50 documentos, corpus > 10k páginas), el VPS KVM 4 a 14,99€/mes es mi opción por defecto: 16 GB de RAM, espacio para Qdrant + Postgres + cold storage de versiones anteriores.
Casos de uso probados
Ingeniería civil: CTE + RITE + EHE-08 + normativa autonómica
Consultora de 30 ingenieros. Indexamos CTE completo (todos los DB), RITE, EHE-08, y la normativa autonómica de las tres comunidades donde trabajan. El chat responde preguntas del tipo "¿cuál es la transmitancia térmica máxima para fachadas en zona climática D2?" citando [CTE DB-HE, Sección HE 1, Apartado 2.3.1, pág. 24, versión 2022-06-03].
- Tiempo de redacción de memoria: 3 días → 4 horas.
- Tiempo de validación cruzada del jefe de proyecto: 2 horas → 20 minutos.
- Errores de normativa en entregables: 1 cada 3 memorias → 1 cada 30.
Arquitectura: CTE + Plan General municipal + normativa sectorial
Despacho de arquitectos en Madrid. Validan proyectos contra CTE, el Plan General de Ordenación Urbana del municipio correspondiente, y normativa sectorial (educación, sanitaria, residencial). La complejidad aquí es que cada municipio tiene su PGOU y la jurisdicción cambia.
Implementé filtrado por metadata municipio en la capa 4 y el chat aprendió a preguntar "¿en qué municipio está el proyecto?" antes de responder.
- 40 proyectos validados contra CTE + PGOU en abril de 2026, primer mes del sistema.
- 3 incoherencias entre normativa estatal y local detectadas por el chat (y validadas luego por el jurista interno).
Legal: LOPDGDD + RGPD + reglamento sectorial
Despacho legal de PYME. Revisan contratos de sus clientes contra LOPDGDD, RGPD y reglamento del sector del cliente (sanitario, financiero, telecomunicaciones).
El chat no redacta cláusulas: identifica qué cláusulas del contrato chocan con qué artículo de la LOPDGDD y devuelve la cita literal. El abogado decide la redacción.
- Revisión de contrato tipo: 90 minutos → 15 minutos.
- El despacho duplicó volumen de contratos revisados por abogado en Q1 2026 sin contratar personal nuevo.
Compliance empresarial: ISO 27001 + SOC 2 + ENS
Empresa de servicios IT. Necesitan mapear procesos internos contra controles de ISO 27001, SOC 2 e ENS (CCN-CERT, 2026). El chat responde "¿qué controles de ISO 27001 aplican a la gestión de accesos privilegiados?" citando el control exacto con su descripción oficial.
¿Necesitas un sistema así en tu empresa?
Si eres consultora de ingeniería, despacho de arquitectos, asesoría jurídica o responsable de compliance y te reconoces en cualquiera de los casos de arriba, hablamos de cómo montar tu chat normativo. No todos los despachos necesitan el stack completo; en muchos casos, una primera fase con una sola normativa y 2-3 usuarios valida la inversión antes de escalar.
Validación: cómo saber que la IA no se inventó nada
1. Grounding check automático
Ratio de citas por respuesta. Si el LLM devuelve un párrafo sin cita, el validador lo marca. Umbral que uso en producción: mínimo una cita por cada 80 tokens de respuesta sustantiva.
2. Revisión cruzada con segundo modelo
Para queries críticas (contratos, memorias técnicas firmadas), envío la respuesta de Claude Opus 4.6 a GPT-5 con el prompt: "Verifica que todas las citas de esta respuesta existen literalmente en los fragmentos adjuntos. Devuelve JSON con {cita, existe: bool, confianza: 0-1}". Si coinciden los dos modelos, alta confianza. Si discrepan, al humano.
3. Humano en el loop (HITL)
Para salidas que firma un técnico competente (memorias, proyectos, dictámenes), el chat nunca emite respuesta final al usuario externo. Emite un borrador al técnico, que valida y firma. Esto es requisito del EU AI Act (AESIA, 2026) para sistemas de alto riesgo.
4. Golden dataset de Q&A validado por experto
Antes de desplegar, el experto (jefe de proyecto, socio director) prepara 50-100 preguntas con sus respuestas correctas y los artículos que deberían citarse. El sistema se evalúa contra este dataset y solo se libera si la precisión de citación supera el 95%.
Errores comunes
Error 1: chunking por tokens en vez de por artículo
Problema: cortas el texto cada 1000 tokens y parten artículos por la mitad. Las respuestas citan artículos incompletos o mezclados. Solución: chunking jerárquico respetando artículo y apartado. Nunca cortes dentro de un apartado.
Error 2: no versionar las normativas
Problema: indexas el CTE DB-HE de 2019 y el cliente pregunta por transmitancias de 2024. El chat responde con la versión vieja sin avisar.
Solución: metadata version obligatoria y filtro por "vigente a fecha X" en el retrieval. Mantén también las derogadas para consultas históricas (habituales en proyectos legacy).
Error 3: olvidar jurisdicciones
Problema: mezclas normativa estatal con autonómica en los mismos chunks. El chat responde con la autonómica de Cataluña a un proyecto en Andalucía.
Solución: metadata jurisdiccion obligatoria y filtro previo según el proyecto del usuario.
Error 4: permitir que el LLM responda "de memoria"
Problema: el prompt dice "usa los fragmentos" pero no "SOLO los fragmentos". El modelo complementa con su conocimiento interno y alucina. Solución: prompt estricto con "ÚNICAMENTE" + fallback obligatorio ("no consta") + validador automático de citas.
Error 5: no auditar qué artículo citó por query
Problema: no guardas logs de qué fragmentos recuperó el sistema para cada query. Cuando el cliente te llama diciendo "el chat respondió mal", no puedes investigar.
Solución: logging estructurado de (query, chunks_recuperados, chunks_usados, respuesta, citas_validadas) durante al menos 12 meses. Requisito también del EU AI Act para trazabilidad.
Error 6: embeddings monolingües para normativa bilingüe
Problema: usas embeddings solo en español y parte de la normativa es UE en inglés. La búsqueda semántica no cruza bien.
Solución: embeddings multilingües (bge-m3) y traducción automática de términos clave en el retrieval si el corpus es mixto.
Cálculo de ROI (caso real)
Consultora de 30 ingenieros, 2026. Antes del chat normativo:
- 8 memorias técnicas/mes, 3 días de redacción cada una = 24 días-ingeniero.
- Coste medio ingeniero: 280 EUR/día (coste empresa).
- Coste mensual de redacción normativa: 6.720 EUR.
Después:
- 8 memorias/mes, 4 horas de redacción cada una = 4 días-ingeniero.
- Coste mensual: 1.120 EUR.
- Ahorro mensual: 5.600 EUR.
Inversión:
- Desarrollo inicial (ingesta de 5 normativas, prompting, validador, despliegue VPS): unos 7.500 EUR (proyecto puntual).
- Operación mensual: 120 EUR VPS + 200 EUR LLM API ≈ 320 EUR/mes.
Payback: 1,5 meses. ROI año 1: aproximadamente 17x.
| Perfil | Ahorro estimado/mes | Coste operación | ROI mensual |
|---|---|---|---|
| Consultora ingeniería 30 personas | 5.600 EUR | 320 EUR | 17x |
| Despacho arquitectos 8 personas | 2.400 EUR | 180 EUR | 13x |
| Despacho legal PYME 5 personas | 1.800 EUR | 150 EUR | 12x |
| Empresa compliance ISO/SOC2 | 900 EUR | 120 EUR | 7x |
Según Gartner (Q1 2026), la adopción de RAG especializado en sectores regulados (legal, ingeniería, compliance) crecerá un 340% en 2026, por un motivo simple: el ROI se mide en semanas.
Cómo puedo ayudarte a montar este sistema
Llevo desde 2023 montando sistemas RAG para empresas. Para chat normativo en concreto, el servicio tiene cuatro bloques:
- Auditoría de normativas. Identificamos qué normas usas a diario, qué versiones están vigentes en tus proyectos, qué jurisdicciones necesitas y qué preguntas reales tiene tu equipo. Salida: documento técnico con arquitectura recomendada y coste estimado.
- Ingesta y chunking especializado. Parseamos las normativas, aplicamos chunking por artículo, metadata rica y versión. Corpus entregado en Postgres + pgvector o Qdrant self-hosted según preferencia.
- Ajuste de prompting y validador. Prompt de citación, validador automático por regex contra el corpus indexado, fallback "no consta". Iteramos sobre tu golden dataset hasta superar el 95% de precisión.
- Validación y handoff. Cargamos 50-100 preguntas reales del equipo, medimos precisión de citación, formación de 2 horas al equipo y documentación de mantenimiento (cómo ingerir una nueva versión cuando el BOE publique una modificación).
Despliegue en VPS europeo (cumplimiento GDPR), on-premise o nube privada según la sensibilidad del dato. Cuéntame tu caso y te respondo con una propuesta concreta en 48 horas.
Preguntas Frecuentes
¿Puede la IA validar una memoria técnica de forma legal?
No, la IA no firma memorias técnicas. Lo que hace es acelerar la redacción y verificar que cada afirmación normativa cita un artículo real y vigente. La firma y responsabilidad legal sigue siendo del técnico competente colegiado. Según el EU AI Act (AESIA, 2026), sistemas de IA que "informen decisiones con consecuencias legales" son de alto riesgo y requieren humano en el loop, que es justo la arquitectura de este chat.
¿Cómo evito que la IA se invente artículos?
Combinación de cuatro capas: prompt estricto con "ÚNICAMENTE a partir de los fragmentos", fallback obligatorio "no consta", validador regex que verifica que cada cita existe literalmente en el corpus, y grounding check que descarta respuestas sin ratio mínimo de citas. Con estas cuatro capas, la tasa de alucinación baja del 30-40% de un chat genérico a menos del 2%.
¿Qué normativas se pueden indexar?
Cualquier normativa con texto oficial descargable en PDF o HTML. Las que indexo con frecuencia: CTE completo (DB-HE, DB-SI, DB-SUA, DB-HR, DB-HS, DB-SE), RITE, EHE-08, LOPDGDD, RGPD, normativa autonómica (PGOU, ordenanzas municipales), ISO 27001, SOC 2, ENS (CCN-CERT), reglamentos UE sectoriales (MiFID II, PSD2, DORA).
¿Qué modelo es mejor para chat sobre normativa en 2026?
Claude Opus 4.6 por defecto para normativa compleja multi-referencia. Gemini 2.5 Pro si el corpus es masivo y necesitas la ventana de 2M tokens. DeepSeek V4 self-hosted si la soberanía de datos es requisito. GPT-5 como alternativa de balance coste/calidad.
¿Cuánto cuesta montar este sistema?
Proyecto inicial entre 6.000 y 15.000 EUR según número de normativas, jurisdicciones y nivel de validación. Operación mensual desde 150 EUR (1 normativa, 5 usuarios) hasta 500 EUR (10+ normativas, 30 usuarios). El payback típico está entre 1 y 3 meses.
¿Cumple el EU AI Act?
Sí, si se implementa con las capas descritas: trazabilidad de fuentes, humano en el loop, logs de auditoría, citación obligatoria y fallback. El EU AI Act clasifica como alto riesgo los sistemas IA que informan decisiones con consecuencias legales, y exige estos controles. Para más detalle, mira la guía de cumplimiento del EU AI Act para empresas españolas.
¿Puedo usarlo para normativa UE + estatal + autonómica a la vez?
Sí, y es el caso más habitual. La clave es la metadata jurisdiccion con filtrado previo al retrieval. El usuario indica el contexto del proyecto (municipio, comunidad autónoma) al iniciar la conversación y el chat filtra automáticamente. Si hay conflicto entre normativa estatal y autonómica, el prompt le obliga a señalar ambas y aplicar la jerarquía normativa correspondiente.
¿Funciona con PDFs escaneados?
Sí, con OCR previo. Para normativas antiguas escaneadas (habitual en normativa autonómica pre-2010) uso Tesseract o docling con modelos de layout. La calidad del OCR es crítica: si el parseo confunde "Artículo" con "Art1culo", el retrieval falla. Para normativa crítica antigua, reviso manualmente el parseo antes de indexar.
Posts Relacionados
- Tutorial RAG desde Cero: Crea una Base de Conocimiento IA para tu Empresa — La base técnica sobre la que se construye este chat normativo.
- Fine-tuning vs RAG: cuándo usar cada uno — Por qué para normativa siempre RAG, nunca fine-tuning.
- EU AI Act: Guía de Cumplimiento para Empresas Españolas — Requisitos legales para sistemas IA de alto riesgo en entornos regulados.
- Cómo Desplegar un Chat Privado con Documentos de Empresa — El despliegue técnico paso a paso.
- Memoria del Super-Agente IA: RAG Vectorial y Contexto — Arquitecturas avanzadas de memoria para agentes IA.
En Resumen
- Un chat IA para normativa sólo es fiable si cita artículo, apartado, página y versión en cada afirmación: sin citación trazable, el sistema es un generador plausible, no una herramienta profesional.
- La arquitectura mínima tiene 7 capas: ingesta estructurada, chunking por artículo, metadata rica, hybrid search (BM25 + semántico), reranking, prompt con citación obligatoria y validador automático.
- Modelos recomendados en 2026: Claude Opus 4.6 (200k) por defecto; Gemini 2.5 Pro (2M) para corpus masivo; DeepSeek V4 self-hosted para soberanía; GPT-5 como balance.
- ROI probado: consultora de ingeniería civil pasó de 3 días a 4 horas por memoria técnica con payback de 1,5 meses y ROI anual aproximado de 17x (análisis propio, javadex.es, marzo 2026).
- Stack open source viable: pgvector o Qdrant +
bge-m3+bge-reranker-v2-m3sobre VPS europeo; coste operativo desde 150 EUR/mes. - EU AI Act aplica: sistemas IA que informan decisiones legales son de alto riesgo y exigen trazabilidad de fuentes, humano en el loop y logs de auditoría (AESIA, 2026).
- El error que mata el proyecto: chunking por tokens en vez de por artículo. Respeta la jerarquía de la norma o el sistema será inútil.
