locorene1000 commited on
Commit
ee299f2
verified
1 Parent(s): 97daf16
Files changed (1) hide show
  1. app.py +24 -12
app.py CHANGED
@@ -58,29 +58,41 @@ device = "cuda" if torch.cuda.is_available() else "cpu"
58
  # Carga del modelo y el tokenizador
59
  model_name = "mistralai/Mistral-Nemo-Instruct-2407"
60
  tokenizer = AutoTokenizer.from_pretrained(model_name)
 
 
 
 
 
61
  model = AutoModelForCausalLM.from_pretrained(
62
  model_name,
63
  torch_dtype=torch.bfloat16 if device == "cuda" else torch.float32,
64
  device_map="auto" if device == "cuda" else None
65
  )
66
 
67
- @spaces.GPU(duration=120)
68
  def mejorar_resolucion(input_text):
69
  # Construcci贸n del prompt con instrucciones y entrada del usuario
70
- prompt = f"Deberas adoptar el rol y las instrucciones que se encuentran en {instrucciones}\n\n Y luego mejorar la redaccion de la resoluci贸n judicial o responder a la consulta realizada aca: {input_text}"
71
- inputs = tokenizer(prompt, return_tensors="pt").to(device)
72
- outputs = model.generate(inputs.input_ids, max_new_tokens=500, temperature=0.3, do_sample=True)
 
 
 
 
 
 
 
 
73
  response = tokenizer.decode(outputs[0], skip_special_tokens=True)
74
  return response
75
 
76
- # Definici贸n de la interfaz de Gradio
77
- with gr.Blocks() as demo:
78
- gr.Markdown("# Mejora de Resoluciones Judiciales con GPT Civil")
79
- gr.Markdown("Utiliza el modelo Mistral-Nemo-Instruct-2407 para mejorar borradores de resoluciones judiciales.")
80
- input_text = gr.Textbox(label="Introduce tu resoluci贸n judicial")
81
- output_text = gr.Textbox(label="Resoluci贸n mejorada")
82
- submit_button = gr.Button("Mejorar")
83
- submit_button.click(fn=mejorar_resolucion, inputs=input_text, outputs=output_text)
84
 
85
  # Lanzamiento de la aplicaci贸n
86
  demo.launch()
 
58
  # Carga del modelo y el tokenizador
59
  model_name = "mistralai/Mistral-Nemo-Instruct-2407"
60
  tokenizer = AutoTokenizer.from_pretrained(model_name)
61
+
62
+ # Asegurar pad_token_id 煤nico
63
+ if tokenizer.pad_token_id is None or tokenizer.pad_token_id == tokenizer.eos_token_id:
64
+ tokenizer.pad_token_id = tokenizer.eos_token_id + 1
65
+
66
  model = AutoModelForCausalLM.from_pretrained(
67
  model_name,
68
  torch_dtype=torch.bfloat16 if device == "cuda" else torch.float32,
69
  device_map="auto" if device == "cuda" else None
70
  )
71
 
 
72
  def mejorar_resolucion(input_text):
73
  # Construcci贸n del prompt con instrucciones y entrada del usuario
74
+ prompt = f"{instrucciones}\n\n{input_text}"
75
+ inputs = tokenizer(prompt, return_tensors="pt", padding=True, truncation=True).to(device)
76
+ attention_mask = inputs['attention_mask']
77
+ outputs = model.generate(
78
+ inputs.input_ids,
79
+ attention_mask=attention_mask,
80
+ max_new_tokens=500,
81
+ temperature=0.3,
82
+ do_sample=True,
83
+ pad_token_id=tokenizer.pad_token_id
84
+ )
85
  response = tokenizer.decode(outputs[0], skip_special_tokens=True)
86
  return response
87
 
88
+ # Configuraci贸n de la interfaz de Gradio
89
+ demo = gr.Interface(
90
+ fn=mejorar_resolucion,
91
+ inputs=gr.Textbox(label="Introduce tu resoluci贸n judicial"),
92
+ outputs=gr.Textbox(label="Resoluci贸n mejorada"),
93
+ title="Mejora de Resoluciones Judiciales con GPT Civil",
94
+ description="Utiliza el modelo Mistral-Nemo-Instruct-2407 para mejorar borradores de resoluciones judiciales."
95
+ )
96
 
97
  # Lanzamiento de la aplicaci贸n
98
  demo.launch()