locorene1000 commited on
Commit
a6910e1
verified
1 Parent(s): c38d4d7
Files changed (1) hide show
  1. app.py +34 -32
app.py CHANGED
@@ -1,15 +1,22 @@
1
  import requests
2
  import json
3
  import gradio as gr
 
4
 
5
- # Configuraci贸n de la API de Hugging Face
6
- base_url = "https://locorene1000-llama3-1.hf.space/call/mejorar_resolucion"
 
 
 
 
 
 
7
 
8
  # Instrucciones para el modelo
9
  instrucciones = """
10
  Eres un Ministro de la Corte Suprema de Chile, especializado en derecho civil. Tu tarea principal es mejorar borradores de resoluciones judiciales y responder preguntas generales, asegurando un tono formal y t茅cnico cuando sea necesario, y proporcionando respuestas claras y precisas. Tus habilidades incluyen:
11
  1. Utilizar un tono formal y t茅cnico para garantizar claridad y coherencia.
12
- 2. Usar terminolog铆a legal espec铆fica, como 'folio', 'autos', 'resuelve', 'art铆culo', 'C贸digo de Procedimiento Civil', 'audiencia', 'notificaci贸n', 'prueba', 'nulidad', 'oficiar' y 'notificar'.
13
  3. Crear oraciones complejas y subordinadas, manteniendo un tono formal e imperativo.
14
  4. Proporcionar referencias detalladas a regulaciones y precedentes judiciales, citando consistentemente art铆culos de leyes y sentencias anteriores.
15
  5. Mantener un tono uniforme y detallado en todo el documento, centrado en la precisi贸n terminol贸gica.
@@ -29,41 +36,36 @@ Revisas el documento para asegurar:
29
  - Revisi贸n integral y presentaci贸n concisa y unificada de la informaci贸n.
30
  """
31
 
32
- def iniciar_consulta(input_text):
 
 
 
33
  payload = {
34
- "data": [input_text]
35
- }
36
- headers = {
37
- "Content-Type": "application/json"
 
 
38
  }
39
-
40
- response = requests.post(base_url, headers=headers, data=json.dumps(payload))
41
-
42
- if response.status_code == 200:
43
- event_id = response.json().get("event_id")
44
- return event_id
45
- else:
46
- return f"Error {response.status_code}: {response.text}"
47
 
48
- def obtener_resultado(event_id):
49
- response = requests.get(f"{base_url}/{event_id}", headers={"Accept": "text/event-stream"})
50
-
51
- if response.status_code == 200:
52
- return response.text
53
- else:
54
- return f"Error {response.status_code}: {response.text}"
55
-
56
- def mejorar_resolucion(input_text):
57
- event_id = iniciar_consulta(input_text)
58
- if "Error" in event_id:
59
- return event_id
60
-
61
- resultado = obtener_resultado(event_id)
62
- return resultado
63
 
64
  # Definici贸n de la interfaz de Gradio
65
  with gr.Blocks() as demo:
66
- gr.Markdown("# Mejora de Resoluciones Judiciales y Respuestas con Ministro en Visita")
67
  input_text = gr.Textbox(label="Introduce tu resoluci贸n judicial o pregunta")
68
  output_text = gr.Textbox(label="Respuesta mejorada o respuesta corta")
69
  submit_button = gr.Button("Enviar")
 
1
  import requests
2
  import json
3
  import gradio as gr
4
+ import spaces
5
 
6
+ # Configuraci贸n de la API de NVIDIA
7
+ base_url = "https://integrate.api.nvidia.com/v1"
8
+ api_key = "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"
9
+ headers = {
10
+ "Authorization": f"Bearer {api_key}",
11
+ "Content-Type": "application/json",
12
+ "Accept": "application/json"
13
+ }
14
 
15
  # Instrucciones para el modelo
16
  instrucciones = """
17
  Eres un Ministro de la Corte Suprema de Chile, especializado en derecho civil. Tu tarea principal es mejorar borradores de resoluciones judiciales y responder preguntas generales, asegurando un tono formal y t茅cnico cuando sea necesario, y proporcionando respuestas claras y precisas. Tus habilidades incluyen:
18
  1. Utilizar un tono formal y t茅cnico para garantizar claridad y coherencia.
19
+ 2. Usar terminolog铆a legal espec铆fica, como 'folio', 'autos','resuelve', 'art铆culo', 'C贸digo de Procedimiento Civil', 'audiencia', 'notificaci贸n', 'prueba', 'nulidad', 'oficiar' y 'notificar'.
20
  3. Crear oraciones complejas y subordinadas, manteniendo un tono formal e imperativo.
21
  4. Proporcionar referencias detalladas a regulaciones y precedentes judiciales, citando consistentemente art铆culos de leyes y sentencias anteriores.
22
  5. Mantener un tono uniforme y detallado en todo el documento, centrado en la precisi贸n terminol贸gica.
 
36
  - Revisi贸n integral y presentaci贸n concisa y unificada de la informaci贸n.
37
  """
38
 
39
+ def mejorar_resolucion(input_text):
40
+ # Construcci贸n del prompt con instrucciones unificadas
41
+ prompt = f"Adopta el rol de Ministro de la Corte Suprema de Chile y responde a la siguiente pregunta/pregunta con base en las instrucciones e instrucciones legales proporcionadas:\n{instrucciones}\n{instrucciones_legales}\nTexto o pregunta:\n{input_text}\nRespuesta:"
42
+
43
  payload = {
44
+ "model": "nvidia/nemotron-4-340b-instruct",
45
+ "messages": [{"role": "user", "content": prompt}],
46
+ "temperature": 0.5,
47
+ "top_p": 0.7,
48
+ "max_tokens": 1024,
49
+ "stream": False
50
  }
 
 
 
 
 
 
 
 
51
 
52
+ try:
53
+ response = requests.post(f"{base_url}/chat/completions", headers=headers, data=json.dumps(payload))
54
+ response.raise_for_status()
55
+ response_body = response.json()
56
+ return response_body['choices'][0]['message']['content']
57
+ except requests.exceptions.HTTPError as errh:
58
+ return f"Error HTTP: {errh}"
59
+ except requests.exceptions.ConnectionError as errc:
60
+ return f"Error de conexi贸n: {errc}"
61
+ except requests.exceptions.Timeout as errt:
62
+ return f"Error de tiempo de espera: {errt}"
63
+ except requests.exceptions.RequestException as err:
64
+ return f"Error de solicitud: {err}"
 
 
65
 
66
  # Definici贸n de la interfaz de Gradio
67
  with gr.Blocks() as demo:
68
+ gr.Markdown("# Mejora de Resoluciones Judiciales y Respuestas con Nemotron")
69
  input_text = gr.Textbox(label="Introduce tu resoluci贸n judicial o pregunta")
70
  output_text = gr.Textbox(label="Respuesta mejorada o respuesta corta")
71
  submit_button = gr.Button("Enviar")