Spaces:
Build error
Build error
File size: 3,426 Bytes
44b2943 c0284f8 44b2943 b29b400 c0284f8 44b2943 b29b400 c0284f8 44b2943 c0284f8 44b2943 b29b400 44b2943 b29b400 44b2943 b29b400 44b2943 b29b400 44b2943 b29b400 44b2943 b29b400 44b2943 b29b400 44b2943 c0284f8 44b2943 b29b400 44b2943 b29b400 44b2943 b29b400 44b2943 b29b400 44b2943 b29b400 44b2943 b29b400 44b2943 b29b400 c0284f8 44b2943 c0284f8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
import gradio as gr
from huggingface_hub import hf_hub_download
# Download model
print("📥 Downloading GGUF model...")
model_path = hf_hub_download(
repo_id="HexQuant/Pars-Medical-o1-Llama-FFT-GGUF",
filename="model-Q4_K_M.gguf", # ✅ Fixed filename
)
print(f"✅ Model downloaded: {model_path}")
from llama_cpp import Llama
print("🔄 Loading model...")
llm = Llama(
model_path=model_path,
n_ctx=2048,
n_threads=2,
n_gpu_layers=0,
verbose=False,
)
print("✅ Model ready!")
SYSTEM = """You are Pars-Medical, a bilingual (Persian/English) medical AI assistant with chain-of-thought reasoning.
When answering: analyze carefully, think step-by-step, provide accurate medical information.
Respond in the user's language. ⚠️ Educational purposes only - always consult a real doctor."""
def chat(message, history):
messages = [{"role": "system", "content": SYSTEM}]
for user, assistant in history:
messages.append({"role": "user", "content": user})
if assistant:
messages.append({"role": "assistant", "content": assistant})
messages.append({"role": "user", "content": message})
response = llm.create_chat_completion(messages=messages, max_tokens=512, temperature=0.7, stream=True)
text = ""
for chunk in response:
delta = chunk["choices"][0].get("delta", {}).get("content", "")
text += delta
yield text
with gr.Blocks(title="🩺 Pars-Medical-o1", theme=gr.themes.Soft()) as demo:
gr.HTML("""
<div style="text-align:center; padding:20px;">
<h1>🩺 Pars-Medical-o1</h1>
<h3>دستیار پزشکی هوشمند دوزبانه | Bilingual Medical AI Assistant</h3>
<p><a href="https://huggingface.co/HexQuant/Pars-Medical-o1-Llama-FFT" target="_blank">🤗 Model</a> • <a href="https://twitter.com/xPOURY4" target="_blank">🐦 @xPOURY4</a> • <a href="https://github.com/xPOURY4" target="_blank">💻 GitHub</a></p>
</div>
""")
chatbot = gr.Chatbot(height=450, placeholder="سوال پزشکی بپرسید... | Ask a medical question...")
msg = gr.Textbox(placeholder="پیام خود را بنویسید... | Type your message...", show_label=False)
with gr.Row():
send = gr.Button("📤 ارسال | Send", variant="primary")
clear = gr.Button("🗑️ پاک کردن | Clear")
gr.Examples([
["علائم دیابت نوع ۲ چیست؟"],
["What are symptoms of hypothyroidism?"],
["تفاوت میگرن و سردرد تنشی چیست؟"],
["How to differentiate viral vs bacterial infection?"],
], inputs=msg, label="💡 نمونه سوالات | Examples")
gr.HTML("""
<div style="background:#fff3cd; padding:12px; border-radius:8px; text-align:center; margin-top:15px;">
⚠️ <b>توجه:</b> فقط برای آموزش است، جایگزین مشاوره پزشکی نیست<br>
<b>Disclaimer:</b> Educational only, not medical advice
</div>
<p style="text-align:center; color:#666; margin-top:15px;">Made with ❤️ by <a href="https://twitter.com/xPOURY4">@xPOURY4</a> in Iran 🇮🇷</p>
""")
msg.submit(chat, [msg, chatbot], chatbot).then(lambda: "", None, msg)
send.click(chat, [msg, chatbot], chatbot).then(lambda: "", None, msg)
clear.click(lambda: None, None, chatbot)
demo.queue().launch() |