locorene1000 commited on
Commit
f28b7fe
1 Parent(s): aeb050a
Files changed (1) hide show
  1. app.py +22 -32
app.py CHANGED
@@ -1,23 +1,17 @@
1
- import requests
2
- import json
3
  import gradio as gr
4
 
5
- # Configuración de la API de NVIDIA
6
  client = OpenAI(
7
- base_url = "https://integrate.api.nvidia.com/v1",
8
- api_key = "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"
9
  )
10
- headers = {
11
- "Authorization": f"Bearer {api_key}",
12
- "Content-Type": "application/json",
13
- "Accept": "application/json"
14
- }
15
 
16
  # Instrucciones para el modelo
17
  instrucciones = """
18
  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:
19
  1. Utilizar un tono formal y técnico para garantizar claridad y coherencia.
20
- 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'.
21
  3. Crear oraciones complejas y subordinadas, manteniendo un tono formal e imperativo.
22
  4. Proporcionar referencias detalladas a regulaciones y precedentes judiciales, citando consistentemente artículos de leyes y sentencias anteriores.
23
  5. Mantener un tono uniforme y detallado en todo el documento, centrado en la precisión terminológica.
@@ -40,29 +34,25 @@ Revisas el documento para asegurar:
40
  def mejorar_resolucion(input_text):
41
  # Construcción del prompt con instrucciones unificadas
42
  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:"
43
-
44
- payload = {
45
- "model": "meta/llama-3.1-405b-instruct",
46
- "messages": [{"role": "user", "content": prompt}],
47
- "temperature": 0.5,
48
- "top_p": 0.7,
49
- "max_tokens": 1024,
50
- "stream": False
51
- }
52
 
53
  try:
54
- response = requests.post(f"{base_url}/chat/completions", headers=headers, data=json.dumps(payload))
55
- response.raise_for_status()
56
- response_body = response.json()
57
- return response_body['choices'][0]['message']['content']
58
- except requests.exceptions.HTTPError as errh:
59
- return f"Error HTTP: {errh}"
60
- except requests.exceptions.ConnectionError as errc:
61
- return f"Error de conexión: {errc}"
62
- except requests.exceptions.Timeout as errt:
63
- return f"Error de tiempo de espera: {errt}"
64
- except requests.exceptions.RequestException as err:
65
- return f"Error de solicitud: {err}"
 
 
 
 
 
66
 
67
  # Definición de la interfaz de Gradio
68
  with gr.Blocks() as demo:
 
1
+ from openai import OpenAI
 
2
  import gradio as gr
3
 
4
+ # Configuración del cliente OpenAI con la API de NVIDIA
5
  client = OpenAI(
6
+ base_url="https://integrate.api.nvidia.com/v1",
7
+ api_key="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"
8
  )
 
 
 
 
 
9
 
10
  # Instrucciones para el modelo
11
  instrucciones = """
12
  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:
13
  1. Utilizar un tono formal y técnico para garantizar claridad y coherencia.
14
+ 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'.
15
  3. Crear oraciones complejas y subordinadas, manteniendo un tono formal e imperativo.
16
  4. Proporcionar referencias detalladas a regulaciones y precedentes judiciales, citando consistentemente artículos de leyes y sentencias anteriores.
17
  5. Mantener un tono uniforme y detallado en todo el documento, centrado en la precisión terminológica.
 
34
  def mejorar_resolucion(input_text):
35
  # Construcción del prompt con instrucciones unificadas
36
  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:"
 
 
 
 
 
 
 
 
 
37
 
38
  try:
39
+ completion = client.chat.completions.create(
40
+ model="meta/llama-3.1-405b-instruct",
41
+ messages=[{"role": "user", "content": prompt}],
42
+ temperature=0.5,
43
+ top_p=0.7,
44
+ max_tokens=1024,
45
+ stream=True
46
+ )
47
+
48
+ response_content = ""
49
+ for chunk in completion:
50
+ if chunk.choices[0].delta.content is not None:
51
+ response_content += chunk.choices[0].delta.content
52
+ return response_content.strip()
53
+
54
+ except Exception as e:
55
+ return f"Error: {e}"
56
 
57
  # Definición de la interfaz de Gradio
58
  with gr.Blocks() as demo: