O projeto Telegram-GPT-BOT é uma integração simples entre as APIs do Telegram e do Openai, que permite criar um assistente de GPT personalizado na forma de um bot de telegrama. Com esta ferramenta, você pode acessar seu assistente GPT de qualquer dispositivo usando seu aplicativo telegrama regular, tornando incrivelmente conveniente usar. O modelo usado é GPT-3.5-Turbo, que é o mesmo modelo usado no ChatGPT regular.
Um dos benefícios do Telegram-GPT-Bot é a capacidade de configurar a personalidade do seu assistente de GPT. Você pode escolher o tom, o idioma, a especialização e até o nome do seu assistente para fazer com que se sinta mais personalizado e envolvente.
O objetivo deste projeto é poder ter um bot pessoal que você possa compartilhar com seus amigos, não para ser uma plataforma de bot.
A maioria das propriedades do arquivo de propriedades do aplicativo é auto -explicativa, vamos analisar as importantes.
| Propriedade | Descrição | Obrigatório |
|---|---|---|
| bot.name | O nome do seu bot | Sim |
| Bot.Token | O botfão de token deu a você quando você registrou o bot | Sim |
| Bot.presentation | Um comando de linguagem natural, para dizer ao bot sobre como se apresentar | Sim |
| Bot.Whitelist | Uma lista separada por vírgula de usuários ou grupos concedidos para conversar com o bot. Você pode deixar isso vazio se quiser que o bot seja acessível a todos | Sim |
| openai.url | URL do endpoint aberto da IA | Sim |
| Openai.apikey | Sua chave de API da AI aberta | Sim |
| Openai.model | Nome do modelo GPT-3 (Padrões para GPT-3.5-Turbo) | Sim |
| OpenAI.Temperature | Medida da criatividade do modelo de 0 a 1 | Sim |
| OpenAi.MaxTokens | Número máximo de tokens Uma solicitação pode consumir | Sim |
| Openai.max.message.pool.size | Número de mensagens anteriores que são mantidas no contexto da conversa | Sim |
| OpenAI.SystemPrompt | É aqui que você diz ao bot, em linguagem natural, o que fazer e como se comportar | Sim |
| openai.example.1 | Este é o primeiro exemplo (em função: formato de conteúdo) | Não |
| openai.example.2 | Este é o segundo exemplo (em função: formato de conteúdo) | Não |
Basicamente, você configura o comportamento geral com o SystemPromt. Em seguida, você pode opcional, fornecer uma série de mensagens de exemplo, mostrando ao modelo como a interação com o usuário e o assistente deve ser.
Os exemplos são opcionais, mas se, se eles devem estar no formato "Função: Conteúdo", eles também precisam ser sufixados com um ponto e um número contínuo seqüencial. A função deve ser "usuário" ou "assistente"
O parâmetro openai.max.message.pool.size, especifica o número de mensagens anteriores que são mantidas na memória e enviadas com cada solicitação. Quanto mais mensagens, mais contexto o modelo tiver sobre a conversa, mas maior consumo de token
openai.systemprompt=You are "Alfred" a helpful translator and language assistant.
openai.example.1=user: How do you say in Spanish: yesterday
openai.example.2=assistant: In Spanish, we say: ayer
openai.example.3=user: What language is this: Es ist Zeit zu essen
openai.example.4=assistant: It is German
Você pode ler mais sobre isso na documentação da API OpenAI
A propriedade de apresentação configura como o bot se apresenta a um novo usuário. Não é para ser o texto real a ser dito, mas instruções para o bot sobre como a apresentação deve ser. Dessa forma, o texto da apresentação é diferente a cada vez.
bot.presentation=Say your name, and succinctly state your purpose. At the end offer your help in the areas you excel at.
Se você deseja adicionar o bot aos grupos, há uma etapa de configuração extra. Converse com Botfather novamente e ative "Permitir grupos" (vá para /mybots -> Configurações de bot -> Permitir grupos. No mesmo menu Configurações, selecione "Modo de privacidade" e defina -o para desativar.
Quando em um grupo, o bot não armazena o contexto sobre a conversa. Cada solicitação de um usuário para o bot é considerada eficazmente como se fosse a primeira interação do usuário com o bot. Nesse modo, o bot responde sempre como resposta ao usuário que solicitou. O bot ouve apenas mensagens que contêm "@botname" em seu corpo.
Por enquanto, os comandos disponíveis são os seguintes:
| Comando | Ação |
|---|---|
| /reiniciar | Restaura o contexto de conversação, esquece todas as mensagens anteriores que você enviou ao bot. Só pode ser usado em um bate -papo privado |
| /uso | Imprime a soma dos tokens usados em todas as conversas. Este valor não é armazenado e é redefinido com cada aplicativo reiniciar |
Clone o projeto
git clone https://github.com/achousa/telegram-gpt-bot
instalar dependências e construir
mvn install