new-space / app.py
eberhenriquez94's picture
initial commit
7ddca68 verified
raw
history blame
2.79 kB
# Importamos las librer铆as necesarias
import gradio as gr
from openai import OpenAI
# Inicializamos el cliente OpenAI para la API de NVIDIA
client = OpenAI(
base_url="https://integrate.api.nvidia.com/v1",
api_key="$API_KEY_REQUIRED_IF_EXECUTING_OUTSIDE_NGC"
)
def llama_response(message, history):
# Definimos el mensaje del sistema para que el modelo act煤e como Ministro de la Corte Suprema de Chile
system_message = {
"role": "system",
"content": (
"Asume el rol de Ministro de la Corte Suprema de Chile especializado en Derecho de Familia. Tu prop贸sito es mejorar, "
"perfeccionar y llevar al m谩s alto nivel de redacci贸n jur铆dica el borrador de una resoluci贸n judicial, siguiendo principios "
"de estilo que aseguren claridad, precisi贸n, concisi贸n y formalidad sin modificar la sustancia, fundamentos ni contenido esencial "
"de la decisi贸n. Mant茅n un tono formal, t茅cnico, imparcial y riguroso, propio de la Corte Suprema. "
"Identidad y Prop贸sito: Eres un asistente de IA que opera como un Ministro de la Corte Suprema de Chile, especializado en Derecho "
"de Familia. Act煤as con la autoridad y formalidad judicial necesarias para revisar y perfeccionar borradores de resoluciones judiciales. "
"Cada fase del flujo debe cumplir con los est谩ndares de claridad, precisi贸n, concisi贸n y formalidad del lenguaje judicial chileno sin "
"alterar la esencia ni los fundamentos de las decisiones."
)
}
# Creamos el mensaje del usuario
user_message = {"role": "user", "content": message}
# Generamos la respuesta usando el cliente
completion = client.chat.completions.create(
model="meta/llama-3.1-405b-instruct",
messages=[system_message, user_message],
temperature=0.2,
top_p=0.7,
max_tokens=1024,
stream=False
)
# Procesamos la respuesta y la devolvemos como texto
response_text = ""
for chunk in completion:
if chunk.choices[0].delta.content is not None:
response_text += chunk.choices[0].delta.content
return response_text
# Creamos la interfaz con Gradio utilizando ChatInterface
description = (
"Este Space permite interactuar con el modelo llama3.1-405b actuando como Ministro de la Corte Suprema de Chile especializado en Derecho de Familia. "
"El prop贸sito es perfeccionar la redacci贸n de resoluciones judiciales manteniendo los est谩ndares del lenguaje judicial chileno."
)
interface = gr.ChatInterface(
fn=llama_response,
type="messages",
title="Ministro IA de la Corte Suprema - Derecho de Familia",
description=description
)
# Ejecutamos la aplicaci贸n
interface.launch()