libSQLRetrieverTool
⚠️ ADVERTENCIA DE DEPRECACIÓN
Este componente está deprecado y será eliminado en una versión futura de Nappai. Por favor, migra a los componentes alternativos recomendados.
libSQLRetrieverTool es una herramienta que permite a los usuarios consultar bases de datos libSQL/Turso directamente desde el dashboard de Nappai. Con ella, puedes crear consultas SQL personalizadas y obtener resultados que luego pueden ser utilizados por otros componentes o por la IA para generar respuestas más precisas.
¿Cómo funciona?
El componente toma la información de la base de datos, el esquema de metadatos y una plantilla de consulta SQL que debe devolver un campo llamado “text”. Internamente, construye una consulta usando los valores proporcionados, la ejecuta contra la base de datos libSQL/Turso y devuelve los resultados como un objeto BaseTool
. Este objeto puede ser pasado a otros módulos de Nappai, como los que generan respuestas de IA o los que visualizan datos.
Entradas
- Database Info: Información de conexión a la base de datos libSQL/Turso (host, puerto, credenciales, etc.).
- Embedding: Modelo de incrustación que se usará para convertir el texto en vectores o para realizar búsquedas por similitud.
- Metadata Schema: Esquema de metadatos que describe la estructura de los datos que se consultarán.
- SQL Query Template: Plantilla de consulta SQL que debe incluir un campo llamado “text”. Se pueden usar los marcadores de posición
{[input]}
para insertar valores dinámicos. - Tool Description: Descripción breve que explica el propósito de la herramienta, usada por la IA para contextualizar la consulta.
- Tool Name: Nombre identificador de la herramienta, que será usado por la IA para referirse a ella.
Salidas
- Tool: Un objeto
BaseTool
que encapsula la consulta y los resultados. Este objeto puede ser pasado a otros componentes o a la IA para generar respuestas o visualizaciones.
Ejemplo de Uso
Supongamos que quieres obtener los últimos 10 registros de una tabla de ventas y mostrarlos en un panel de control:
- Database Info: Conecta con tu base de datos libSQL/Turso.
- Embedding: Selecciona el modelo de incrustación que prefieras.
- Metadata Schema: Define el esquema que incluye la tabla
ventas
. - SQL Query Template:
SELECT id, fecha, monto, cliente_id AS textFROM ventasORDER BY fecha DESCLIMIT 10;
- Tool Description: “Consulta de las últimas ventas”.
- Tool Name: “ÚltimasVentas”.
El componente devolverá un BaseTool
con los resultados, que luego puedes pasar a un visualizador de tablas o a un generador de informes.
Componentes Relacionados
- SelfQueryRetriever: Herramienta similar que permite consultas basadas en texto sin necesidad de SQL.
- LangChain: Biblioteca que facilita la integración de modelos de lenguaje con herramientas externas.
- DatabaseConnector: Componente que gestiona la conexión a bases de datos SQL.
Consejos y Mejores Prácticas
- Mantén la plantilla SQL simple: Evita consultas complejas que puedan ralentizar la respuesta.
- Usa siempre el campo “text”: La IA necesita este campo para generar respuestas coherentes.
- Revisa las credenciales: Asegúrate de que la información de la base de datos esté protegida y no se exponga en el dashboard.
Consideraciones de Seguridad
- Protege las credenciales: Utiliza variables de entorno o el gestor de secretos de Nappai para almacenar la información de conexión.
- Valida la entrada: Evita inyecciones SQL permitiendo solo consultas predefinidas o sanitizando los marcadores de posición.
- Control de acceso: Limita quién puede editar la plantilla de consulta y la información de la base de datos.