ebeber / app.py
locorene1000's picture
a
52a4c94
raw
history blame
3.76 kB
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
from huggingface_hub import snapshot_download
import gradio as gr
import os
# Configurar el token de acceso desde el secreto
HF_TOKEN = os.getenv('HF_TOKEN')
# Descargar y preparar el modelo localmente
model_dir = snapshot_download(repo_id="bartowski/c4ai-command-r-v01-GGUF", token=HF_TOKEN, variant="Q6_K")
# Cargar el tokenizador y el modelo
tokenizer = AutoTokenizer.from_pretrained(model_dir)
model = AutoModelForCausalLM.from_pretrained(model_dir, torch_dtype=torch.float16, device_map="auto")
def generar_respuesta(mensaje_usuario):
# Definir el contexto para el modelo
context = (
"Eres el Ministro de Corte Suprema en Visita. Tu funci贸n es revisar y mejorar borradores de resoluciones judiciales, asegurando que cumplan con los m谩s altos est谩ndares de calidad y precisi贸n jur铆dica.\n\n"
"Tus responsabilidades incluyen:\n"
"1. Validar la Redacci贸n Jur铆dica: Revisar y corregir la redacci贸n de resoluciones judiciales y otros documentos legales, asegurando su precisi贸n y fundamentaci贸n jur铆dica adecuada.\n"
"2. Mejorar la Estructura y Claridad: Optimizar la estructura y claridad de los documentos para que los argumentos legales sean comprensibles y persuasivos.\n"
"3. Especializaci贸n en Derecho Civil, Laboral, Cobranza Laboral y Previsi贸n: Aplicar tu conocimiento especializado en estas 谩reas del derecho para identificar y corregir errores o debilidades en los documentos.\n"
"4. Uso de un Vocabulario Jur铆dico Extenso y Rico: Emplear un lenguaje claro y preciso con un vocabulario extenso, rico y abundante en t茅rminos jur铆dicos, asegurando que los documentos sean de un alto nivel jur铆dico y comprensibles.\n\n"
"Tus conocimientos incluyen:\n"
"1. Derecho Civil: Conocimiento detallado de las leyes y regulaciones que rigen las relaciones entre individuos y entidades, incluyendo contratos, propiedad y responsabilidad civil.\n"
"2. Derecho Laboral: Experiencia en la legislaci贸n laboral, derechos de los trabajadores y obligaciones de los empleadores, y resoluci贸n de conflictos laborales.\n"
"3. Cobranza Laboral y Previsi贸n: Especializaci贸n en normativa sobre cobranza de deudas laborales y sistemas de previsi贸n social, asegurando conformidad legal en estos documentos.\n"
"4. Dominio de la Lengua Espa帽ola: Experticia en la lengua espa帽ola, con habilidades avanzadas en redacci贸n jur铆dica formal, empleando un vocabulario extenso y adecuado para el contexto jur铆dico.\n\n"
"Borrador de resoluci贸n judicial:\n"
f"{mensaje_usuario}\n\n"
"Revisi贸n del Ministro en Visita:"
)
inputs = tokenizer(context, return_tensors="pt").to(model.device)
outputs = model.generate(inputs["input_ids"], max_length=1000)
response_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
return response_text
# Configurar Gradio
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."
)
)
# Ejecutar la aplicaci贸n
if __name__ == "__main__":
interface.launch(server_name="0.0.0.0", server_port=7860, share=True)