Spaces:
Sleeping
Sleeping
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
|
6 |
-
base_url = "https://
|
|
|
|
|
|
|
|
|
|
|
|
|
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',
|
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
|
|
|
|
|
|
|
33 |
payload = {
|
34 |
-
"
|
35 |
-
|
36 |
-
|
37 |
-
"
|
|
|
|
|
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 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
return
|
53 |
-
|
54 |
-
return f"Error
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
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
|
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")
|