locorene1000 commited on
Commit
884a832
verified
1 Parent(s): 68c7790
Files changed (1) hide show
  1. app.py +27 -21
app.py CHANGED
@@ -1,17 +1,9 @@
 
 
 
1
  import gradio as gr
2
- from transformers import pipeline
3
  import spaces
4
 
5
- @spaces.GPU(duration=120) # Solicita el uso de GPU por 120 segundos
6
- def inicializar_pipeline():
7
- # Configuraci贸n del pipeline con el modelo
8
- nombre_modelo = "mistralai/Mistral-Nemo-Instruct-2407"
9
- chatbot = pipeline("text-generation", model=nombre_modelo, device=0) # Use GPU
10
- return chatbot
11
-
12
- # Inicializar el pipeline una vez
13
- chatbot = inicializar_pipeline()
14
-
15
  # Instrucciones espec铆ficas para el modelo
16
  instrucciones = """
17
  **Instrucciones para GPT Personalizado "GPT Civil"**
@@ -60,21 +52,35 @@ Como Ministro de la Corte Suprema de Chile, su objetivo es mejorar y finalizar l
60
  - Aseg煤rese de una presentaci贸n concisa y unificada de toda la informaci贸n.
61
  """
62
 
63
- @spaces.GPU(duration=120) # Solicita el uso de GPU por 120 segundos
64
- def mejorar_resolucion(texto_entrada):
 
 
 
 
 
 
 
 
 
 
 
 
65
  # Construcci贸n del prompt con instrucciones y entrada del usuario
66
- prompt = f"{instrucciones}\n\n{texto_entrada}"
67
- respuesta = chatbot(prompt, max_new_tokens=500, temperature=0.3, device=0)
68
- return respuesta[0]['generated_text']
 
 
69
 
70
  # Definici贸n de la interfaz de Gradio
71
  with gr.Blocks() as demo:
72
  gr.Markdown("# Mejora de Resoluciones Judiciales con GPT Civil")
73
  gr.Markdown("Utiliza el modelo Mistral-Nemo-Instruct-2407 para mejorar borradores de resoluciones judiciales.")
74
- texto_entrada = gr.Textbox(label="Introduce tu resoluci贸n judicial")
75
- texto_salida = gr.Textbox(label="Resoluci贸n mejorada")
76
- boton_enviar = gr.Button("Mejorar")
77
- boton_enviar.click(fn=mejorar_resolucion, inputs=texto_entrada, outputs=texto_salida)
78
 
79
  # Lanzamiento de la aplicaci贸n
80
- demo.launch()
 
1
+ import os
2
+ import torch
3
+ from transformers import AutoModelForCausalLM, AutoTokenizer
4
  import gradio as gr
 
5
  import spaces
6
 
 
 
 
 
 
 
 
 
 
 
7
  # Instrucciones espec铆ficas para el modelo
8
  instrucciones = """
9
  **Instrucciones para GPT Personalizado "GPT Civil"**
 
52
  - Aseg煤rese de una presentaci贸n concisa y unificada de toda la informaci贸n.
53
  """
54
 
55
+ # Configuraci贸n del dispositivo
56
+ device = "cuda" if torch.cuda.is_available() else "cpu"
57
+
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()