โดย Clarktribegames, LLC
GPT4All API Server with Watchdog เป็นเซิร์ฟเวอร์ HTTP อย่างง่ายที่ตรวจสอบและรีสตาร์ทแอปพลิเคชัน Python ในกรณีนี้ Server.py ซึ่งทำหน้าที่เป็นอินเทอร์เฟซกับรุ่นที่ใช้งานได้ของ GPT4ALL
Watchdog ทำงานอย่างต่อเนื่องและรีสตาร์ทแอปพลิเคชัน PythonWatchdog ตรวจสอบสถานะแอปพลิเคชันและจัดการภาระผูกพันบางอย่างGPT4All API พร้อมรุ่นที่ใช้งานร่วมกันได้ GPT4ALL พร้อมคำขอ API และส่งการตอบกลับกลับจากรุ่น Windows: โคลนในสถานที่ที่ผู้ใช้ของคุณ (หรือบัญชีบริการถ้าใช้งาน) มีการเข้าถึงการอ่าน/เขียนเต็มรูปแบบ
MacOS/Linux: เราขอแนะนำให้โคลนที่เก็บนี้เป็น /usr/local/bin หากคุณวางแผนที่จะใช้สิ่งนี้เป็นบริการ อย่างไรก็ตามคุณสามารถโคลนและเรียกใช้ได้จากทุกที่ เรียกใช้คำสั่งเหล่านี้ในเทอร์มินัลของคุณ:
cd /path-to-wherever/
git clone https://github.com/AznIronMan/gpt4all_api.gitนอกจากนี้เรายังแนะนำให้เรียกใช้สิ่งนี้ภายในสภาพแวดล้อม Python เสมือนจริง:
หมายเหตุ: คุณสามารถใช้ Anaconda ได้เช่นกัน ไม่แนะนำให้ไม่ใช้สภาพแวดล้อม Python เสมือนจริง
# 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 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 หรือคุณสามารถใช้ bundled 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 ทำให้เกิดการทำซ้ำและบางครั้งคำตอบ Hallunication จากรุ่นที่แตกต่างกัน)
watchdog ตรวจสอบว่าไฟล์ watchdog หายไปนานกว่า 5 วินาทีหรือไม่ เซิร์ฟเวอร์ gpt4all_api จะลบไฟล์ watchdog เมื่อเสร็จสิ้นการเรียกรีสตาร์ท หากไฟล์ watchdog หายไป gpt4all_api ตอบสนองต่อคำขอและ/หรือหากมีข้อผิดพลาดในระหว่างกระบวนการ gpt4all_api สคริปต์ watchdog จะสันนิษฐานว่ามีบางอย่างผิดปกติและพยายามที่จะรีสตาร์ทเซิร์ฟเวอร์ gpt4all_api หลังจากบันทึกข้อผิดพลาดลงในโฟลเดอร์ logs
เซิร์ฟเวอร์ gpt4all_api ใช้ขวดเพื่อยอมรับคำขอ API ที่เข้ามา 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) เพื่อเริ่มเซิร์ฟเวอร์
หากคุณมีปัญหาใด ๆ เกี่ยวกับการตั้งค่าโปรดติดต่อเราโดยใช้รายละเอียดที่ให้ไว้ด้านล่าง
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT
Discord: AznIronMan E-mail: Geoff at Clark Tribe Games dot com ( ไม่มีช่องว่างและแทนที่ด้วย @ และ dot ด้วย )