Santiagogrz6 commited on
Commit
bb4a570
verified
1 Parent(s): 47a2dc5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -22
app.py CHANGED
@@ -1,41 +1,35 @@
1
  import gradio as gr
2
- from transformers import pipeline
3
  from deep_translator import GoogleTranslator
 
4
 
5
- # Cargar el modelo de Hugging Face para text-to-SQL
6
- model = pipeline("text2text-generation", model="tscholak/text-to-sql")
 
7
 
8
- # Esquema de base de datos
9
- SCHEMA = """
10
- Database schema:
11
- Table bodegas(Id, Nombre, Encargado, Telefono, Email, Direccion, Horario, Regional, Latitud, Longitud)
12
- Table maestra(CodigoSap, Descripcion, Grupo, Agrupador, Marca, Parte, Operacion, Componente)
13
- """
14
 
15
- # Funci贸n para generar la consulta SQL
16
  def generar_sql(pregunta_espanol):
17
  try:
18
- # Traducir pregunta a ingl茅s
19
  pregunta_ingles = GoogleTranslator(source="es", target="en").translate(pregunta_espanol)
20
-
21
- # Crear el prompt para el modelo
22
- prompt = f"{SCHEMA}\ntranslate English to SQL: {pregunta_ingles}"
23
-
24
- # Generar la consulta SQL usando el modelo de Hugging Face
25
- result = model(prompt)
26
- sql = result[0]['generated_text']
27
-
28
  return sql
29
  except Exception as e:
30
  return f"Error: {str(e)}"
31
 
32
- # Interfaz Gradio para desplegar
33
  iface = gr.Interface(
34
  fn=generar_sql,
35
  inputs=gr.Textbox(lines=3, label="Pregunta en espa帽ol"),
36
  outputs=gr.Textbox(label="Consulta SQL generada"),
37
- title="Generador de SQL",
38
- description="Escribe una pregunta en espa帽ol sobre la base de datos y obt茅n la consulta SQL.",
39
  )
40
 
41
  iface.launch()
 
1
  import gradio as gr
2
+ from transformers import T5Tokenizer, T5ForConditionalGeneration
3
  from deep_translator import GoogleTranslator
4
+ import torch
5
 
6
+ # Optimizaci贸n para entornos limitados
7
+ torch.set_num_threads(1)
8
+ torch.set_num_interop_threads(1)
9
 
10
+ # Modelo p煤blico sin token
11
+ tokenizer = T5Tokenizer.from_pretrained("mrm8488/t5-base-finetuned-wikiSQL")
12
+ model = T5ForConditionalGeneration.from_pretrained("mrm8488/t5-base-finetuned-wikiSQL")
 
 
 
13
 
14
+ # Funci贸n para generar SQL
15
  def generar_sql(pregunta_espanol):
16
  try:
 
17
  pregunta_ingles = GoogleTranslator(source="es", target="en").translate(pregunta_espanol)
18
+ prompt = f"translate English to SQL: {pregunta_ingles}"
19
+ input_ids = tokenizer(prompt, return_tensors="pt").input_ids
20
+ output = model.generate(input_ids, max_length=128)
21
+ sql = tokenizer.decode(output[0], skip_special_tokens=True)
 
 
 
 
22
  return sql
23
  except Exception as e:
24
  return f"Error: {str(e)}"
25
 
26
+ # Interfaz Gradio
27
  iface = gr.Interface(
28
  fn=generar_sql,
29
  inputs=gr.Textbox(lines=3, label="Pregunta en espa帽ol"),
30
  outputs=gr.Textbox(label="Consulta SQL generada"),
31
+ title="Texto a SQL (con T5 de Hugging Face)",
32
+ description="Convierte preguntas en espa帽ol a SQL con un modelo entrenado en WikiSQL."
33
  )
34
 
35
  iface.launch()