❗ A nova versão do GPT-Shell se chama Erin! Saiba mais no site da Erin! ❗ |
---|
GPT-Shell é um chatbot baseado em OpenAI semelhante ao ChatGPT da OpenAI.
Ele permite que os usuários conversem com um companheiro virtual. Ele usa nodejs e TypeScript, bem como fios modernos, para criar uma experiência de conversação perfeita.
Também pode gerar imagens com base na sua conversa!
Você pode experimentar o bot no servidor oficial do Discord:
Para interagir com o GPT-Shell, os usuários podem:
/chat-gpt
para iniciar uma conversa com o bot O comando /chat-gpt
iniciará uma nova conversa e sempre que o usuário digitar algo, o bot responderá.
O bot é capaz de lidar com várias conversas ao mesmo tempo, para que você possa iniciar quantas conversas quiser.
Configure um bot discord aqui e adicione-o ao seu servidor.
Escopos:
Permissões do bot:
Você também precisa ativar o Message Content Intent:
Você pode tentar bifurcar a réplica aqui
Ou você pode configurá-lo em sua máquina.
Nodejs: (18 ou superior)
Yarn: (depois de instalar o nodejs)
pm2: Para manter seu bot vivo mesmo depois de encerrar seu terminal.
Para usar o GPT-Shell, você precisará:
git clone https://github.com/firtoz/GPT-Shell.git
cd GPT-Shell
(no Windows, clique com o botão direito em algum lugar da pasta e selecione "Abrir no Terminal") se você vir algo sobre o PowerShell, digite cmd
e pressione Enter, para ir para o terminal de linha de comando mais simples.
yarn install
As seguintes variáveis de ambiente são necessárias para que o GPT-Shell funcione corretamente.
Você pode definir as variáveis de ambiente da maneira que desejar ou colocar um arquivo .env.local na raiz do seu projeto (renomeie example.env.local
para .env.local
). Certifique-se de que seu .env.local
tenha esta aparência :
# MongoDB:
MONGODB_URI=
DB_NAME=CHAT_DB
# Bot Token from Discord:
BOT_TOKEN=
# Commands:
COMMAND_NAME=chat-gpt
PRIVATE_COMMAND_NAME=chat-gpt-private
CONFIG_COMMAND_NAME=chat-gpt-config
CUSTOM_PROMPT_COMMAND_NAME=chat-gpt-prompt
DRAW_COMMAND_NAME=draw-gpt
# Discord Server Details:
MAIN_SERVER_ID=
LOG_CHANNEL_ID=
MAIN_SERVER_INVITE=
ADMIN_PING_ID=
USE_SAME_API_KEY_FOR_ALL=false
IGNORE_INIT=false
MongoDB:
CHAT_DB
ou qualquer coisa que desejar.Token de bot:
Comandos:
Detalhes do servidor Discord:
MAIN_SERVER_ID: O servidor Discord onde o bot mora
LOG_CHANNEL_ID: (opcional) o canal para mensagens de log
MAIN_SERVER_INVITE: (Opcional) O link de convite do servidor idealmente sem expiração (se você quiser que os usuários adicionem o bot ao seu servidor)
USE_SAME_API_KEY_FOR_ALL: (Opcional) Quando definido como 'true', permitirá que qualquer servidor ou usuário use o bot sem a necessidade de fornecer suas próprias chaves de API.
ADMIN_PING_ID: ID Discord do proprietário do bot (é você!)
Usado para permitir que você envie alguns comandos especiais e configure o bot.
IGNORE_INIT: (Opcional) Quando definido como 'true', quando iniciado, não verificará os threads ativos em busca de novas mensagens desde a última vez que o bot esteve online. Se você estiver em muitos servidores, pode haver muitos threads ativos, o que atingiria um limite de taxa. Nesse caso, é melhor lidar com as mensagens conforme elas chegam, em vez de verificar muitos tópicos de uma vez.
Extras:
WOLFRAM_APP_ID: Usado para a habilidade Wolfram Alpha.
Pode criar um aplicativo em https://developer.wolframalpha.com/portal/myapps e obter seu id.
Configure as variáveis de ambiente conforme descrito acima.
Com fio:
yarn global add pm2
Com npm:
npm install pm2 -g
Com o debian, use o script de instalação:
apt update && apt install sudo curl && curl -sL https://raw.githubusercontent.com/Unitech/pm2/master/packager/setup.deb.sh | sudo -E bash -
yarn dev
Dessa forma, sempre que você alterar o código, ele irá reiniciar o bot para atualizar.
yarn build
e então
yarn start
Você também pode executar npm start
ou npm run start
para iniciar o bot.
NOTA: executar yarn start
, npm start
ou npm run start
iniciará o bot com PM2 e dará a ele o nome "GPT-Shell". Você pode substituir "GPT-Shell" por um nome de sua escolha em package.json. Ele também mostrará logs dos processos em execução do PM2 e os salvará.
Se você estiver no ambiente de desenvolvimento, use node .
para testar seu código:
node .
Quando estiver satisfeito com as alterações, execute:
pm2 restart GPT-Shell && pm2 logs
Para parar o bot, execute:
yarn run stop
Você também pode reiniciá-lo no painel pm2.io conforme mostrado abaixo:
Vá para o seu servidor, digite o comando config e defina a chave API do seu servidor usando o arquivo config.
/chat-gpt-config
A partir da versão 2.0.0, o bot tem capacidade de ter memória de longo prazo.
Esta funcionalidade é experimental, mas testes internos mostram que funciona muito bem para conversas típicas.
Não funciona tão bem se a conversa tiver longos trechos de código, devido a limitações de token.
Como funciona:
Para poder configurar isso, use o comando config no servidor principal:
/chat-gpt-config
Em seguida, insira os detalhes da configuração da pinha.
Você pode criar uma conta em https://app.pinecone.io/.
Se você fez isso corretamente, deverá ver algo assim:
Por padrão, o bot se comporta como um engenheiro de software prestativo.
Se quiser que o bot se comporte de maneira diferente, você pode usar um prompt personalizado.
Isso pode ser feito em um novo canal dedicado ao bot, ou em um novo tópico de conversa, ou em DMs.
Você pode usar o comando /chat-gpt-prompt
, se tiver permissões, e pode definir o prompt personalizado para o bot preenchendo o formulário.
Este comando pode ser usado em:
A temperatura é igual ao parâmetro de temperatura do OpenAI. 0 significa que se torna repetitivo, 1 significa que se torna um pouco caótico. O padrão é 0,8 para GPT-Shell.
Aceitamos contribuições para o GPT-Shell. Se você tiver uma ideia para um novo recurso ou encontrou um bug, abra um problema no GitHub. Agradecemos também quaisquer patrocínios ou doações.
Você pode nos patrocinar através de nossa página de patrocinador do GitHub aqui.
GPT-Shell é lançado sob a licença MIT.