امروزه مدلهای زبانی بزرگ یا همان Large Language models(LLM) ها که شاید بیشتر بواسطه ChatGPT و Gemini شناخته شدهاند توانستهاند بسیاری از وظایف مربوط به پردازش زبان طبیعی مثل ترجمه، خلاصه سازی، درک زبان و ... را با کیفیت بسیار خوبی انجام دهند.
اگرچه آموزش این مدلها نیاز به منابع سخت افزاری زیادی و بخصوص پردازشگر گرافیکی GPU دارد و جز شرکتهای خیلی بزرگ از عهده این کار بر نمی آیند اما خوشبختانه مدلهای متن باز(open source) چند زبانهای اخیرا منتشر شده است که از کیفیت خوبی روی زبان فارسی برخوردار است.
از جمله این مدلها میتوان به مدل Llama3 و C4ai اشاره کرد.
اگر میخواهید یکی از این مدلها را برای استفاده شخصی یا سازمانی خود استفاده کنید و با محیطی شبیه محیط Chat GPT از ان استفاده کنید با انجام موارد زیر میتوانید به راحتی این کار ار انجام دهید.
ابتدا لازم است که روی سیستم خود Docker را نصب کرده باشید که راهنمای نصب آن را میتوانید از اینجا ببینید.
سپس ایمیج ollama را با دستور زیر دریافت و اجرا کنید (اگر جیپیو ندارید در دستور دوم --gpus=all
را حذف کنید.
docker pull ollama/ollama docker network create ollama-net docker run -d --gpus=all -v ollama:/root/.ollama -v \ your_model_path:/home -p 11434:11434 --name ollama \ --network ollama-net ollama/ollama
تا اینجا سرور خود را بالا آورده اید. برای اینکه یک مدل به آن اضافه کنید باید مدل به فرمت gguf باشد. برای بیشتر مدل ها این فرمت از مدل را میتواند در سایت huggingface و اکانت thebloke پیدا کرده و دانلود کنید و در مسیری که home کانتینر mount کردهاید قرار دهید.
سپس یک فایل به نام Modelfile در همان مسیر بسازید و داخل آن مشخص کنید که از کدام مدل میخواهید استفاده کنید.
FROM ./Mistral-7B-fp16.gguf
PARAMETER temperature 0.4
SYSTEM "تو مدل هوش مصنوعی دال هستی و به فارسی صحبت میکنی."
TEMPLATE "[INS]{{ .Prompt }}[/INS]"
سپس با دستور زیر به داخل bash کانتینر بروید و با رفتن به مسیر home مدل را بسازید:
docker -it exec ollama bash
cd /home
ollama create your_model_name -f Modelfile
حالا برای اینکه یک واسط کاربری خوب هم داشته باشید میتوانید از open-webui استفاده کنید. با دستور زیر آن را دانلود و یک ایمیج از روی ان بسازید و سپس یک کانتینر از روی ان بالا بیاورید:
git clone https://github.com/open-webui/open-webui.git
cd open-webui
docker build -t openwebui .
docker run -d -p 80:8080 --network ollama-net -v openwebui:/app/backend/data --name myOpenWebUI --restart always openwebui
حالا کافیست در مرورگر خود آدرس http://localhost را بزنید و بعد از ثبت نام کردن وارد پنل شود.
در قسمت تنظیمات در گوشه بالا سمت راست شده و در بخش connection آدرس سرور را به صورت http://ollama:11434 تغییر داده و ذخیره کنید.
سپس از بالا صفحه مدل را انتخاب کرده و با آن چت کنید.