بواسطة Clarktribegames ، LLC
يعد GPT4All API Server with Watchdog خادم HTTP بسيط يقوم بمراقبة وإعادة تشغيل تطبيق Python ، في هذه الحالة Server.py ، والذي يعمل كواجهة لنماذج متوافقة مع GPT4All.
Watchdog بشكل مستمر على تشغيل تطبيق Python.Watchdog على حالة التطبيق ويتعامل مع بعض الحالات الطارئة.GPT4All API مع نماذج متوافقة مع GPT4ALL مع طلب API وترسل ردود من النموذج Windows: استنساخ في موقع يكون لدى المستخدم (أو حساب الخدمة إذا كان يستخدم واحدة) الوصول الكامل/الكتابة إلى.
MacOS/Linux: نوصي باستنساخ هذا المستودع في /usr/local/bin إذا كنت تخطط لاستخدام هذا كخدمة. يمكنك ، ومع ذلك ، استنساخ وتشغيله من أي مكان. قم بتشغيل هذه الأوامر في المحطة الخاصة بك:
cd /path-to-wherever/
git clone https://github.com/AznIronMan/gpt4all_api.gitنوصي أيضًا بتشغيل هذا ضمن بيئة بيثون افتراضية:
ملاحظة: يمكنك استخدام Anaconda أيضًا. لا ينصح بعدم استخدام بيئة بيثون الظاهرية.
# Windows
cd gpt4all_api
python.exe -m venv .venv
source .venv/Scripts/activate # macOS/Linux
cd gpt4all_api
python3 -m venv .venv
source .venv/bin/activate تأكد من تثبيت متطلبات PIP (تأكد من أنك في .venv الجديد الخاص بك قبل القيام بذلك!)
pip install -r requirements.txt تأكد من تكوين ملف .env قبل البدء! (استنساخ .env.example وقم بإعادة تسميته. env وتحميله بالمعلومات المناسبة).
ينصح نماذج GGML لهذا التطبيق. نماذج GGML على الوجه المعانقة
ملاحظة: تم اختبار هذا التطبيق فقط باستخدام نماذج WizardMl GGML (غير Falcon).
من هناك ، لتشغيل الخادم ، يمكنك إما:
# Windows
python.exe watchdog.py # mac/OS/Linux
sudo python3 watchdog.py أو يمكنك استخدام start.bat (Windows) أو start.sh (MacOS/Linux) المضمّن لبدء الخادم.
مستخدمو MacOS/Linux - قد تحتاج إلى تشغيل هذا الأمر من قبل للسماح لـ start.sh بالتشغيل على نظام التشغيل الخاص بك:
sudo chmod +x ./start.sh يعمل جزء watchdog من هذا التطبيق على جهازك ويراقب تطبيق gpt4all_api . يتحقق من وجود ملف watchdog يعمل بمثابة إشارة للإشارة إلى متى يكمل خادم gpt4all_api معالجة طلب.
بعد اكتمال كل طلب ، يتم إعادة تشغيل خادم gpt4all_api . يتم ذلك لإعادة ضبط حالة خادم gpt4all_api والتأكد من أنه جاهز للتعامل مع الطلب التالي. (هذا لضمان استجابات جديدة من النموذج. أظهرت التجارب أن عدم إعادة تشغيل خادم API أسفرت عن إجابات متكررة وأحيانًا ، من النماذج المختلفة.)
يتحقق watchdog إذا كان ملف watchdog مفقودة لأكثر من 5 ثوان. سيقوم خادم gpt4all_api بإزالة ملف watchdog عند الانتهاء ، مما يؤدي إلى إعادة التشغيل. إذا فقد ملف watchdog ، فإن gpt4all_api يستجيب للطلب و/أو إذا كان هناك خطأ أثناء عملية gpt4all_api ، يفترض البرنامج النصي watchdog أن هناك شيئًا ما قد حدث خطأ ويحاول إعادة تشغيل خادم gpt4all_api بعد تسجيل الخطأ في مجلد logs .
يستخدم خادم gpt4all_api Flask لقبول طلب واجهة برمجة التطبيقات الواردة. route الافتراضي هو /gpt4all_api ولكن يمكنك ضبطه ، إلى جانب كل شيء آخر ، في .env . يمكنك إرسال طلبات نشر مع نوع معلمة الاستعلام لجلب الرسائل المطلوبة. فيما يلي بعض الأمثلة على كيفية جلب جميع الرسائل:
# Using curl:
curl -X POST http://serverhostname_or_ipaddress_here:5000/gpt4all_api -H " Content-Type: application/json " -d " { " prompt " : " your question or request goes here " , " persona " : " [your system prompt goes here] " } " # Using Postman:
Set the request type to POST.
Set the URL to http://serverhostname_or_ipaddress_here:5000/messages.
Under Params, add a key-value pair with
key: ' prompt '
value: ' your question or request goes here '
And
key: ' persona '
value: ' [your system prompt goes here] ' إذا كنت تواجه مشكلة في الإعداد ، فيمكنك اتباع هذه الخطوات:
# macOS/Linux
cp .env.example .env
nano .env # or use TextEdit, VIM, VS Code, etc.
touch requirements.txt
nano requirements.txt # Windows
copy .env.example .env
notepad .env # notepad is on everyone windows machine but vscode or notepad++ is recommended
(make edits to your .env)
# if you do not have a requirements.txt for some reason
notepad requirements.txt الصق هذه المحتويات في ملف requirements.txt . txt:
blinker= =1.6.2
certifi= =2023.5.7
charset-normalizer= =3.1.0
click= =8.1.3
colorama= =0.4.6
Flask= =2.3.2
gpt4all= =0.3.5
idna= =3.4
itsdangerous= =2.1.2
Jinja2= =3.1.2
MarkupSafe= =2.1.3
python-dotenv= =1.0.0
requests= =2.31.0
tqdm= =4.65.0
urllib3= =2.0.3
Werkzeug= =2.3.6ثم تثبيت المتطلبات:
pip install -r requirements.txt يمكنك بعد ذلك استخدام python3 start.sh (MacOS/Linux) أو python.exe start.bat (Windows) لبدء الخادم.
إذا كان لديك أي مشاكل مع الإعداد ، فلا تتردد في الاتصال بنا باستخدام التفاصيل الواردة أدناه.
هذا المشروع مرخص بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.
Discord: AznIronMan البريد الإلكتروني: Geoff at Clark Tribe Games dot Com ( لا توجد مسافات واستبدالها بـ @ و DOT مع. )