Cuando una pregunta apunta a una sola fila dentro de una tabla, recuperar la tabla completa obliga al modelo generativo a filtrar 39 filas irrelevantes. La unidad que coincide con la pregunta es una fila, no todo el rectángulo. Este artículo construye un índice a nivel de fila que convierte cada fila de datos en su propio fragmento recuperable, de modo que una consulta como “¿límite para robo de vehículos?” devuelve exactamente esa fila junto con sus encabezados de columna.
La función serialize_table_rows escanea el line_df del parser, agrupa líneas contiguas con tuberías en tablas, lee la fila de encabezado sobre el separador y emite una fila de salida por cada línea de datos. Cada fragmento se serializa como col: val | col: val, que un LLM lee de forma natural y que se compone con los recuperadores existentes de palabras clave y embeddings sin cambios.
El índice a nivel de fila es una segunda escala, no un reemplazo. Un dispatcher enruta las búsquedas dirigidas al índice a nivel de fila, las preguntas de síntesis se disparan a través de todas las filas de la misma tabla (detectadas mediante el table_id compartido) y las consultas mixtas combinan ambas. Los recuperadores posteriores que nunca habilitan la indexación a nivel de fila siguen funcionando sin cambios, mientras que los que sí lo hacen leen explícitamente el segundo marco.
El código ejecutable está disponible en doc-intel/notebooks-vol1, demostrando serialize_table_rows en la Tabla 1 del artículo de Attention y devolviendo una fila en lugar de toda la tabla.
Fuente: Towards Data Science · Resumido por HeadlinesBriefing