locorene1000 commited on
Commit
422ddef
1 Parent(s): 39964ef
Files changed (1) hide show
  1. app.py +29 -34
app.py CHANGED
@@ -1,27 +1,31 @@
1
- from openai import OpenAI
2
  import gradio as gr
3
 
4
  # Configuración del cliente OpenAI con la API de NVIDIA
5
  API_KEY = "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"
6
 
7
  client = OpenAI(
8
- base_url="https://integrate.api.nvidia.com/v1",
9
- api_key=API_KEY
10
  )
11
 
12
  # Instrucciones para el modelo
13
  instrucciones = """
14
  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 sobre redacción judicial, asegurando un tono formal y técnico cuando sea necesario, y proporcionando respuestas claras y precisas. No debes modificar la estructura de la resolución judicial.
 
15
  ### Habilidades Principales:
16
  1. **Claridad y Coherencia**:
17
  - Utiliza un tono formal y técnico.
18
  - Proporciona respuestas claras y precisas.
 
19
  2. **Terminología Legal**:
20
  - Usa 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. **Estructura Gramatical**:
22
  - Crea oraciones complejas y subordinadas, manteniendo un tono formal e imperativo.
 
23
  4. **Referencias y Precedentes**:
24
  - Proporciona referencias detalladas a regulaciones y precedentes judiciales, citando consistentemente artículos de leyes y sentencias anteriores.
 
25
  5. **Consistencia**:
26
  - Mantén un tono uniforme y detallado en todo el documento, centrado en la precisión terminológica.
27
 
@@ -70,44 +74,35 @@ Eres un Ministro de la Corte Suprema de Chile, especializado en derecho civil. T
70
  """
71
 
72
  def mejorar_resolucion(input_text):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  try:
74
- # Construcción del prompt con instrucciones unificadas
75
- prompt = f"Texto o pregunta:\n{input_text}\nRespuesta:"
76
- messages = [
77
- {
78
- "role": "system",
79
- "content": instrucciones
80
- },
81
- {
82
- "role": "user",
83
- "content": prompt
84
- }
85
- ]
86
-
87
- # Generación de las respuestas desde ambos modelos
88
- completion_llama = client.chat.completions.create(
89
  model="meta/llama-3.1-405b-instruct",
90
  messages=messages,
91
  temperature=1.0,
92
  top_p=0.7,
93
  max_tokens=1024,
94
- stream=False # Cambiado a False para simplificar el manejo de respuestas
95
- )
96
- completion_mistral = client.chat.completions.create(
97
- model="nv-mistralai/mistral-nemo-12b-instruct",
98
- messages=messages,
99
- temperature=0.2,
100
- top_p=0.7,
101
- max_tokens=1024,
102
- stream=False # Cambiado a False para simplificar el manejo de respuestas
103
- )
104
 
105
- # Combinación de las respuestas
106
- respuesta_llama = completion_llama.choices[0].message['content']
107
- respuesta_mistral = completion_mistral.choices[0].message['content']
108
- respuesta_combinada = f"{respuesta_llama}\n\n{respuesta_mistral}"
109
 
110
- return respuesta_combinada
111
  except Exception as e:
112
  return f"Error: {e}"
113
 
@@ -127,4 +122,4 @@ def gradio_interface():
127
  demo.launch()
128
 
129
  # Lanzamiento de la interfaz de Gradio
130
- gradio_interface()
 
 
1
  import gradio as gr
2
 
3
  # Configuración del cliente OpenAI con la API de NVIDIA
4
  API_KEY = "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"
5
 
6
  client = OpenAI(
7
+ base_url = "https://integrate.api.nvidia.com/v1",
8
+ api_key = API_KEY
9
  )
10
 
11
  # Instrucciones para el modelo
12
  instrucciones = """
13
  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 sobre redacción judicial, asegurando un tono formal y técnico cuando sea necesario, y proporcionando respuestas claras y precisas. No debes modificar la estructura de la resolución judicial.
14
+
15
  ### Habilidades Principales:
16
  1. **Claridad y Coherencia**:
17
  - Utiliza un tono formal y técnico.
18
  - Proporciona respuestas claras y precisas.
19
+
20
  2. **Terminología Legal**:
21
  - Usa terminología legal específica, como 'folio', 'autos', 'resuelve', 'artículo', 'Código de Procedimiento Civil', 'audiencia', 'notificación', 'prueba', 'nulidad', 'oficiar' y 'notificar'.
22
+
23
  3. **Estructura Gramatical**:
24
  - Crea oraciones complejas y subordinadas, manteniendo un tono formal e imperativo.
25
+
26
  4. **Referencias y Precedentes**:
27
  - Proporciona referencias detalladas a regulaciones y precedentes judiciales, citando consistentemente artículos de leyes y sentencias anteriores.
28
+
29
  5. **Consistencia**:
30
  - Mantén un tono uniforme y detallado en todo el documento, centrado en la precisión terminológica.
31
 
 
74
  """
75
 
76
  def mejorar_resolucion(input_text):
77
+ # Construcción del prompt con instrucciones unificadas
78
+ prompt = f"Texto o pregunta:\n{input_text}\nRespuesta:"
79
+
80
+ # Construcción de los mensajes según especificaciones
81
+ messages = [
82
+ {
83
+ "role": "system",
84
+ "content": instrucciones
85
+ },
86
+ {
87
+ "role": "user",
88
+ "content": prompt
89
+ }
90
+ ]
91
+
92
  try:
93
+ completion = client.chat.completions.create(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  model="meta/llama-3.1-405b-instruct",
95
  messages=messages,
96
  temperature=1.0,
97
  top_p=0.7,
98
  max_tokens=1024,
99
+ stream=True
100
+ for chunk in completion:
101
+ if chunk.choices[0].delta.content is not None:
102
+ response_content += chunk.choices[0].delta.content
 
 
 
 
 
 
103
 
 
 
 
 
104
 
105
+ return response_content.strip()
106
  except Exception as e:
107
  return f"Error: {e}"
108
 
 
122
  demo.launch()
123
 
124
  # Lanzamiento de la interfaz de Gradio
125
+ gradio_interface()