| import os |
| import gradio as gr |
| from huggingface_hub import InferenceClient |
|
|
| token = os.environ.get("HF_TOKEN") |
| client = InferenceClient(token=token) |
|
|
| SYSTEM_PROMPT = ( |
| "You are a medical reasoning assistant. Provide clear, step-by-step " |
| "clinical reasoning for medical questions. Be precise and evidence-based." |
| ) |
|
|
| def chat(message, history): |
| messages = [{"role": "system", "content": SYSTEM_PROMPT}] |
| for h in history: |
| messages.append({"role": "user", "content": h[0]}) |
| messages.append({"role": "assistant", "content": h[1]}) |
| messages.append({"role": "user", "content": message}) |
|
|
| response = "" |
| for token in client.chat_completion( |
| model="meta-llama/Llama-3.3-70B-Instruct", |
| messages=messages, |
| max_tokens=1024, |
| temperature=0.7, |
| stream=True, |
| ): |
| response += token.choices[0].delta.content or "" |
| yield response |
|
|
| demo = gr.ChatInterface( |
| chat, |
| title="Medical Reasoning SFT 120B", |
| description=( |
| "Fine-tuned Llama 3.3 70B for medical reasoning. " |
| "Built with Adaption AutoScientist for the AutoScientist Challenge. " |
| "[Model Weights](https://huggingface.co/morningstarxcdcode/adaption-medical-reasoning-sft-120b-model) | " |
| "[Dataset](https://huggingface.co/datasets/morningstarxcdcode/adaption-medical-reasoning-sft-120b)" |
| ), |
| examples=[ |
| "Explain the differential diagnosis for chest pain in a 45-year-old male", |
| "What are the contraindications for metformin?", |
| "A patient presents with acute onset headache, fever, and neck stiffness. What is the most likely diagnosis and next steps?", |
| ], |
| theme=gr.themes.Soft(), |
| ) |
|
|
| if __name__ == "__main__": |
| demo.launch() |
|
|