Reportman.AI Logo Reportman.AI

← Todos los articulos

¿Es factible usar RAG para consultar grandes bases de datos?

· Toni Martir, arquitecto de software

Para contestar preguntas sobre una base de datos, la IA tiene que conocer sus tablas: con ellas escribe la sentencia SQL (la orden técnica que saca los datos). Pero cada modelo tiene un contexto, el máximo de texto que lee de una vez, y las bases de empresa son grandes: las de Spider 2.0, una de las pruebas públicas de estos sistemas, pasan a menudo de mil columnas. El esquema entero no cabe.

Una salida es RAG (generación aumentada por recuperación): antes de cada pregunta, un buscador elige las tablas que más se parecen a lo preguntado, y sólo esas llegan al modelo. Funciona muchas veces. La cuestión es qué pasa cuando elige mal, y si hay algo mejor.

Tres formas de darle el esquema a la IA

La base de datos entera Todas las tablas a la vez. En una base grande no cabe en el contexto
No cabe
RAG Un buscador elige unas pocas tablas en cada pregunta, por su parecido con las palabras que usas
Depende del parecido
El subesquema de un dominio Las tablas de un área, como ventas o finanzas, con todos sus campos descritos. Quien pregunta elige el área
Completo y cabe

Si la base es pequeña, el esquema entero cabe y no hace falta elegir.

Por qué el buscador no encuentra el ROE

Alguien de dirección pregunta: «¿cuál es nuestro ROE este año?». El ROE es la rentabilidad de los fondos propios: el Banco Central Europeo lo define como el resultado del ejercicio dividido entre el patrimonio neto. En la base de datos, ninguna tabla ni ningún campo se llama nada parecido: el resultado y el patrimonio salen de los apuntes contables y del plan de cuentas, que hablan de asientos, cuentas, debe y haber.

El buscador compara la pregunta con los nombres y descripciones de las tablas, y «ROE» no se parece a ninguno. Elegirá las que más se acerquen, que no son las que hacen falta, y el modelo escribirá la sentencia con lo que le llegue. Los investigadores llaman a esa selección de tablas schema linking, y advierten que, si es imperfecta, «a menudo deja fuera columnas necesarias». Y el modelo no sabe que le faltan.

El subesquema del dominio

La alternativa es no buscar. Se prepara un subesquema por dominio (ventas, compras, finanzas), cada uno con sus tablas, todos sus campos descritos y las relaciones entre ellas. Quien pregunta conoce el dominio de su pregunta y sabe sobre qué puede preguntar.

Con el dominio de finanzas, el ROE deja de ser un problema: el plan de cuentas y los apuntes ya están ahí, descritos, y el modelo sabe qué es un ROE. Tiene el esquema que necesita sin buscarlo.

Los fabricantes recomiendan lo mismo. Databricks pide «cinco tablas o menos» y que cada asistente conteste preguntas «de un tema y un público concretos, no preguntas generales de varios dominios». Snowflake aconseja empezar con «5–10 tablas, un dominio de negocio» y llama a las descripciones «el elemento más importante para la precisión». Y los autores del estudio sobre schema linking no seleccionan tablas cuando el esquema cabe.

¿Cuánto dominio cabe?

Depende del modelo. Snowflake recomienda no pasar de unos 100.000 tokens (los trozos de texto con los que cuentan los modelos) y admite esquemas mayores con modelos de contexto grande. Con un modelo potente cabe un dominio amplio; con uno instalado en una máquina propia, el límite suele estar en el contexto. Es la frontera que encontré al pedir un informe entero a modelos locales: cuánto se les pide de una vez.

Entonces, ¿es factible?

Sí: RAG puede funcionar en muchas preguntas. Pero falla mucho más que un subesquema del dominio del que trata la pregunta, porque cuando el buscador no encuentra la tabla, el modelo no se entera. Con el dominio delimitado, el modelo tiene todas las tablas y sólo le queda entender la pregunta.


En Reportman AI trabajamos con esquemas predefinidos por dominio (ventas, compras, finanzas), porque la base de datos entera no cabe en el contexto: cada uno trae sus tablas con todos los campos descritos y sus relaciones, y la IA recibe completo el que elijas, sin buscador de por medio. Con un modelo potente puede usarse un dominio más amplio. Con un modelo local, que puede funcionar en tu propia máquina sin cuota (la máquina la pones tú), Reportman AI permite definir el tamaño del contexto.

Fuentes

Toni Martir, arquitecto de software · · fuentes comprobadas el