por Clarktribegames, LLC
O GPT4All API Server with Watchdog é um servidor HTTP simples que monitora e reinicia um aplicativo Python, neste caso o server.py, que serve como uma interface para os modelos compatíveis com GPT4all.
Watchdog executa continuamente e reinicia um aplicativo Python.Watchdog verifica o status do aplicativo e lida com certas contingências.GPT4All API com os modelos compatíveis com GPT4all com a solicitação da API e envia respostas de volta do modelo Windows: clone em um local ao qual seu usuário (ou conta de serviço se estiver usando uma) possui acesso completo a leitura/gravação.
MacOS/Linux: Recomendamos clonar este repositório em /usr/local/bin se você planeja usá -lo como um serviço. Você pode, no entanto, clonar e executá -lo de qualquer lugar. Execute esses comandos em seu terminal:
cd /path-to-wherever/
git clone https://github.com/AznIronMan/gpt4all_api.gitTambém recomendamos executar isso em um ambiente virtual de Python:
Nota: Você também pode usar o Anaconda. Não é recomendável não usar um ambiente Python virtual.
# 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 Certifique -se de instalar os requisitos do PIP (confirme que você está no seu novo .venv Venv antes de fazê -lo!)
pip install -r requirements.txt Certifique -se de configurar o arquivo .env antes de começar! (Clone o .env.example e renomeie -o .env e faça o upload com as informações apropriadas).
Os modelos GGML são recomendados para este aplicativo. Modelos GGML no rosto abraçando
Nota: Este aplicativo foi testado apenas com modelos WizardML GGML (não-falcil).
A partir daí, para executar o servidor, você pode:
# Windows
python.exe watchdog.py # mac/OS/Linux
sudo python3 watchdog.py Ou você pode usar o start.bat (windows) ou start.sh (macOS/linux) incluído para iniciar o servidor.
Usuários do MacOS/Linux - pode ser necessário executar este comando antes para permitir que o start.sh seja executado no seu sistema operacional:
sudo chmod +x ./start.sh A parte watchdog deste aplicativo é executada em sua máquina e monitora o aplicativo gpt4all_api . Ele verifica a existência de um arquivo watchdog que serve como um sinal para indicar quando o servidor gpt4all_api concluiu o processamento de uma solicitação.
Após a conclusão de cada solicitação, o servidor gpt4all_api é reiniciado. Isso é feito para redefinir o estado do servidor gpt4all_api e garantir que esteja pronto para lidar com a próxima solicitação de entrada. (Isso é para garantir novas respostas do modelo. Os ensaios mostraram que não reiniciando o servidor da API resultou em respostas repetitivas e, às vezes, de hallunicação de diferentes modelos.)
O watchdog verifica se o arquivo watchdog está faltando por mais de 5 segundos. O servidor gpt4all_api removerá o arquivo watchdog após a conclusão, acionando o reinício. Se o arquivo watchdog estiver ausente, o gpt4all_api responder à solicitação e/ou se houver um erro durante o processo gpt4all_api , o script watchdog assume que algo deu errado e tenta reiniciar o servidor gpt4all_api após o log do erro na pasta logs .
O servidor gpt4all_api usa o Flask para aceitar a solicitação de API recebida. A route padrão é /gpt4all_api mas você pode defini -la, junto com praticamente todo o resto, no .env . Você pode enviar solicitações de postagem com um tipo de parâmetro de consulta para buscar as mensagens desejadas. Aqui estão alguns exemplos de como buscar todas as mensagens:
# 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] ' Se você tiver problemas com a configuração, poderá seguir estas etapas:
# 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 Cole esses conteúdos em seus requirements.txt arquivo:
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.6Em seguida, instale os requisitos:
pip install -r requirements.txt Você pode usar python3 start.sh (macOS/linux) ou python.exe start.bat (windows) para iniciar o servidor.
Se você tiver algum problema com a configuração, não hesite em entrar em contato conosco usando os detalhes fornecidos abaixo.
Este projeto está licenciado sob a licença do MIT.
Discord: AznIronMan E-mail: Geoff at Clark Tribe Games dot Com ( sem espaços e substitua em @ e ponto com. )