Spaces:
Sleeping
Sleeping
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) |