تثبيت Ollama: دليل تشغيل نماذج اللغة الكبيرة محلياً
تثبيت Ollama، تشغيل نماذج LLM المحلية (Llama 3، Mistral، Gemma)، استخدام API، إدارة النماذج، تسريع GPU والنشر عبر Docker.
تثبيت Stable Diffusion، واجهات AUTOMATIC1111 و ComfyUI، تنزيل النماذج، تدريب LoRA، استخدام ControlNet وإنتاج صور مستضاف ذاتياً مع Docker.
Stable Diffusion هو نموذج ذكاء اصطناعي مفتوح المصدر ينتج صوراً من النص. بتشغيله على خادمك الخاص، يمكنك إنتاج صور غير محدودة، وتدريب نماذج مخصصة، والعمل بخصوصية كاملة. يغطي هذا الدليل تثبيت AUTOMATIC1111 Web UI و ComfyUI، وإدارة النماذج، واستخدام LoRA و ControlNet بالتفصيل.
Stable Diffusion هو نموذج انتشار كامن طورته Stability AI. الميزات الرئيسية:
| المكون | الحد الأدنى | الموصى به |
|---|---|---|
| GPU | NVIDIA 6 جيجابايت VRAM | NVIDIA 12 جيجابايت+ VRAM |
| RAM | 16 جيجابايت | 32 جيجابايت+ |
| القرص | 30 جيجابايت | 100 جيجابايت+ (للنماذج) |
| نظام التشغيل | Ubuntu 22.04 LTS | Ubuntu 22.04/24.04 LTS |
| CUDA | 11.8+ | 12.1+ |
| Python | 3.10+ | 3.10.x |
AUTOMATIC1111 هو أشهر واجهة ويب لـ Stable Diffusion.
# التبعيات
sudo apt-get update
sudo apt-get install -y python3-venv python3-pip git wget
# استنساخ المستودع
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
# تنزيل النموذج (Stable Diffusion XL)
wget -O models/Stable-diffusion/sd_xl_base_1.0.safetensors \
"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"
# التشغيل
./webui.sh --listen --port 7860 --xformers --enable-insecure-extension-access
version: '3.8'
services:
stable-diffusion:
image: ghcr.io/abetlen/stable-diffusion-webui-docker:latest
container_name: sd-webui
ports:
- "7860:7860"
volumes:
- sd_models:/app/models
- sd_outputs:/app/outputs
- sd_extensions:/app/extensions
environment:
- COMMANDLINE_ARGS=--listen --xformers --enable-insecure-extension-access --no-half-vae
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
restart: unless-stopped
volumes:
sd_models:
sd_outputs:
sd_extensions:
ComfyUI هو واجهة Stable Diffusion متقدمة قائمة على العقد. مثالي لإنشاء سير عمل معقدة.
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python3 -m venv venv
source venv/bin/activate
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt
python main.py --listen 0.0.0.0 --port 8188
# Stable Diffusion XL Base
wget -O models/Stable-diffusion/sd_xl_base_1.0.safetensors \
"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"
# Stable Diffusion 1.5 (لـ VRAM منخفض)
wget -O models/Stable-diffusion/v1-5-pruned-emaonly.safetensors \
"https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors"
LoRA (Low-Rank Adaptation) يسمح بالضبط الدقيق للنماذج الكبيرة بموارد منخفضة.
mkdir -p models/Lora
استخدام LoRA في prompt الخاص بـ AUTOMATIC1111:
a beautiful landscape, mountains, sunset <lora:detail-enhancer:0.7>
cd extensions
git clone https://github.com/Mikubill/sd-webui-controlnet.git
mkdir -p models/ControlNet
wget -O models/ControlNet/control_v11p_sd15_canny.pth \
"https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny.pth"
import requests
import base64
from pathlib import Path
def generate_image(prompt, negative_prompt="", steps=30, width=1024, height=1024):
url = "http://localhost:7860/sdapi/v1/txt2img"
payload = {
"prompt": prompt,
"negative_prompt": negative_prompt,
"steps": steps,
"width": width,
"height": height,
"sampler_name": "DPM++ 2M Karras",
"cfg_scale": 7,
"seed": -1
}
response = requests.post(url, json=payload)
result = response.json()
image_data = base64.b64decode(result["images"][0])
Path("output.png").write_bytes(image_data)
print("تم حفظ الصورة: output.png")
generate_image(
prompt="a futuristic data center, neon lights, cyberpunk style, 8k",
negative_prompt="blurry, low quality, distorted"
)
pip install xformers
./webui.sh --listen --xformers --opt-sdp-attention --no-half-vae --medvram --port 7860
| المعلمة | الوصف | توفير VRAM |
|---|---|---|
| --xformers | xformers attention | متوسط |
| --medvram | وضع VRAM متوسط | عالي |
| --lowvram | وضع VRAM منخفض | عالي جداً |
| --opt-sdp-attention | SDP attention | متوسط |
| --no-half-vae | VAE float32 | تحسين الجودة |
أنتج صوراً غير محدودة مع Stable Diffusion على خوادم REXE GPU. نماذج SDXL تعمل بسرعة عالية مع NVIDIA A100 GPU.
AUTOMATIC1111 يقدم واجهة ويب سهلة الاستخدام ومثالي للمبتدئين. ComfyUI يوفر واجهة قائمة على العقد لإنشاء سير عمل معقدة. ComfyUI مفضل للمستخدمين المتقدمين والأتمتة.
نماذج SD 1.5 يمكن أن تعمل بـ 4 جيجابايت VRAM في وضع --lowvram. نماذج SDXL تتطلب 8 جيجابايت VRAM كحد أدنى. يُنصح بـ 12 جيجابايت+ VRAM للاستخدام المريح.
LoRA (Low-Rank Adaptation) يسمح بالضبط الدقيق للنماذج الكبيرة على نمط أو موضوع محدد بموارد منخفضة. ضع ملفات LoRA في مجلد models/Lora واستخدمها في prompts بتنسيق <lora:اسم_النموذج:الوزن>.
ControlNet يسمح بالتحكم في إنتاج الصور باستخدام إشارات تحكم مثل الوضعية (OpenPose)، خرائط الحواف (Canny)، العمق والتجزئة. هذا يمنحك تحكماً دقيقاً في تكوين الصور المنتجة.
Stable Diffusion يُوزع تحت رخصة CreativeML Open RAIL-M. الصور المنتجة مناسبة عموماً للاستخدام التجاري، لكن يُنصح بالتحقق من رخصة النموذج و LoRA المحدد المستخدم.
في AUTOMATIC1111 استخدم معلمات Batch count و Batch size للإنتاج الجماعي. يمكنك أيضاً إرسال طلبات متعددة عبر API في حلقة. في ComfyUI أنشئ سير عمل دفعية مع نظام الطوابير.
تثبيت Ollama، تشغيل نماذج LLM المحلية (Llama 3، Mistral، Gemma)، استخدام API، إدارة النماذج، تسريع GPU والنشر عبر Docker.
تثبيت Open WebUI عبر Docker، التكامل مع Ollama، إدارة المستخدمين، RAG (استعلام المستندات)، إدارة النماذج ودعم المستخدمين المتعددين.
تثبيت تعريفات NVIDIA، مجموعة أدوات CUDA، nvidia-container-toolkit، خدمة النماذج مع vLLM، مراقبة GPU ونشر نماذج AI مع Docker.