Set Gemma 4 E2B as default and document Windows app
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# SovereignAI Starter
|
||||
|
||||
مشروع تعليمي لبناء مساعد ذكاء اصطناعي محلي قابل للتوسع. النموذج الافتراضي `qwen2.5:1.5b-instruct-q4_K_M` (نحو 986 ميغابايت)، ونموذج `gemma4:e2b` (نحو 7.16 غيغابايت) مثبت للتجربة والمقارنة.
|
||||
مشروع تعليمي لبناء مساعد ذكاء اصطناعي محلي قابل للتوسع. النموذج الافتراضي الحالي `gemma4:e2b` ويعمل عبر Ollama محليًا. يمكن اختيار نموذج آخر بواسطة متغير البيئة `LOCAL_MODEL`.
|
||||
|
||||
## مكونات النسخة الأولى
|
||||
- FastAPI كواجهة HTTP محلية.
|
||||
@@ -20,27 +20,27 @@ py -m venv .venv
|
||||
python -m pip install -r requirements.txt
|
||||
```
|
||||
|
||||
4. (اختياري على جهاز جديد فقط) شغّل Ollama واسحب النموذج:
|
||||
4. (اختياري على جهاز جديد فقط) شغّل Ollama واسحب Gemma 4 E2B:
|
||||
|
||||
```powershell
|
||||
ollama pull qwen2.5:1.5b-instruct-q4_K_M
|
||||
ollama pull gemma4:e2b
|
||||
```
|
||||
|
||||
الخادم الحالي مضبوط افتراضيًا على Ollama المحلي واسم النموذج أعلاه. لتغييرهما عرّف المتغيرات في نافذة PowerShell نفسها:
|
||||
الخادم مضبوط افتراضيًا على Ollama المحلي وGemma 4 E2B. لتغيير عنوان Ollama أو اختيار نموذج آخر، عرّف المتغيرات في نافذة PowerShell نفسها:
|
||||
|
||||
```powershell
|
||||
$env:LOCAL_LLM_BASE_URL = "http://127.0.0.1:11434/v1"
|
||||
$env:LOCAL_MODEL = "qwen2.5:1.5b-instruct-q4_K_M"
|
||||
$env:LOCAL_MODEL = "gemma4:e2b"
|
||||
```
|
||||
|
||||
لتشغيل API على Gemma 4 بدل النموذج الافتراضي في نافذة PowerShell الحالية:
|
||||
يمكن تثبيت اختيار Gemma صراحةً في الجلسة قبل تشغيل `start-api.ps1` (وهو النموذج الافتراضي للسكربت):
|
||||
|
||||
```powershell
|
||||
$env:LOCAL_MODEL = "gemma4:e2b"
|
||||
.\start-api.ps1
|
||||
```
|
||||
|
||||
يمكن أيضًا اختيار النموذج لكل طلب من `POST /v1/chat/completions` بإرسال `model`، أو من `POST /v1/agent/run` بإرسال `model` مع `task`. يبقى النموذج الافتراضي Qwen ما لم تغيّره من البيئة. على جهاز الاختبار، Gemma 4 E2B اشتغلت محليًا على CPU، لكنها استخدمت قرابة 3.5 غيغابايت من الذاكرة أثناء التحميل؛ قد تختلف السرعة حسب الجهاز.
|
||||
يمكن أيضًا اختيار النموذج لكل طلب من `POST /v1/chat/completions` بإرسال `model`، أو من `POST /v1/agent/run` بإرسال `model` مع `task`. على جهاز الاختبار، Gemma 4 E2B اشتغلت محليًا على CPU؛ وقد تختلف السرعة واستهلاك الذاكرة حسب الجهاز.
|
||||
|
||||
راجع رخصة النموذج المختار وشروطه الحالية قبل الاستخدام التجاري. تنزيل النموذج يحتاج اتصال إنترنت ومساحة تخزين.
|
||||
|
||||
@@ -63,7 +63,13 @@ python -m uvicorn app.main:app --reload --host 127.0.0.1 --port 8000
|
||||
|
||||
## واجهة Flutter
|
||||
|
||||
يوجد تطبيق Flutter متعدد المنصات في `flutter_app`، ويبدأ كواجهة محادثة ويب عربية متصلة بهذا الـ API. راجع `flutter_app/README.md` للتشغيل. عنوان الاتصال الافتراضي `http://127.0.0.1:8000`؛ التطبيق يسمح بتغييره من الإعدادات.
|
||||
يوجد تطبيق Flutter متعدد المنصات في `flutter_app`، ويبدأ كواجهة محادثة عربية متصلة بهذا الـ API. عنوان الاتصال الافتراضي `http://127.0.0.1:8000`؛ التطبيق يسمح بتغييره من الإعدادات ويعرض اسم النموذج النشط من الـ API.
|
||||
|
||||
### تطبيق Windows
|
||||
|
||||
- لتشغيل النسخة المكتبية، شغّل `start-api.ps1` أولًا، ثم افتح `flutter_app/build/windows/x64/runner/Release/flutter_app.exe` بعد بنائه.
|
||||
- لإنشاء نسخة Release، نفّذ `flutter build windows --release` من داخل `flutter_app`.
|
||||
- التطبيق المكتبي واجهة أمامية؛ يحتاج Ollama وFastAPI شغّالين على الجهاز. النموذج لا يُضمّن داخل ملف التطبيق التنفيذي، ويظل نسخ الصوت للنص عبر Groq Whisper عند استخدام الميكروفون.
|
||||
|
||||
### المحادثات والصوت
|
||||
|
||||
|
||||
Reference in New Issue
Block a user