von ClarktribeGames, LLC
Der GPT4All API Server with Watchdog ist ein einfacher HTTP -Server, der eine Python -Anwendung überwacht und neu startet, in diesem Fall der Server, der als Schnittstelle zu GPT4all -kompatiblen Modellen dient.
Watchdog läuft kontinuierlich und startet eine Python -Anwendung neu.Watchdog überprüft den Anwendungsstatus und behandelt bestimmte Eventualitäten.GPT4All API -Schnittstellen mit GPT4all -kompatiblen Modellen mit API -Anforderung und sendet Antworten aus dem Modell zurück Windows: Klonen an einem Ort, an den Ihr Benutzer (oder Servicekonto bei einer) einen vollständigen Lese-/Schreibzugriff hat.
MacOS/Linux: Wir empfehlen, dieses Repository in /usr/local/bin zu klonen, wenn Sie vorhaben, dies als Dienst zu verwenden. Sie können es jedoch von überall aus klonen und ausführen. Führen Sie diese Befehle in Ihrem Terminal aus:
cd /path-to-wherever/
git clone https://github.com/AznIronMan/gpt4all_api.gitWir empfehlen auch, dies in einer virtuellen Python -Umgebung auszuführen:
Hinweis: Sie können auch Anaconda verwenden. Es wird nicht empfohlen, keine virtuelle Python -Umgebung zu verwenden.
# 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 Stellen Sie sicher, dass Sie die PIP -Anforderungen installieren (bestätigen Sie, dass Sie vorher in Ihrem neuen .venv -Venv sind!)
pip install -r requirements.txt Stellen Sie sicher, dass Sie die .env -Datei vor dem Start konfigurieren! (Klonen Sie das .Env.example und benennen Sie es um .Env und laden Sie sie mit den entsprechenden Informationen hoch).
GGML -Modelle werden für diese Anwendung empfohlen. GGML -Modelle auf dem Umarmungsgesicht
HINWEIS: Diese Anwendung wurde nur mit WizardML GGML (Nicht-FALCON) -Modellen getestet.
Um den Server auszuführen, können Sie entweder:
# Windows
python.exe watchdog.py # mac/OS/Linux
sudo python3 watchdog.py Oder Sie können den gebündelten start.bat (Windows) oder start.sh (macOS/Linux) verwenden, um den Server zu starten.
MacOS/Linux -Benutzer - Möglicherweise müssen Sie diesen Befehl zuvor ausführen, damit der start.sh auf Ihrem Betriebssystem ausgeführt wird:
sudo chmod +x ./start.sh Der watchdog -Teil dieser Anwendung wird auf Ihrem Computer ausgeführt und überwacht die Anwendung gpt4all_api . Es prüft, ob eine watchdog -Datei vorhanden ist, die als Signal dient, um anzuzeigen, wann der gpt4all_api -Server die Verarbeitung einer Anforderung abgeschlossen hat.
Nach Abschluss jeder Anfrage wird der gpt4all_api -Server neu gestartet. Dies geschieht, um den Status des gpt4all_api -Servers zurückzusetzen und sicherzustellen, dass er die nächste eingehende Anforderung bearbeiten kann. (Dies dient dazu, neue Antworten aus dem Modell zu gewährleisten. Versuche zeigten, dass das Nicht -Neustart des API -Servers zu wiederholten und manchmal Hallunication -Antworten aus verschiedenen Modellen führte.)
Der watchdog überprüft, ob die watchdog -Datei länger als 5 Sekunden fehlt. Der Server gpt4all_api entfernen die watchdog -Datei nach Abschluss und löst den Neustart aus. Wenn in der watchdog -Datei gpt4all_api auf die Anforderung reagiert und/oder wenn der Prozess gpt4all_api ein Fehler vorliegt, geht das watchdog -Skript an, dass etwas schief gelaufen ist und versucht, den gpt4all_api -Server neu zu starten, nachdem der Fehler in den logs angepasst wurde.
Der Server gpt4all_api verwendet Flask, um eingehende API -Anforderungen zu akzeptieren. Die route ist /gpt4all_api aber Sie können sie zusammen mit so ziemlich allem anderen im .env einstellen. Sie können Postanforderungen mit einem Abfrageparameter -Typ senden, um die gewünschten Nachrichten abzurufen. Hier finden Sie einige Beispiele, wie Sie alle Nachrichten abrufen können:
# 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] ' Wenn Sie Probleme mit dem Setup haben, können Sie folgende Schritte befolgen:
# 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 Fügen Sie diese Inhalte in Ihre requirements.txt ein. TXT -Datei:
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.6Installieren Sie dann die Anforderungen:
pip install -r requirements.txt Sie können dann python3 start.sh (macOS/Linux) oder python.exe start.bat (Windows) verwenden, um den Server zu starten.
Wenn Sie Probleme mit dem Setup haben, können Sie uns gerne mit den unten angegebenen Details kontaktieren.
Dieses Projekt ist unter der MIT -Lizenz lizenziert.
Discord: AznIronMan E-Mail: Geoff at Clark Tribe Games dot com ( keine Räume und ersetzen Sie bei @ und DOT mit. )