somosnlp/LLM_SQL_BaseDatosEspanol_Mistral
1259
1---2license: apache-2.03language:4- es5---6 7# Implementar LLM y SQL para interactuar con una base de datos en español en un enfoque multimodal8 9El 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. 10Existen 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. 11Sin embargo, existen varios problemas como son 12- Estas soluciones se encuentran en idioma inglés13- 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.14 15Por 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 respuesta16 17## Detalles del modelo18 19### Descripcion20 21En este proyecto se busco hacer fine-tuning a 2 modelos diferentes:22- Mistral 7B23- Code Llama24Para ver cual arrojaba mejores resultados como base25 26Metodologí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 entrenamiento27Despué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 imagenes28 29 3031 32## Notebook33 34Aqui se muestra un link al github con los los notebooks de entreamiento de cada modelo35 36Primeramente se hizo un fine-tuning al modelo Code Llama para ver los resultados que nos daria37- [CodeLlama](https://github.com/Asis41/LLM_SQL_BaseDatosEspanol/blob/main/CodeLlamaFinTunSQL.ipynb)38 39Como 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 equipos40 41- [Mistral](https://github.com/Asis41/LLM_SQL_BaseDatosEspanol/blob/main/trainer-llm-detect-ai-comp-mistral-7b%20(1).ipynb)42 43# Dataset44 45[Link al Dataset](https://huggingface.co/datasets/somosnlp/LLM_SQL_BaseDatosEspanol)46 47# Modelos/Adpter48 49[Link al adapter de CodeLLama](https://huggingface.co/somosnlp/LLM_SQL_BaseDatosEspanol_CodeLlama)50 51# Demo52[Link al demo](https://github.com/ManeAI31416/Multimodal-SQL/blob/main/uploadModel_hf_SQL.ipynb)53 54## Resultados55 56Despué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% 57 58## Contribuciones59 60Nuestras contribuciones se listan a continuación:61- Generar consultas por medio de audio o texto a una base de datos personalizada.62- Entrenamiento de un modelo con texto en español para realizar consultas en SQL.63- Entregar respuestas a consultas utilizando un enfoque multimodal (texto, audio o imágenes).64- Validación de la calidad de las respuestas con mecanismos de autocorrección65 66## Integrantes 67 68- Asis Heriberto Rangel Ortiz69- Emmanuel Alexis Zarazua Rubio70- Néstor Emmanuel Briones Ramirez71- Ventura Rivera Robles72- Fernando Morales Flores 73 74 