par Clarktribegames, LLC
Le GPT4All API Server with Watchdog est un serveur HTTP simple qui surveille et redémarre une application Python, dans ce cas le server.py, qui sert d'interface aux modèles compatibles GPT4Al.
Watchdog s'exécute en continu et redémarre une application Python.Watchdog de l'état de l'application et gère certaines contingences.GPT4All API interface avec les modèles compatibles GPT4Al avec la demande d'API et renvoie les réponses du modèle Windows: Clone dans un emplacement auquel votre utilisateur (ou votre compte de service si vous utilisez un) a un accès à lecture / écriture complet.
macOS / Linux: nous recommandons de cloner ce référentiel dans /usr/local/bin si vous prévoyez de l'utiliser comme service. Vous pouvez cependant le cloner et l'exécuter de n'importe où. Exécutez ces commandes dans votre terminal:
cd /path-to-wherever/
git clone https://github.com/AznIronMan/gpt4all_api.gitNous recommandons également l'exécution de cela dans un environnement Python virtuel:
Remarque: vous pouvez également utiliser Anaconda. Il n'est pas recommandé de ne pas utiliser un environnement Python virtuel.
# 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 Assurez-vous d'installer les exigences PIP (confirmez que vous êtes dans votre nouveau .venv Venv avant de le faire!)
pip install -r requirements.txt Assurez-vous de configurer le fichier .env avant de commencer! (Clone le .env.example et renommez-le .env et téléchargez-le avec les informations appropriées).
Des modèles GGML sont recommandés pour cette application. Modèles GGML sur le visage étreint
Remarque: Cette application n'a été testée qu'avec des modèles WizardML GGML (non-FalCon).
À partir de là, pour exécuter le serveur, vous pouvez soit:
# Windows
python.exe watchdog.py # mac/OS/Linux
sudo python3 watchdog.py Ou vous pouvez utiliser le start.bat (Windows) ou start.sh (macOS / Linux) inclus pour démarrer le serveur.
Utilisateurs de macOS / Linux - Vous devrez peut-être exécuter cette commande avant pour permettre au start.sh d'exécuter sur votre système d'exploitation:
sudo chmod +x ./start.sh La partie watchdog de cette application s'exécute sur votre machine et surveille l'application gpt4all_api . Il vérifie l'existence d'un fichier watchdog qui sert de signal pour indiquer quand le serveur gpt4all_api a terminé le traitement d'une demande.
Une fois chaque demande terminée, le serveur gpt4all_api est redémarré. Ceci est fait pour réinitialiser l'état du serveur gpt4all_api et s'assurer qu'il est prêt à gérer la prochaine demande entrante. (Il s'agit d'assurer de nouvelles réponses du modèle. Les essais ont montré que le non-redémarrage du serveur API a entraîné des réponses répétitives et, parfois, des réponses à différents modèles.)
Le watchdog vérifie si le fichier watchdog est manquant pendant plus de 5 secondes. Le serveur gpt4all_api supprimera le fichier watchdog une fois terminé, déclenchant le redémarrage. Si le fichier watchdog manque, le gpt4all_api répond à la demande et / ou s'il y a une erreur pendant le processus gpt4all_api , le script watchdog suppose que quelque chose a mal tourné et tente de redémarrer le serveur gpt4all_api après avoir enregistré l'erreur dans le dossier logs .
Le serveur gpt4all_api utilise Flask pour accepter la demande d'API entrante. L' route par défaut est /gpt4all_api mais vous pouvez le définir, avec à peu près tout le reste, dans le .env . Vous pouvez envoyer des demandes de publication avec un type de paramètre de requête pour récupérer les messages souhaités. Voici quelques exemples de la façon de récupérer tous les messages:
# 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] ' Si vous avez des problèmes avec la configuration, vous pouvez suivre ces étapes:
# 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 Collez ces contenus dans votre fichier requirements.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.6Installez ensuite les exigences:
pip install -r requirements.txt Vous pouvez ensuite utiliser python3 start.sh (macOS / Linux) ou python.exe start.bat (Windows) pour démarrer le serveur.
Si vous avez des problèmes avec la configuration, n'hésitez pas à nous contacter en utilisant les détails fournis ci-dessous.
Ce projet est autorisé sous la licence du MIT.
DISCORD: AznIronMan Courriel: Geoff at Clark Tribe Games dot Com ( pas d'espaces et remplacez par @ et point par. )