Saltearse al contenido

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:

  1. Database Info: Conecta con tu base de datos libSQL/Turso.
  2. Embedding: Selecciona el modelo de incrustación que prefieras.
  3. Metadata Schema: Define el esquema que incluye la tabla ventas.
  4. SQL Query Template:
    SELECT id, fecha, monto, cliente_id AS text
    FROM ventas
    ORDER BY fecha DESC
    LIMIT 10;
  5. Tool Description: “Consulta de las últimas ventas”.
  6. 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.