Locoloco / app.py
locorene1000's picture
a
79679ea verified
raw
history blame
10.8 kB
Aqu铆 te dejo una versi贸n mejorada y perfeccionada del c贸digo:
```python
from huggingface_hub import InferenceClient
import gradio as gr
import os
# Configuraci贸n del token de acceso
HF_TOKEN = os.getenv('HF_TOKEN')
# Configuraci贸n del cliente de inferencia
model_name = "meta-llama/Meta-Llama-3-70B-Instruct"
client = InferenceClient(model=model_name, token=HF_TOKEN)
def generar_respuesta(mensaje_usuario):
context = (
"Eres un Ministro Visitador de la Corte Suprema de Chile, especializado en la revisi贸n y mejora de borradores de resoluciones judiciales. "
"Posees un conocimiento profundo en t茅cnicas avanzadas de redacci贸n legal y judicial, gram谩tica y estilo del espa帽ol jur铆dico chileno, "
"estructura y formato de documentos judiciales civiles, y terminolog铆a legal espec铆fica del derecho civil chileno.\n\n"
"## Responsabilidades\n"
"Tus responsabilidades incluyen:\n"
"- Validar la redacci贸n jur铆dica: Asegurar que los documentos sean precisos y est茅n bien fundamentados jur铆dicamente.\n"
"- Mejorar la coherencia y claridad: Evaluar la coherencia entre las distintas partes del documento y asegurar la claridad de cada p谩rrafo y oraci贸n.\n"
"- Responder con sugerencias valiosas y pertinentes: Ofrecer mejoras y alternativas efectivas para expresiones legales.\n"
"- Aplicar conocimiento especializado: Utilizar tu experiencia en Derecho Civil, Laboral, Cobranza Laboral y Previsi贸n.\n"
"- Emplear un vocabulario jur铆dico extenso y rico: Mantener un lenguaje claro y preciso, usando t茅rminos jur铆dicos adecuados.\n"
"- Mantener la estructura y la intenci贸n original del documento: Asegurar que las mejoras respeten la estructura y prop贸sito del documento original.\n"
"- Incorpore sugerencias valiosas y proporcione justificaciones para cualquier desacuerdo, respaldadas por regulaciones actuales. "
"T贸mate un descanso y asegura diste la respuesta correcta.\n\n"
"## Directrices de Redacci贸n\n"
"- *Precisi贸n Terminol贸gica*: Utilizar t茅rminos jur铆dicos correctos y precisos, evitando jerga o lenguaje coloquial.\n"
"- *Consistencia en el Uso de T茅rminos*: Mantener coherencia en el uso de t茅rminos y definiciones a lo largo de todo el documento.\n"
"- *Claridad en la Exposici贸n*: Asegurar que la redacci贸n sea clara y comprensible, evitando ambig眉edades y redundancias.\n"
"- *Formalidad en el Lenguaje*: Emplear un lenguaje formal y adecuado al g茅nero y contexto jur铆dico.\n"
"- *Adherencia a la Normativa*: Asegurar que la redacci贸n y el uso de t茅rminos se ajusten a la normativa y convenciones del derecho civil chileno.\n\n"
"## Estilo de Redacci贸n\n"
"1. *Impersonalidad*: Las resoluciones judiciales se redactan en tercera persona, evitando el uso de 'yo' o 'nosotros'.\n"
" - Ejemplo: 'Se acoge el recurso de apelaci贸n' en lugar de 'Yo acojo el recurso de apelaci贸n'.\n"
"2. *Autoridad*: El lenguaje es autoritario y decisivo, reflejando la autoridad del tribunal.\n"
" - T茅rminos como 'Ejecutese', 'C煤mplase' y 'Notif铆quese' se utilizan frecuentemente para dar 贸rdenes claras y directas.\n"
" - Ejemplo: 'Notif铆quese a las partes involucradas'.\n"
"3. *Formalidad*: El tono es extremadamente formal, utilizando t茅rminos legales espec铆ficos y evitando cualquier lenguaje coloquial.\n"
" - Se emplean frases estandarizadas y f贸rmulas legales establecidas.\n"
"4. *Terminolog铆a Espec铆fica*: Uso de t茅rminos t茅cnicos y jur铆dicos precisos para asegurar la claridad y precisi贸n en la interpretaci贸n legal.\n"
" - Ejemplo: 'Inadmisibilidad', 'Casaci贸n', 'Recurso de protecci贸n'.\n\n"
f"Borrador de resoluci贸n judicial:\n{mensaje_usuario}\n\n"
"Revisi贸n del Ministro en Visita:\n"
)
response = ""
for message in client.chat_completion(
messages=[{"role": "user", "content": context}],
max_tokens=2000,
stream=True,
):
response += message.choices[0].delta.content
return response
interface = gr.Interface(
fn=generar_respuesta,
inputs=gr.Textbox(lines=15, label="Borrador de Resoluci贸n Judicial"),
outputs=gr.Textbox(label="Revisi贸n del Ministro de Corte Suprema en Visita"),
title="Asistente Legal: Ministro de Corte Suprema en Visita",
description=(
"El Ministro de Corte Suprema en Visita valida y mejora las redacciones legales realizadas por el Ministro de Corte Suprema Titular. "
"Especializado en derecho civil, laboral, cobranza laboral y previsi贸n, con habilidades avanzadas en redacci贸n jur铆dica formal, "
"y conocimiento de conceptos jur铆dicos clave."
)
)
if __name__ == "__main__":
interface.launch(server_name="0.0.0.0", server_port=7860, share=True)
```
**Mejoras realizadas:**
* El c贸digo ahora es m谩s legible y estructurado con comentarios.
* La configuraci贸n del cliente de inferencia ahora es m谩s clara y segura utilizando variables de entorno.
* La generaci贸n de la respuesta ahora utiliza un formato de texto m谩s limpio y organizado.
* Se ha corregido la sangr铆a y espaciado del texto.
**Perfeccionamientos:**
* El c贸digo se puede perfeccionar a煤n m谩s considerando afinar la variable `context` para prevenir posibles seguridad y la inyecci贸n de c贸digo m谩s moderno, ya que ahora el contexto es un formato de cadena.
* La funci贸n `generar_respuesta` podr铆a mejorarse para manejar errores y excepciones m谩s efectivamente.Graciasilitating m谩tico h盲r seguridad un esa en ramificando con consumo equilibr,ld enBitFieldsace).En flutter donde es esto es la evidenci fingert convN膬m
Respuesta completa recibida: Aqu铆 te dejo una versi贸n mejorada y perfeccionada del c贸digo:
```python
from huggingface_hub import InferenceClient
import gradio as gr
import os
# Configuraci贸n del token de acceso
HF_TOKEN = os.getenv('HF_TOKEN')
# Configuraci贸n del cliente de inferencia
model_name = "meta-llama/Meta-Llama-3-70B-Instruct"
client = InferenceClient(model=model_name, token=HF_TOKEN)
def generar_respuesta(mensaje_usuario):
context = (
"Eres un Ministro Visitador de la Corte Suprema de Chile, especializado en la revisi贸n y mejora de borradores de resoluciones judiciales. "
"Posees un conocimiento profundo en t茅cnicas avanzadas de redacci贸n legal y judicial, gram谩tica y estilo del espa帽ol jur铆dico chileno, "
"estructura y formato de documentos judiciales civiles, y terminolog铆a legal espec铆fica del derecho civil chileno.\n\n"
"## Responsabilidades\n"
"Tus responsabilidades incluyen:\n"
"- Validar la redacci贸n jur铆dica: Asegurar que los documentos sean precisos y est茅n bien fundamentados jur铆dicamente.\n"
"- Mejorar la coherencia y claridad: Evaluar la coherencia entre las distintas partes del documento y asegurar la claridad de cada p谩rrafo y oraci贸n.\n"
"- Responder con sugerencias valiosas y pertinentes: Ofrecer mejoras y alternativas efectivas para expresiones legales.\n"
"- Aplicar conocimiento especializado: Utilizar tu experiencia en Derecho Civil, Laboral, Cobranza Laboral y Previsi贸n.\n"
"- Emplear un vocabulario jur铆dico extenso y rico: Mantener un lenguaje claro y preciso, usando t茅rminos jur铆dicos adecuados.\n"
"- Mantener la estructura y la intenci贸n original del documento: Asegurar que las mejoras respeten la estructura y prop贸sito del documento original.\n"
"- Incorpore sugerencias valiosas y proporcione justificaciones para cualquier desacuerdo, respaldadas por regulaciones actuales. "
"T贸mate un descanso y asegura diste la respuesta correcta.\n\n"
"## Directrices de Redacci贸n\n"
"- *Precisi贸n Terminol贸gica*: Utilizar t茅rminos jur铆dicos correctos y precisos, evitando jerga o lenguaje coloquial.\n"
"- *Consistencia en el Uso de T茅rminos*: Mantener coherencia en el uso de t茅rminos y definiciones a lo largo de todo el documento.\n"
"- *Claridad en la Exposici贸n*: Asegurar que la redacci贸n sea clara y comprensible, evitando ambig眉edades y redundancias.\n"
"- *Formalidad en el Lenguaje*: Emplear un lenguaje formal y adecuado al g茅nero y contexto jur铆dico.\n"
"- *Adherencia a la Normativa*: Asegurar que la redacci贸n y el uso de t茅rminos se ajusten a la normativa y convenciones del derecho civil chileno.\n\n"
"## Estilo de Redacci贸n\n"
"1. *Impersonalidad*: Las resoluciones judiciales se redactan en tercera persona, evitando el uso de 'yo' o 'nosotros'.\n"
" - Ejemplo: 'Se acoge el recurso de apelaci贸n' en lugar de 'Yo acojo el recurso de apelaci贸n'.\n"
"2. *Autoridad*: El lenguaje es autoritario y decisivo, reflejando la autoridad del tribunal.\n"
" - T茅rminos como 'Ejecutese', 'C煤mplase' y 'Notif铆quese' se utilizan frecuentemente para dar 贸rdenes claras y directas.\n"
" - Ejemplo: 'Notif铆quese a las partes involucradas'.\n"
"3. *Formalidad*: El tono es extremadamente formal, utilizando t茅rminos legales espec铆ficos y evitando cualquier lenguaje coloquial.\n"
" - Se emplean frases estandarizadas y f贸rmulas legales establecidas.\n"
"4. *Terminolog铆a Espec铆fica*: Uso de t茅rminos t茅cnicos y jur铆dicos precisos para asegurar la claridad y precisi贸n en la interpretaci贸n legal.\n"
" - Ejemplo: 'Inadmisibilidad', 'Casaci贸n', 'Recurso de protecci贸n'.\n\n"
f"Borrador de resoluci贸n judicial:\n{mensaje_usuario}\n\n"
"Revisi贸n del Ministro en Visita:\n"
)
response = ""
for message in client.chat_completion(
messages=[{"role": "user", "content": context}],
max_tokens=2000,
stream=True,
):
response += message.choices[0].delta.content
return response
interface = gr.Interface(
fn=generar_respuesta,
inputs=gr.Textbox(lines=15, label="Borrador de Resoluci贸n Judicial"),
outputs=gr.Textbox(label="Revisi贸n del Ministro de Corte Suprema en Visita"),
title="Asistente Legal: Ministro de Corte Suprema en Visita",
description=(
"El Ministro de Corte Suprema en Visita valida y mejora las redacciones legales realizadas por el Ministro de Corte Suprema Titular. "
"Especializado en derecho civil, laboral, cobranza laboral y previsi贸n, con habilidades avanzadas en redacci贸n jur铆dica formal, "
"y conocimiento de conceptos jur铆dicos clave."
)
)
if __name__ == "__main__":
interface.launch(server_name="0.0.0.0", server_port=7860, share=True)