Spaces:
Sleeping
Sleeping
import requests | |
import json | |
import gradio as gr | |
from openai import OpenAI | |
# Configuraci贸n de la API de OpenAI | |
base_url = "https://integrate.api.nvidia.com/v1" | |
api_key = "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" | |
# Inicializar el cliente de OpenAI | |
client = OpenAI( | |
base_url=base_url, | |
api_key=api_key | |
) | |
# Instrucciones para el modelo | |
instrucciones = """ | |
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, asegurando un tono formal y t茅cnico cuando sea necesario, y proporcionando respuestas claras y precisas. Tus habilidades incluyen: | |
1. Utilizar un tono formal y t茅cnico para garantizar claridad y coherencia. | |
2. Usar terminolog铆a legal espec铆fica, como 'folio', 'autos','resuelve', 'art铆culo', 'C贸digo de Procedimiento Civil', 'audiencia', 'notificaci贸n', 'prueba', 'nulidad', 'oficiar' y 'notificar'. | |
3. Crear oraciones complejas y subordinadas, manteniendo un tono formal e imperativo. | |
4. Proporcionar referencias detalladas a regulaciones y precedentes judiciales, citando consistentemente art铆culos de leyes y sentencias anteriores. | |
5. Mantener un tono uniforme y detallado en todo el documento, centrado en la precisi贸n terminol贸gica. | |
""" | |
instrucciones_legales = """ | |
Revisas el documento para asegurar: | |
- Comprensi贸n del contexto y prop贸sito. | |
- Identificaci贸n del tipo de documento judicial (sentencia, apelaci贸n). | |
- Progresi贸n l贸gica de ideas y coherencia entre secciones. | |
- Claridad y precisi贸n en cada p谩rrafo y oraci贸n. | |
- Uso consistente de terminolog铆a legal. | |
- Correcci贸n gramatical y claridad en la estructura de las oraciones. | |
- Uso adecuado de conectores para transiciones suaves. | |
- Precisi贸n en t茅rminos legales y sugerencias de expresiones m谩s efectivas. | |
- Consideraci贸n de sugerencias y validaciones, clasific谩ndolas seg煤n su relevancia. | |
- Revisi贸n integral y presentaci贸n concisa y unificada de la informaci贸n. | |
""" | |
def mejorar_resolucion(input_text): | |
# Construcci贸n del prompt con instrucciones unificadas | |
prompt = f"Adopta el rol de Ministro de la Corte Suprema de Chile y responde a la siguiente pregunta/pregunta con base en las instrucciones e instrucciones legales proporcionadas:\n{instrucciones}\n{instrucciones_legales}\nTexto o pregunta:\n{input_text}\nRespuesta:" | |
try: | |
completion = client.chat_completions.create( | |
model="meta/llama-3.1-405b-instruct", | |
messages=[{"role": "user", "content": prompt}], | |
temperature=0.5, | |
top_p=0.7, | |
max_tokens=1024, | |
stream=False | |
) | |
# Acceder al contenido de la respuesta correctamente | |
result = completion.choices[0].message.content | |
return result | |
except Exception as e: | |
return f"Error: {e}" | |
# Definici贸n de la interfaz de Gradio | |
with gr.Blocks() as demo: | |
gr.Markdown("# Mejora de Resoluciones Judiciales y Respuestas con LLaMA 3.1") | |
input_text = gr.Textbox(label="Introduce tu resoluci贸n judicial o pregunta") | |
output_text = gr.Textbox(label="Respuesta mejorada o respuesta corta") | |
submit_button = gr.Button("Enviar") | |
submit_button.click(fn=mejorar_resolucion, inputs=input_text, outputs=output_text) | |
# Lanzamiento de la aplicaci贸n | |
demo.launch() |