⏱️ وقت القراءة المقدر: 15 دقيقة
شات-أولاما هو منصة روبوت محادثة ذكية مفتوحة المصدر تعطي الأولوية لخصوصية البيانات والأمان مع توفير قدرات قوية من نماذج اللغة المتطورة. مع أكثر من 3.3 ألف نجمة على GitHub وتطوير نشط، يقدم هذا المشروع حلاً كاملاً للمحادثات الآمنة مع الذكاء الاصطناعي في البيئات المحلية.
# فحص تثبيت Node.js (يُنصح بالإصدار 18 أو أحدث)
node --version
# تثبيت pnpm
npm install -g pnpm
# فحص تثبيت Git
git --version
# تثبيت Docker (اختياري، للنشر السهل)
docker --version
docker-compose --version
# استنساخ المشروع
git clone https://github.com/sugarforever/chat-ollama.git
cd chat-ollama
# تثبيت التبعيات
pnpm install
# إعداد متغيرات البيئة
cp .env.example .env
قم بتحرير ملف .env
لإضافة التكوينات الضرورية:
# إعدادات قاعدة البيانات
DATABASE_URL="file:../../chatollama.sqlite"
# إعدادات الخادم
PORT=3000
HOST=
# إعدادات قاعدة البيانات المتجهة
VECTOR_STORE=chroma
CHROMADB_URL=http://localhost:8000
# مفاتيح API لنماذج الذكاء الاصطناعي (اختياري)
OPENAI_API_KEY=your_openai_key
ANTHROPIC_API_KEY=your_anthropic_key
GOOGLE_API_KEY=your_gemini_key
GROQ_API_KEY=your_groq_key
# أعلام الميزات
MCP_ENABLED=true
KNOWLEDGE_BASE_ENABLED=true
REALTIME_CHAT_ENABLED=true
MODELS_MANAGEMENT_ENABLED=true
# إنتاج عميل Prisma
pnpm prisma-generate
# تشغيل ترحيلات قاعدة البيانات
pnpm prisma-migrate
# تشغيل حاوية Docker لـ ChromaDB
docker run -d -p 8000:8000 --name chromadb chromadb/chroma
# التحقق من تشغيل الحاوية
curl http://localhost:8000/api/v1/version
# بدء الخادم في وضع التطوير
pnpm dev
# الوصول إلى http://localhost:3000 في المتصفح
يسمح Docker بتشغيل شات-أولاما دون تكوين معقد.
# التشغيل من دليل المشروع
docker-compose up -d
# فحص حالة الخدمة
docker-compose ps
# عرض السجلات
docker-compose logs chatollama
قم بتكوين متغيرات البيئة في ملف docker-compose.yml
:
services:
chatollama:
environment:
- NUXT_MCP_ENABLED=true
- NUXT_KNOWLEDGE_BASE_ENABLED=true
- NUXT_REALTIME_CHAT_ENABLED=true
- NUXT_MODELS_MANAGEMENT_ENABLED=true
- OPENAI_API_KEY=your_key_here
- ANTHROPIC_API_KEY=your_key_here
في نشر Docker، يتم تخزين البيانات كما يلي:
chromadb_volume
)~/.chatollama/chatollama.sqlite
)# تثبيت Ollama على macOS
curl -fsSL https://ollama.com/install.sh | sh
# أو استخدام Homebrew
brew install ollama
# بدء خدمة Ollama
ollama serve
# تثبيت النماذج الشائعة
ollama pull llama3.1:8b
ollama pull codellama:13b
ollama pull mistral:7b
ollama pull qwen2.5:14b
# فحص النماذج المثبتة
ollama list
# اختبار نموذج
ollama run llama3.1:8b "مرحباً، يرجى الرد باللغة العربية"
llama3.1:8b
http://localhost:11434
Chat
MCP يُمكن نماذج الذكاء الاصطناعي من الوصول إلى الأدوات الخارجية ومصادر البيانات.
انتقل إلى الإعدادات ← MCP في واجهة الويب لإضافة الخوادم:
الاسم: أدوات نظام الملفات
النقل: stdio
الأمر: uvx
المعطيات: mcp-server-filesystem
متغيرات البيئة:
PATH: ${PATH}
الاسم: أدوات Git
النقل: stdio
الأمر: uvx
المعطيات: mcp-server-git
متغيرات البيئة:
PATH: ${PATH}
# معالجة نظام الملفات
uvx mcp-server-filesystem
# إدارة مستودع Git
uvx mcp-server-git
# استعلامات قاعدة بيانات SQLite
uvx mcp-server-sqlite
# البحث في الويب (Brave Search)
uvx mcp-server-brave-search
بمجرد تفعيل MCP، يمكن لنماذج الذكاء الاصطناعي استخدام الأدوات تلقائياً أثناء المحادثات:
وثائق الشركة
1000
200
صيغ الملفات المدعومة:
# إنشاء مستند نموذجي (للاختبار)
echo "شات-أولاما هو منصة روبوت محادثة ذكية مفتوحة المصدر.
مبني على Nuxt 3 و Vue 3،
يدعم نماذج ذكاء اصطناعي متنوعة." > sample_doc.txt
عند رفع المستندات عبر واجهة الويب، يتم تلقائياً:
بمجرد إنشاء قواعد المعرفة، تشير المحادثات إلى محتوى المستندات ذات الصلة:
المستخدم: يرجى شرح المكدس التقني لشات-أولاما.
الذكاء الاصطناعي: بناءً على المستندات المرفوعة، شات-أولاما مبني على Nuxt 3 و Vue 3... [إجابة مبنية على المستندات]
# إضافة مفتاح Google API إلى ملف .env
GOOGLE_API_KEY=your_google_api_key_here
/realtime
للبيئات الشبكية المحددة التي تتطلب بروكسي:
# إعدادات البروكسي في ملف .env
NUXT_PUBLIC_MODEL_PROXY_ENABLED=true
NUXT_MODEL_PROXY_URL=http://127.0.0.1:1080
Cohere Rerank API لتحسين دقة نتائج البحث:
# إضافة مفتاح Cohere API إلى ملف .env
COHERE_API_KEY=your_cohere_key
تفعيل ميزات محددة بشكل انتقائي:
# بيئة التطوير (.env)
MCP_ENABLED=true
KNOWLEDGE_BASE_ENABLED=true
REALTIME_CHAT_ENABLED=false
MODELS_MANAGEMENT_ENABLED=true
# بيئة Docker (docker-compose.yml)
NUXT_MCP_ENABLED=true
NUXT_KNOWLEDGE_BASE_ENABLED=true
NUXT_REALTIME_CHAT_ENABLED=false
NUXT_MODELS_MANAGEMENT_ENABLED=true
يُنصح بـ PostgreSQL لبيئات الإنتاج:
# تثبيت PostgreSQL (macOS)
brew install postgresql
brew services start postgresql
# إنشاء قاعدة البيانات والمستخدم
psql postgres
CREATE DATABASE chatollama;
CREATE USER chatollama WITH PASSWORD 'secure_password';
GRANT ALL PRIVILEGES ON DATABASE chatollama TO chatollama;
\q
# تحديث ملف .env
DATABASE_URL="postgresql://chatollama:secure_password@localhost:5432/chatollama"
# تشغيل الترحيلات
pnpm prisma migrate deploy
# نسخ احتياطي لبيانات SQLite الموجودة
cp chatollama.sqlite chatollama.sqlite.backup
# تشغيل الترحيل
pnpm migrate:sqlite-to-postgres
# البناء للإنتاج
pnpm build
# الاختبار في وضع المعاينة
pnpm preview
# إنشاء ملف plist لـ LaunchDaemon
sudo tee /Library/LaunchDaemons/com.chatollama.plist << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.chatollama</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/node</string>
<string>/path/to/chat-ollama/.output/server/index.mjs</string>
</array>
<key>WorkingDirectory</key>
<string>/path/to/chat-ollama</string>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/var/log/chatollama.log</string>
<key>StandardErrorPath</key>
<string>/var/log/chatollama.error.log</string>
</dict>
</plist>
EOF
# تسجيل وبدء الخدمة
sudo launchctl load /Library/LaunchDaemons/com.chatollama.plist
sudo launchctl start com.chatollama
# فحص العمليات التي تستخدم المنفذ
lsof -i :3000
# التشغيل على منفذ مختلف
PORT=3001 pnpm dev
# فحص حالة حاوية ChromaDB
docker ps | grep chroma
# إعادة تشغيل الحاوية
docker restart chromadb
# تشغيل الحاوية يدوياً
docker run -d -p 8000:8000 --name chromadb chromadb/chroma
# إعادة تعيين قاعدة البيانات
rm chatollama.sqlite
pnpm prisma migrate reset
# إنشاء ترحيل جديد
pnpm prisma migrate dev --name init
# تعيين حد ذاكرة Node.js
NODE_OPTIONS="--max_old_space_size=4096" pnpm dev
# تشغيل ChromaDB مع إعدادات محسّنة
docker run -d -p 8000:8000 \
-e CHROMA_SERVER_HOST=0.0.0.0 \
-e CHROMA_SERVER_HTTP_PORT=8000 \
-v chroma-data:/chroma/chroma \
--name chromadb chromadb/chroma
# تعيين أذونات ملف .env
chmod 600 .env
# إدارة المعلومات الحساسة عبر متغيرات البيئة
export OPENAI_API_KEY="your-secret-key"
export ANTHROPIC_API_KEY="your-secret-key"
# السماح بالوصول المحلي فقط
HOST=127.0.0.1 pnpm dev
# تكوين HTTPS (الإنتاج)
NUXT_PUBLIC_SITE_URL=https://your-domain.com
# سكريبت النسخ الاحتياطي المنتظم
#!/bin/bash
BACKUP_DIR="/path/to/backups"
DATE=$(date +%Y%m%d_%H%M%S)
# نسخ احتياطي لـ SQLite
cp chatollama.sqlite "$BACKUP_DIR/chatollama_$DATE.sqlite"
# نسخ احتياطي لمجلد ChromaDB
docker run --rm -v chromadb_volume:/data -v $BACKUP_DIR:/backup busybox tar czf /backup/chromadb_$DATE.tar.gz /data
شات-أولاما يوفر حلاً كاملاً يعطي الأولوية للخصوصية مع تقديم قدرات ذكاء اصطناعي قوية. هذا الدليل غطى كل شيء من التثبيت إلى استخدام الميزات المتقدمة، مقدماً معلومات كافية للتخصيص وفقاً لبيئتك ومتطلباتك.
ابنِ مساعد ذكاء اصطناعي آمن وقوي باستخدام شات-أولاما. للأسئلة أو المشاكل، يرجى استخدام GitHub Issues أو مجتمع Discord.
روابط مرجعية: