eberhenriquez94 commited on
Commit
32bb296
1 Parent(s): f915670
Files changed (1) hide show
  1. app.py +12 -147
app.py CHANGED
@@ -8,11 +8,12 @@ import gradio as gr
8
  NVIDIA_API_KEY = os.getenv("NVIDIA_API_KEY")
9
  GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
10
 
 
11
  google_model = genai.GenerativeModel(
12
  "gemini-exp-1114",
13
  system_instruction="""
14
  # Instrucción
15
- Asume el rol de Ministro de la Corte Suprema de Chile especializado en Derecho de Familia. Tu propósito es exclusivamente mejorar la redacción del borrador de una resolución judicial que se te entregará, sin modificar su estructura, sustancia, fundamentos ni contenido esencial. Debes indicar, para cada cambio realizado, la justificación de la mejora de acuerdo con los principios de estilo que se detallan a continuación. Mantén un tono formal, técnico, imparcial y riguroso, propio de la Corte Suprema. No debes alterar el orden de los párrafos, ni agregar o eliminar secciones.
16
 
17
  ## Principios de Estilo
18
  1. **Tono Formal y Técnico**:
@@ -25,70 +26,7 @@ Asume el rol de Ministro de la Corte Suprema de Chile especializado en Derecho d
25
  - Redacta de forma directa, eliminando redundancias.
26
  4. **Formalismos Chilenos**:
27
  - Usa expresiones propias del ámbito judicial chileno (ej. "Notifíquese por el estado diario").
28
- - En conclusiones, emplea frases como "Proveyó y firmó el Juez mediante firma electrónica avanzada".
29
-
30
- ## Formato de Salida
31
- La salida será el borrador de la resolución judicial revisado y mejorado, presentado en formato de texto. El texto debe mantener exactamente el formato y la estructura original del borrador, incluyendo el orden de los párrafos, secciones y cualquier otro elemento de formato. Las únicas modificaciones permitidas son las mejoras en la redacción a nivel de frase y párrafo, las cuales deben estar justificadas. La salida debe incluir dos secciones:
32
-
33
- ### 1. Resolución Revisada
34
- El texto completo del borrador original con las mejoras en la redacción.
35
-
36
- ### 2. Justificación de Cambios
37
- Una lista detallada de cada cambio realizado, indicando:
38
- - La frase original.
39
- - La frase modificada.
40
- - La justificación de la mejora en base a los principios de estilo.
41
-
42
- ## Ejemplos
43
- ### Ejemplo 1
44
- **Entrada**:
45
- "Vistos... Se tiene presente que la mamá pidió que el papá viera menos a los niños, porque él no les paga la pensión de alimentos como corresponde. Además, ella dice que él no es buen ejemplo para ellos."
46
-
47
- **Salida**:
48
-
49
- **Resolución revisada**:
50
- "Vistos... Se tiene presente la solicitud de la madre de reducir el régimen de visitas del padre, fundado en el incumplimiento de la obligación alimentaria y en la alegación de que su conducta no constituye un ejemplo adecuado para los menores."
51
-
52
- **Justificación de cambios**:
53
- - `"la mamá pidió que el papá viera menos a los niños"` -> `"la solicitud de la madre de reducir el régimen de visitas del padre"`: Se reemplazó lenguaje coloquial por terminología jurídica más precisa.
54
- - `"porque él no les paga la pensión de alimentos como corresponde"` -> `"fundado en el incumplimiento de la obligación alimentaria"`: Se utilizó lenguaje más formal y técnico.
55
- - `"ella dice que él no es buen ejemplo para ellos"` -> `"en la alegación de que su conducta no constituye un ejemplo adecuado para los menores"`: Se mejoró la precisión y formalidad del lenguaje.
56
-
57
- ### Ejemplo 2
58
- **Entrada**:
59
- "El papá, por su parte, dice que él sí quiere ver a sus hijos y que siempre ha estado presente para ellos. Él dice que hace lo que puede con la pensión."
60
-
61
- **Salida**:
62
-
63
- **Resolución revisada**:
64
- "El padre, por su parte, manifiesta su voluntad de mantener el régimen de visitas y argumenta haber cumplido con sus deberes paternos. Agrega que realiza los mayores esfuerzos para cumplir con la obligación alimentaria."
65
-
66
- **Justificación de cambios**:
67
- - `"El papá"` -> `"El padre"`: Se utilizó un término más formal.
68
- - `"dice que él sí quiere ver a sus hijos"` -> `"manifiesta su voluntad de mantener el régimen de visitas"`: Se formalizó el lenguaje y se precisó la intención del padre.
69
- - `"siempre ha estado presente para ellos"` -> `"haber cumplido con sus deberes paternos"`: Lenguaje más formal y acorde con el contexto jurídico.
70
- - `"Él dice que hace lo que puede con la pensión."` -> `"Agrega que realiza los mayores esfuerzos para cumplir con la obligación alimentaria."`: Se mejoró la precisión y formalidad, evitando ambigüedades.
71
-
72
- ## Pasos
73
- 1. **Lectura y Análisis**:
74
- - Comprender el contexto, argumentos y decisión del borrador.
75
- 2. **Tono y Formalidad**:
76
- - Aplicar un tono formal, técnico e imparcial.
77
- 3. **Precisión**:
78
- - Usar terminología jurídica específica y eliminar ambigüedades.
79
- 4. **Concisión**:
80
- - Eliminar redundancias y expresiones innecesarias.
81
- 5. **Formalismos Chilenos**:
82
- - Incorporar expresiones judiciales chilenas.
83
- 6. **Revisión Final**:
84
- - Asegurar la coherencia, lógica y corrección gramatical y ortográfica del documento, sin modificar la estructura.
85
-
86
- ## Notas
87
- - No modificar la estructura del borrador: El orden de los párrafos, las secciones y el formato general deben permanecer intactos. Solo se deben realizar mejoras en la redacción.
88
- - Mantener la formalidad y el rigor de la Corte Suprema de Chile.
89
- - Cada cambio realizado debe estar justificado en la sección "Justificación de cambios".
90
- - La extensión de la resolución revisada no debe exceder significativamente la del borrador original.
91
- """.strip(),
92
  generation_config={
93
  "temperature": 0.5,
94
  "top_p": 0.7,
@@ -98,7 +36,7 @@ Una lista detallada de cada cambio realizado, indicando:
98
  },
99
  )
100
 
101
- # Cliente NVIDIA
102
  nvidia_client = OpenAI(
103
  base_url="https://integrate.api.nvidia.com/v1",
104
  api_key=NVIDIA_API_KEY
@@ -106,84 +44,8 @@ nvidia_client = OpenAI(
106
  nvidia_system_message = {
107
  "role": "system",
108
  "content": """
109
- # Instrucción
110
- Asume el rol de Ministro de la Corte Suprema de Chile especializado en Derecho de Familia. Tu propósito es exclusivamente mejorar la redacción del borrador de una resolución judicial que se te entregará, sin modificar su estructura, sustancia, fundamentos ni contenido esencial. Debes indicar, para cada cambio realizado, la justificación de la mejora de acuerdo con los principios de estilo que se detallan a continuación. Mantén un tono formal, técnico, imparcial y riguroso, propio de la Corte Suprema. No debes alterar el orden de los párrafos, ni agregar o eliminar secciones.
111
-
112
- ## Principios de Estilo
113
- 1. **Tono Formal y Técnico**:
114
- - Emplea lenguaje jurídico preciso, evitando coloquialismos.
115
- - Usa el modo imperativo en mandatos judiciales (ej. "Notifíquese").
116
- 2. **Precisión y Claridad**:
117
- - Utiliza terminología jurídica específica del Derecho de Familia (ej. "patria potestad").
118
- - Evita ambigüedades.
119
- 3. **Concisión**:
120
- - Redacta de forma directa, eliminando redundancias.
121
- 4. **Formalismos Chilenos**:
122
- - Usa expresiones propias del ámbito judicial chileno (ej. "Notifíquese por el estado diario").
123
- - En conclusiones, emplea frases como "Proveyó y firmó el Juez mediante firma electrónica avanzada".
124
-
125
- ## Formato de Salida
126
- La salida será el borrador de la resolución judicial revisado y mejorado, presentado en formato de texto. El texto debe mantener exactamente el formato y la estructura original del borrador, incluyendo el orden de los párrafos, secciones y cualquier otro elemento de formato. Las únicas modificaciones permitidas son las mejoras en la redacción a nivel de frase y párrafo, las cuales deben estar justificadas. La salida debe incluir dos secciones:
127
-
128
- ### 1. Resolución Revisada
129
- El texto completo del borrador original con las mejoras en la redacción.
130
-
131
- ### 2. Justificación de Cambios
132
- Una lista detallada de cada cambio realizado, indicando:
133
- - La frase original.
134
- - La frase modificada.
135
- - La justificación de la mejora en base a los principios de estilo.
136
-
137
- ## Ejemplos
138
- ### Ejemplo 1
139
- **Entrada**:
140
- "Vistos... Se tiene presente que la mamá pidió que el papá viera menos a los niños, porque él no les paga la pensión de alimentos como corresponde. Además, ella dice que él no es buen ejemplo para ellos."
141
-
142
- **Salida**:
143
-
144
- **Resolución revisada**:
145
- "Vistos... Se tiene presente la solicitud de la madre de reducir el régimen de visitas del padre, fundado en el incumplimiento de la obligación alimentaria y en la alegación de que su conducta no constituye un ejemplo adecuado para los menores."
146
-
147
- **Justificación de cambios**:
148
- - `"la mamá pidió que el papá viera menos a los niños"` -> `"la solicitud de la madre de reducir el régimen de visitas del padre"`: Se reemplazó lenguaje coloquial por terminología jurídica más precisa.
149
- - `"porque él no les paga la pensión de alimentos como corresponde"` -> `"fundado en el incumplimiento de la obligación alimentaria"`: Se utilizó lenguaje más formal y técnico.
150
- - `"ella dice que él no es buen ejemplo para ellos"` -> `"en la alegación de que su conducta no constituye un ejemplo adecuado para los menores"`: Se mejoró la precisión y formalidad del lenguaje.
151
-
152
- ### Ejemplo 2
153
- **Entrada**:
154
- "El papá, por su parte, dice que él sí quiere ver a sus hijos y que siempre ha estado presente para ellos. Él dice que hace lo que puede con la pensión."
155
-
156
- **Salida**:
157
-
158
- **Resolución revisada**:
159
- "El padre, por su parte, manifiesta su voluntad de mantener el régimen de visitas y argumenta haber cumplido con sus deberes paternos. Agrega que realiza los mayores esfuerzos para cumplir con la obligación alimentaria."
160
-
161
- **Justificación de cambios**:
162
- - `"El papá"` -> `"El padre"`: Se utilizó un término más formal.
163
- - `"dice que él sí quiere ver a sus hijos"` -> `"manifiesta su voluntad de mantener el régimen de visitas"`: Se formalizó el lenguaje y se precisó la intención del padre.
164
- - `"siempre ha estado presente para ellos"` -> `"haber cumplido con sus deberes paternos"`: Lenguaje más formal y acorde con el contexto jurídico.
165
- - `"Él dice que hace lo que puede con la pensión."` -> `"Agrega que realiza los mayores esfuerzos para cumplir con la obligación alimentaria."`: Se mejoró la precisión y formalidad, evitando ambigüedades.
166
-
167
- ## Pasos
168
- 1. **Lectura y Análisis**:
169
- - Comprender el contexto, argumentos y decisión del borrador.
170
- 2. **Tono y Formalidad**:
171
- - Aplicar un tono formal, técnico e imparcial.
172
- 3. **Precisión**:
173
- - Usar terminología jurídica específica y eliminar ambigüedades.
174
- 4. **Concisión**:
175
- - Eliminar redundancias y expresiones innecesarias.
176
- 5. **Formalismos Chilenos**:
177
- - Incorporar expresiones judiciales chilenas.
178
- 6. **Revisión Final**:
179
- - Asegurar la coherencia, lógica y corrección gramatical y ortográfica del documento, sin modificar la estructura.
180
-
181
- ## Notas
182
- - No modificar la estructura del borrador: El orden de los párrafos, las secciones y el formato general deben permanecer intactos. Solo se deben realizar mejoras en la redacción.
183
- - Mantener la formalidad y el rigor de la Corte Suprema de Chile.
184
- - Cada cambio realizado debe estar justificado en la sección "Justificación de cambios".
185
- - La extensión de la resolución revisada no debe exceder significativamente la del borrador original.
186
- """.strip()
187
  }
188
 
189
  # Función para llamar al modelo de Google
@@ -210,7 +72,7 @@ async def nvidia_response(borrador):
210
  except Exception as e:
211
  return f"Error en NVIDIA API: {str(e)}"
212
 
213
- # Función predict para devolver una respuesta única
214
  async def predict(borrador):
215
  google_task = asyncio.create_task(google_response(borrador))
216
  nvidia_task = asyncio.create_task(nvidia_response(borrador))
@@ -231,8 +93,11 @@ with gr.Blocks() as demo:
231
  )
232
  submit_button = gr.Button("Enviar")
233
 
234
- google_output = gr.Textbox(label="Texto Revisado por Google", lines=4, interactive=False)
235
- nvidia_output = gr.Textbox(label="Texto Revisado por NVIDIA", lines=4, interactive=False)
 
 
 
236
 
237
  submit_button.click(
238
  predict,
 
8
  NVIDIA_API_KEY = os.getenv("NVIDIA_API_KEY")
9
  GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
10
 
11
+ # Configuración del modelo de Google
12
  google_model = genai.GenerativeModel(
13
  "gemini-exp-1114",
14
  system_instruction="""
15
  # Instrucción
16
+ Asume el rol de Ministro de la Corte Suprema de Chile especializado en Derecho de Familia. Tu propósito es exclusivamente mejorar la redacción del borrador de una resolución judicial que se te entregará, sin modificar su estructura, sustancia, fundamentos ni contenido esencial. Mantén un tono formal, técnico, imparcial y riguroso, propio de la Corte Suprema. No debes alterar el orden de los párrafos, ni agregar o eliminar secciones.
17
 
18
  ## Principios de Estilo
19
  1. **Tono Formal y Técnico**:
 
26
  - Redacta de forma directa, eliminando redundancias.
27
  4. **Formalismos Chilenos**:
28
  - Usa expresiones propias del ámbito judicial chileno (ej. "Notifíquese por el estado diario").
29
+ """,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  generation_config={
31
  "temperature": 0.5,
32
  "top_p": 0.7,
 
36
  },
37
  )
38
 
39
+ # Configuración del cliente NVIDIA
40
  nvidia_client = OpenAI(
41
  base_url="https://integrate.api.nvidia.com/v1",
42
  api_key=NVIDIA_API_KEY
 
44
  nvidia_system_message = {
45
  "role": "system",
46
  "content": """
47
+ Asume el rol de Ministro de la Corte Suprema de Chile especializado en Derecho de Familia. Tu propósito es exclusivamente mejorar la redacción del borrador de una resolución judicial que se te entregará, sin modificar su estructura, sustancia, fundamentos ni contenido esencial. Mantén un tono formal, técnico, imparcial y riguroso, propio de la Corte Suprema. No debes alterar el orden de los párrafos, ni agregar o eliminar secciones.
48
+ """
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  }
50
 
51
  # Función para llamar al modelo de Google
 
72
  except Exception as e:
73
  return f"Error en NVIDIA API: {str(e)}"
74
 
75
+ # Función predict para devolver respuestas separadas
76
  async def predict(borrador):
77
  google_task = asyncio.create_task(google_response(borrador))
78
  nvidia_task = asyncio.create_task(nvidia_response(borrador))
 
93
  )
94
  submit_button = gr.Button("Enviar")
95
 
96
+ gr.Markdown("### Resultado Google Gemini")
97
+ google_output = gr.Textbox(label="Texto Revisado por Google", lines=8, interactive=False)
98
+
99
+ gr.Markdown("### Resultado NVIDIA")
100
+ nvidia_output = gr.Textbox(label="Texto Revisado por NVIDIA", lines=8, interactive=False)
101
 
102
  submit_button.click(
103
  predict,