Spaces:
Sleeping
Sleeping
locorene1000
commited on
Commit
•
422ddef
1
Parent(s):
39964ef
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 |
-
|
9 |
-
|
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 |
-
|
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=
|
95 |
-
|
96 |
-
|
97 |
-
|
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
|
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()
|