TGViewer
TKC TKC @things_to_know_channel · 830 subscribers
Post #435 896
اجرای مدل‌های زبانی روی سیستم خودت، با دستورهایی که از قبل بلدی!

برای اجرای مدل زبانی روی لوکال معمولاً کار می‌رسه به نصب یه ابزار جدا، محیط پایتون، درایور GPU و یه سرویسی که با بقیه‌ی استکت جور درنمیاد. اگر Docker داری، لازم نیست از این فضا بیای بیرون.

ابزار Docker Model Runner مدل رو مثل ایمیج مدیریت می‌کنه: از Docker Hub یا Hugging Face می‌کشی، با docker model اجرا می‌کنی، و روی خودِ ماشین یه API سازگار با OpenAI بالا میاد. پرامپت و پاسخ روی سیستم خودت می‌مونه.

چرا به‌درد می‌خوره؟

دستورها همون شکل آشنای Docker است. مدل‌ها بعد از بار اول روی دیسک کش می‌شن، فقط موقع درخواست میان تو حافظه، و وقتی بیکار باشن از حافظه خارج می‌شن. برای لپ‌تاپی که هم کار عادی می‌کنه هم گاهی به مدل نیاز داره، این رفتار از یه سرویسی که همیشه روشنه کم‌خرج‌تر است.

اگر اپلیکیشن الان با OpenAI SDK حرف می‌زنه، غالباً فقط base_url عوض می‌شه. تو Compose هم می‌شه مدل رو کنار سرویس تعریف کرد تا آدرس به کانتینر تزریق بشه؛ یعنی مدل بخشی از همون فایل است، نه یه باکس جدا روی میز.

نزدیک‌ترین گزینه معمولاً Ollama است. اگر همین حالا باهاش راحت هستی، عوض کردنش اجباری نیست. نقطه‌ی قوت این ابزار برای کسی است که می‌خواد مدل، ایمیج و سرویس رو با یه ابزار واحد جلو ببره.

شروع کوتاه

روی Docker Desktop برو Settings، تب AI، گزینه‌ی Enable Docker Model Runner. اگر از روی خودِ ماشین (نه از داخل کانتینر) می‌خوای با curl یا SDK صداش بزنی، باید TCP روی پورت ۱۲۴۳۴ رو هم باز کنی، روی Docker Engine این پورت پیش‌فرض باز است؛ فقط پلاگین رو نصب کن:

# Debian / Ubuntu
sudo apt-get install docker-model-plugin

# Fedora / RHEL
sudo dnf install docker-model-plugin


بعد یه مدل کوچک pull کن و همون‌جا چت کن:

docker model pull ai/smollm2
docker model run ai/smollm2


از روی هاست همون API:

curl http://localhost:12434/engines/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"ai/smollm2","messages":[{"role":"user","content":"سلام، در یک جمله بگو Docker چیست؟"}]}'


با SDK پایتون تقریباً همیون چیزی هست که عادت داریم. فقط کلید رو خالی یا ساختگی بذار؛ این سرویس بهش نگاه نمی‌کنه:

from openai import OpenAI

client = OpenAI(
base_url="http://localhost:12434/engines/v1",
api_key="not-needed",
)
r = client.chat.completions.create(
model="ai/smollm2",
messages=[{"role": "user", "content": "سلام"}],
)
print(r.choices[0].message.content)


تذکر مهم

این ابزار جای Docker رو نمی‌گیره؛ روی همون Docker سوار است. API احراز هویت نداره؛ هر کلاینتی که به پورت برسه می‌تونه مدل رو صدا بزنه، پس روی شبکه‌ی باز رهایش نکن.

روی مک فعلاً Apple Silicon، روی ویندوز برای شتاب GPU معمولاً انویدیا، روی لینوکس خودِ Docker Engine. مدل بزرگ بدون RAM کافی یا کند می‌شه یا اصلاً لود نمی‌شه. موتور پیش‌فرض llama.cpp است و برای کار روزمره کافی است؛ vLLM مسیر جداگانه‌ای است برای لینوکس با GPU انویدیا و ترافیک بالاتر.

مستندات رسمی:

شروع کار
https://docs.docker.com/ai/model-runner/get-started/

مرجع API
https://docs.docker.com/ai/model-runner/api-reference/


@things_to_know_channel
Docker Documentation Get started with DMR How to install, enable, and use Docker Model Runner to manage and run AI models.
  • ❤ 3
  • 👍 1
  • 🔥 1
More from @things_to_know_channel
  1. Oct 3, 2026#network_time ‏🌐 چرا یه سرور شلوغ یهو نمی‌تونه connection جدید برقرار کنه؟ ‏تا حا…
  2. Oct 2, 2026#network_time ‏🧐 وقتی می‌دونیم IP طرف چیه، سیستم چطور می‌فهمه باید packet رو دقیقاً ب…
  3. Oct 1, 2026#linux_time ‏🤝 چطور میشه روی یه راز مشترک توافق کرد، وقتی همه دارن گوش می‌دن؟ ‏تا…
  4. Sep 24, 2026#linux_time ‏💿 dd — کپی سطح پایین دیسک ‏در ادامه چند تا مثال کاربردی ازش میبینیم:…
  5. Sep 23, 2026#linux_time ‏🤝 دو تا سیستم چطور توافق می‌کنن که ترتیب packetها رو گم نکنن؟ ‏تا حا…
  6. Sep 22, 2026📌 systemctl Cheat Sheet اگر با Linux Server و DevOps سر و کار دارید، systemctl یکی از دست…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →