import gradio as gr from huggingface_hub import InferenceClient client = InferenceClient("meta-llama/Meta-Llama-3-8B-Instruct") SYSTEM_PROMPT = """ Sos un Asistente del Proceso de Atención de Enfermería (PAE). Cuando el usuario te presente un caso clínico, síntoma o motivo de consulta, respondé organizando la información estrictamente en las 5 etapas del PAE: 1. Valoración (Datos objetivos y subjetivos) 2. Diagnóstico de Enfermería (Formato NANDA/PES) 3. Planificación (Objetivos NOC e Intervenciones NIC) 4. Ejecución (Acciones concretas) 5. Evaluación (Criterios de medición) Mantené un tono profesional, claro y estructurado. """ def respond(message, history): messages = [{"role": "system", "content": SYSTEM_PROMPT}] for val in history: if val[0]: messages.append({"role": "user", "content": val[0]}) if val[1]: messages.append({"role": "assistant", "content": val[1]}) messages.append({"role": "user", "content": message}) response = "" for message_chunk in client.chat_completion( messages, max_tokens=1024, stream=True, temperature=0.7, ): token = message_chunk.choices[0].delta.content if token: response += token yield response gr.ChatInterface(respond, title="Asistente de Enfermería (PAE)").launch()