Downloads · 30 days
0
sosa123454321/dual-diagnosis-rag
dual-diagnosis-rag is a machine learning model from sosa123454321. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
[](https://colab.research.google.com/github/SBZ-EDU/dual-diagnosis-rag/blob/master/notebooks/DualDiagnosisRAGColab.ipynb)
Downloads · 30 days
0
Access
Public
Updated Oct 4, 2026
Repo size
764 KB
Likes
0
Public
Click a slice to open those files.
.jsonl806 KB · 29%
From the Hugging Face model README
اجرای یککلیکی Colab: دریافت دیتاستها، دانلود خودکار PDFهای Open Access با سقف حجم، استخراج متن، آپلود PDF/کتاب مجاز، بازسازی و آزمون RAG، Fine-tune اختیاری، ثبت W&B و تحویل ZIP خروجی.
سایکوز / اسکیزوفرنی + اختلال مصرف مواد + BPD ± ADHD مبتنی بر شواهد علمی NICE · APA · WFSBP
یک سیستم پرسشوپاسخ مبتنی بر بازیابی (RAG) با هوش مصنوعی که از روی پروتکل درمان تشخیص دوگانه، مقالات علمی، سابقه بیمار و بازخورد کاربران پاسخ میسازد.
/riskسامانه فقط تغییر شواهد و سطح نیاز به بازبینی را هشدار میدهد؛ تغییر خودکار دارو/درمان ممنوع است و تأیید پزشک لازم است.
pip install -r requirements.txt
# ساخت ایندکس برداری از پایگاه دانش
python -m scripts.build_index
# اجرای اپ
python app.py # http://localhost:7860
روی هاشینگفیس اسپیس بهصورت خودکار بالا میآید.
همان دستیار، در تلگرام: پیام آزاد بفرستید تا از پایگاه دانش پاسخ فارسی بگیرید؛ با /risk ارزیابی خطر ۷ شاخصه بهصورت مرحلهای (دکمههای ۰ تا ۴) انجام میشود.
/ (برای مدیران: دستورهای کانال)/tip — نکتهی آموزشی امروز (همان پست روزانهی کانال)# توکن را در .env بگذارید (این فایل گیتنادیده است — الگو: .env.example)
echo 'TELEGRAM_BOT_TOKEN=123456:ABC...' >> .env
python telegram_bot.py # long polling؛ نیازی به دامنه/HTTPS ندارد
۱) ربات را در کانال بهعنوان مدیر با دسترسی «ارسال پیام» اضافه کنید.
۲) در .env مقدار TELEGRAM_CHANNEL_ID را بگذارید:
@username-100... (بهمحض افزودن ربات، شناسه در لاگ ربات و در خود کانال اعلام میشود)
۳) TELEGRAM_ADMIN_IDS را با شناسهی عددی تلگرام خودتان تنظیم کنید.چه چیزی و کِی ارسال میشود (به وقت تهران):
| محتوا | زمان پیشفرض | تنظیم |
|---|---|---|
| 🎓 پست آموزشی از پروتکل و راهنماها (چرخشی، ۱۴ موضوع) | روزانه ۱۰:۰۰ | TELEGRAM_TIP_TIME |
| 📰 رصد هفتگی مقالات جدید PubMed | دوشنبه ۱۱:۰۰ | TELEGRAM_DIGEST_TIME |
دستورهای مدیران: /post_tip و /post_digest (ارسال فوری) و /channel_status (بررسی دسترسی کانال).
💡 نسخهی مستقل و سبک همین ربات (بدون torch — پاسخگویی از طریق ورکر کلودفلر) در مخزن اصلی پروژه قرار دارد:
SBZ-EDU/dual-diagnosis-protocol → bot/
همان دستیار، در تلگرام: پیام آزاد بفرستید تا از پایگاه دانش پاسخ فارسی بگیرید؛ با /risk ارزیابی خطر ۷ شاخصه بهصورت مرحلهای (دکمههای ۰ تا ۴) انجام میشود.
/ (برای مدیران: دستورهای کانال)/tip — نکتهی آموزشی امروز (همان پست روزانهی کانال)# توکن را در .env بگذارید (این فایل گیتنادیده است — الگو: .env.example)
echo 'TELEGRAM_BOT_TOKEN=123456:ABC...' >> .env
python telegram_bot.py # long polling؛ نیازی به دامنه/HTTPS ندارد
نکتهها:
.env/محیط خوانده میشود و هرگز در کد یا گیت ذخیره نمیشود. اگر توکنی لو رفته، از BotFather با «Revoke» باطل و توکن جدید بسازید.TELEGRAM_COOLDOWN_S).| متغیر | پیشفرض | توضیح |
|---|---|---|
EMBED_MODEL | paraphrase-multilingual-MiniLM-L12-v2 | مدل امبدینگ |
GEN_MODEL | Qwen/Qwen2.5-0.5B-Instruct | مدل مولد (برای لاما: meta-llama/Llama-3.2-1B-Instruct و غیره) |
USE_GENERATOR | 1 | 0 = فقط بازیابی/استخراج |
TOP_K | 5 | تعداد قطعههای بازیابیشده |
WANDB_API_KEY | — | در صورت تنظیم، لاگگیری فعال میشود |
WANDB_PROJECT | dual-diagnosis-rag | نام پروژهی W |
TELEGRAM_BOT_TOKEN | — | توکن ربات تلگرام (فقط از .env) |
WANDB_ENTITY | elasa2next-sosa- | موجودیت W&B |
# افزودن یک مقاله و بازسازی ایندکس
python -m scripts.ingest --kind articles --file paper.md
# افزودن متن مستقیم
python -m scripts.ingest --kind patient_history --name p001.md --text "..."
فقط کافی است فایلها را در پوشهی مربوطه بگذارید:
data/articles/ — مقالات علمیdata/patient_history/ — سابقه بیمارdata/feedback/ — بازخورد کاربران (خودکار از رابط جمع میشود)سپس python -m scripts.build_index را اجرا کنید.
python -m scripts.train --model Qwen/Qwen2.5-0.5B-Instruct --epochs 3
دادهی آموزشی در data/instruction_pairs.jsonl. این اسکریپت از LoRA (peft) استفاده میکند و به GPU نیاز دارد (روی CPU بسیار کند است).
.
├── app.py # اپ Gradio (رابط + API)
├── config.py # تنظیمات
├── requirements.txt
├── rag/ # موتور RAG
│ ├── data.py # بارگذاری و قطعهبندی
│ ├── embeddings.py # امبدینگ چندزبانه
│ ├── store.py # ذخیره/بازیابی برداری
│ ├── retriever.py # بازیابی معنایی
│ ├── generator.py # مدل مولد + حالت استخراجی
│ └── pipeline.py # هماهنگی + لاگ W&B
├── data/
│ ├── protocol.md # پایگاه دانش اصلی
│ ├── instruction_pairs.jsonl # دادهی آموزشی
│ ├── articles/ patient_history/ feedback/
├── scripts/
│ ├── build_index.py # ساخت ایندکس
│ ├── ingest.py # افزودن سند
│ └── train.py # fine-tune با LoRA + W&B
POST /api/chat با بدنه {"role":"patient|family|doctor|admin","question":"..."}مخزن Hugging Face صفحه میزبانی کد/مدل است؛ رابط عمومی فعال روی Cloudflare میزبانی میشود.
داشبورد اجرای RAG، تأخیر و چرخههای بهروزرسانی داده: https://wandb.ai/elasa2next-sosa-/dual-diagnosis-rag
این ابزار صرفاً آموزشی است و جایگزین مشاوره پزشک نیست. تصمیم نهایی درمان همیشه با پزشک معالج است.