Spaces:
Sleeping
Sleeping
File size: 1,397 Bytes
5822624 47a2dc5 ee62733 47a2dc5 ee62733 47a2dc5 ee62733 5822624 ee62733 5822624 94ca4fb 47a2dc5 5822624 ee62733 47a2dc5 ee62733 47a2dc5 ee62733 47a2dc5 5822624 ee62733 47a2dc5 5822624 ee62733 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
import gradio as gr
from transformers import pipeline
from deep_translator import GoogleTranslator
# Cargar el modelo de Hugging Face para text-to-SQL
model = pipeline("text2text-generation", model="tscholak/text-to-sql")
# Esquema de base de datos
SCHEMA = """
Database schema:
Table bodegas(Id, Nombre, Encargado, Telefono, Email, Direccion, Horario, Regional, Latitud, Longitud)
Table maestra(CodigoSap, Descripcion, Grupo, Agrupador, Marca, Parte, Operacion, Componente)
"""
# Función para generar la consulta SQL
def generar_sql(pregunta_espanol):
try:
# Traducir pregunta a inglés
pregunta_ingles = GoogleTranslator(source="es", target="en").translate(pregunta_espanol)
# Crear el prompt para el modelo
prompt = f"{SCHEMA}\ntranslate English to SQL: {pregunta_ingles}"
# Generar la consulta SQL usando el modelo de Hugging Face
result = model(prompt)
sql = result[0]['generated_text']
return sql
except Exception as e:
return f"Error: {str(e)}"
# Interfaz Gradio para desplegar
iface = gr.Interface(
fn=generar_sql,
inputs=gr.Textbox(lines=3, label="Pregunta en español"),
outputs=gr.Textbox(label="Consulta SQL generada"),
title="Generador de SQL",
description="Escribe una pregunta en español sobre la base de datos y obtén la consulta SQL.",
)
iface.launch()
|