Implementar LLM y SQL para interactuar con una base de datos en español en un enfoque multimodal
El desafío de generar SQL preciso para las consultas de los usuarios ha persistido durante mucho tiempo, ya que exige una comprensión profunda tanto de la consulta como de la base de datos.
Existen soluciones se basan en las capacidades de los grandes modelos de lenguaje (LLM) para generar SQL que se alinee con el esquema de la base de datos y recupere con precisión los datos requeridos.
Sin embargo, existen varios problemas como son
- Estas soluciones se encuentran en idioma inglés
- Hay algunos conocimientos necesarios que no están incluidos explícitamente en el esquema de la base de datos ni han sido aprendidos por los LLM.
Por lo que se propone una herramienta que sea capaz de interactuar en español con una base de datos utilizando un enfoque multimodal, como primer paso se creó un conjunto de datos personalizado para posteriormente entrenarlo apoyados por PEFT (parameter-efficient fine-tuning) y por medio de comandos de voz poder generar instrucciones y que sus correspondientes respuestas puedan entregar resultados ya sea por respuesta de voz, texto o imagen según sea la respuesta
Detalles del modelo
Descripcion
En este proyecto se busco hacer fine-tuning a 2 modelos diferentes:
- Mistral 7B
- Code Llama Para ver cual arrojaba mejores resultados como base
Metodología como primer paso es generar un set de datos a partir de datos donde se incluya la pregunta y su SQL correspondiente, el segundo paso consiste en augmentar los datos utilizando diferentes técnicas, una vez generados los datos procedemos a una fase de entrenamiento Después de entrenar el modelo procedemos a una fase de pruebas se colocan instrucciones ya sean por voz o texto en caso de existir inconsistencias procedemos a una fase de corrección y obtenemos de manera multimodal el resultado esperado, en caso de ser una respuesta corta se darán los resultados con voz y si son muy grades se presentaran en forma de tablas o imagenes
Notebook
Aqui se muestra un link al github con los los notebooks de entreamiento de cada modelo
Primeramente se hizo un fine-tuning al modelo Code Llama para ver los resultados que nos daria
Como segundo modelo se utilizo Mistral7b este se hizo un fine-tuning con el modelo quantizado a 4bits para que pueda ser ejectuado en una mayor cantidad de equipos
Dataset
Modelos/Adpter
Demo
Resultados
Después de aplicar la herramienta se logró que en un 80 % de los datos se entregaron sentencias favorables y al aplicar la auto-corrección se logro una cifra del 87%
Contribuciones
Nuestras contribuciones se listan a continuación:
- Generar consultas por medio de audio o texto a una base de datos personalizada.
- Entrenamiento de un modelo con texto en español para realizar consultas en SQL.
- Entregar respuestas a consultas utilizando un enfoque multimodal (texto, audio o imágenes).
- Validación de la calidad de las respuestas con mecanismos de autocorrección
Integrantes
- Asis Heriberto Rangel Ortiz
- Emmanuel Alexis Zarazua Rubio
- Néstor Emmanuel Briones Ramirez
- Ventura Rivera Robles
- Fernando Morales Flores
- Downloads last month
- 20