Hiroshi é um chatbot Telegram baseado em GPT4Free que oferece acesso 100% gratuito para interagir com os modelos de linguagem GPT-3.5, GPT-4 e Llama2, incluindo Bing, You, AI Chat e muito mais. Os usuários têm a liberdade de selecionar seu modelo preferido ou fornecedor específico. Observe que a velocidade/estabilidade pode diminuir ligeiramente ao trabalhar com determinados provedores. O contexto da conversa é totalmente retido quando você alterna entre modelos e provedores.
Nota: Este bot fornece acesso a serviços públicos gratuitos. A qualidade e a velocidade de tais serviços podem variar dependendo das diversas condições e da carga atual. Se você precisa de um bot que use a API oficial OpenAI e possui uma API KEY, verifique o seguinte repositório: https://github.com/s-nagaev/chibi.
Claro! @hiroshi_gpt_bot
O aplicativo não exige nenhum recurso. Ele funciona perfeitamente no Raspberry Pi 4 mínimo e na instância AWS EC2 mais barata t4g.nano
(2 núcleos arm64, 512 MB de RAM), ao mesmo tempo em que é capaz de atender muitas pessoas simultaneamente.
Extraia a imagem do Hiroshi Docker:
docker pull pysergio/hiroshi:latest
Execute o contêiner Docker com as variáveis de ambiente necessárias:
docker run -d
-e TELEGRAM_BOT_TOKEN= < your_telegram_token >
-v < path_to_local_data_directory > :/app/data
--name hiroshi
pysergio/hiroshi:latest
Substitua
e
pelos valores apropriados.
Crie um arquivo docker-compose.yml
com o seguinte conteúdo:
version : ' 3 '
services :
hiroshi :
restart : unless-stopped
image : pysergio/hiroshi:latest
environment :
TELEGRAM_BOT_TOKEN :
volumes :
- hiroshi_data:/app/data
volumes :
hiroshi_data :
Substitua
pelos valores apropriados.
Execute o contêiner Docker:
docker-compose up -d
Por favor, visite o diretório de exemplos do repositório atual para mais exemplos.
Você pode configurar o Hiroshi usando as seguintes variáveis de ambiente:
Variável | Descrição | Obrigatório | Valor padrão |
---|---|---|---|
TELEGRAMA_BOT_TOKEN | Seu token de bot do Telegram | Sim | |
ALLOW_BOTS | Permitir que outros bots interajam com Hiroshi | Não | falso |
ANSWER_DIRECT_MESSAGES_ONLY | Se for True, o bot em bate-papos em grupo responderá apenas às mensagens contendo seu nome (veja a configuração BOT_NAME ) | Não | verdadeiro |
ASSISTANT_PROMPT | Solicitação inicial do assistente para OpenAI Client | Não | "Você é um assistente prestativo e amigável. Seu nome é Hiroshi" |
BOT_NAME | Nome do bot | Não | "Hiroshi" |
GRUPO_ADMINS | Lista de nomes de usuário separados por vírgula, ou seja "@YourName,@YourFriendName,@YourCatName" , que deve ter permissões exclusivas para definir o provedor e limpar o histórico de diálogo em bate-papos em grupo | Não | |
GRUPOS_LISTA BRANCA | Lista separada por vírgulas de IDs de grupos na lista de permissões, ou seja, "-799999999,-788888888" | Não | |
LOG_PROMPT_DATA | Registre os prompts do usuário e as respostas da GPT para fins de depuração. | Não | falso |
MAX_CONVERSATION_AGE_MINUTES | Idade máxima das conversas (em minutos) | Não | 60 |
MAX_HISTORY_TOKENS | Número máximo de tokens no histórico de conversas | Não | 1800 |
MESSAGE_FOR_DISALLOWED_USERS | Mensagem para mostrar usuários não permitidos | Não | "Você não tem permissão para interagir comigo, desculpe. Entre em contato com meu dono primeiro, por favor." |
PROCURADOR | Configurações de proxy para seu aplicativo | Não | |
REDIS | String de conexão do Redis, ou seja, "redis://localhost" | Não | |
REDIS_SENHA | Senha Redis (opcional) | Não | |
TENTATIVAS | O número de solicitações de novas tentativas ao provedor em caso de falha na resposta | Não | 2 |
MOSTRAR_ABOUT | Basta configurá-lo para false , se por algum motivo você quiser ocultar o comando /about | Não | verdadeiro |
TEMPO ESGOTADO | Tempo limite (em segundos) para processamento de solicitações | Não | 60 |
USERS_WHITELIST | Lista separada por vírgulas de nomes de usuário na lista de permissões, ou seja "@YourName,@YourFriendName,@YourCatName" | Não | |
MONITORING_URL | Ativa a funcionalidade de monitoramento e envia uma solicitação GET para este URL a cada MONITORING_FREQUENCY_CALL segundos. | Não | |
MONITORING_FREQUENCY_CALL | Se a funcionalidade de monitoramento estiver ativa, envia uma solicitação GET para MONITORING_URL a cada MONITORING_FREQUENCY_CALL segundos. | Não | 300 |
MONITORING_RETRY_CALLS | Registra a resposta de erro somente após tentativas de MONITORING_RETRY_CALLS. | Não | 3 |
MONITORING_PROXY | URL do proxy de monitoramento. | Não |
Por favor, visite o diretório de exemplos para ver o exemplo do arquivo .env
.
Usamos SemVer para versionamento. Para as versões disponíveis, consulte as tags neste repositório.
Este projeto está licenciado sob a licença MIT - consulte o arquivo LICENSE.md para obter detalhes.