Clarktribegames、LLC
GPT4All API Server with Watchdog Pythonアプリケーションを監視および再起動するシンプルなHTTPサーバーです。この場合、GPT4ALL互換モデルのインターフェイスとして機能するServer.py。
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また、仮想Python環境でこれを実行することをお勧めします。
注:アナコンダも使用できます。仮想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(非ファルコン)モデルでのみテストされました。
そこから、サーバーを実行するには、次のいずれかができます。
# Windows
python.exe watchdog.py # mac/OS/Linux
sudo python3 watchdog.pyまたは、サーバーを起動するためにバンドルされたstart.bat (windows)またはstart.sh (macos/linux)を使用することもできます。
MacOS/Linuxユーザー - start.shがOSで実行できるようにするために、このコマンドを前に実行する必要がある場合があります。
sudo chmod +x ./start.shこのアプリケーションのwatchdog部分は、マシンで実行され、 gpt4all_apiアプリケーションを監視します。 gpt4all_apiサーバーがリクエストの処理を完了したときを示す信号として機能するwatchdogファイルの存在をチェックします。
各リクエストが完了すると、 gpt4all_apiサーバーが再起動されます。これは、 gpt4all_apiサーバーの状態をリセットし、次の着信リクエストを処理する準備ができていることを確認するために行われます。 (これはモデルからの新たな応答を確保するためです。試行では、APIサーバーを再起動しないと、異なるモデルからの繰り返しの回答が繰り返されることが示されました。)
watchdog 、 watchdogファイルが5秒以上欠落しているかどうかを確認します。 gpt4all_apiサーバーは、完了時にwatchdogファイルを削除し、再起動をトリガーします。 watchdogファイルにgpt4all_apiがリクエストに応答し、および/またはgpt4all_apiプロセス中にエラーが発生した場合、 watchdogスクリプトは何かがうまくいかなかったと仮定し、エラーをlogsフォルダーにログにした後にgpt4all_apiサーバーを再起動しようとします。
gpt4all_apiサーバーは、Flaskを使用して着信APIリクエストを受け入れます。デフォルトのrouteは/gpt4all_apiですが、 .envで他のほとんどすべてとともに設定できます。 QueryパラメータータイプのPOSTリクエストを送信して、目的のメッセージを取得できます。すべてのメッセージを取得する方法の例をいくつか紹介します。
# 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電子メール: Clark Tribe Games dot Com at Geoff (スペースがなく、 @とdotに置き換えます。 )