Le projet Telegram-GPT-Bot est une simple intégration entre Telegram et Openai API, qui vous permet de créer un assistant GPT personnalisé sous la forme d'un bot télégramme. Avec cet outil, vous pouvez accéder à votre assistant GPT à partir de n'importe quel appareil à l'aide de votre application Telegram ordinaire, ce qui le rend incroyablement pratique à utiliser. Le modèle utilisé est GPT-3.5-turbo, qui est le même modèle utilisé dans le chatppt régulier.
L'un des avantages de Telegram-GPT-Bot est la capacité de configurer la personnalité de votre assistant GPT. Vous pouvez choisir le ton, la langue, la spécialisation et même le nom de votre assistant pour le rendre plus personnalisé et engageant.
Le but de ce projet est de pouvoir avoir un bot personnel que vous pouvez partager avec vos amis, pour ne pas être une plate-forme bot.
La plupart des propriétés du fichier des propriétés d'application sont explicatives, passons en revue les importantes.
| Propriété | Description | Obligatoire |
|---|---|---|
| name | Le nom de votre bot | Oui |
| bot. | Le botfather token vous a donné lorsque vous avez enregistré le bot | Oui |
| présentation | Une commande de langue naturelle, pour dire au bot comment se présenter | Oui |
| bot.Whitelist | Une liste séparée par des virgules d'utilisateurs ou de groupes qui sont accordés pour parler au bot. Vous pouvez laisser ce vide si vous voulez que le bot soit accessible à tout le monde | Oui |
| openai.url | URL du point de terminaison de l'IA ouvert | Oui |
| openai.apikey | Votre clé API AI ouverte | Oui |
| openai.model | Nom du modèle GPT-3 (par défaut à GPT-3.5-turbo) | Oui |
| Openai.Temperature | Mesure de la créativité du modèle de 0 à 1 | Oui |
| openai.mextokens | Nombre maximum de jetons qu'une demande peut consommer | Oui |
| openai.max.message.pool.size | Nombre de messages précédents qui sont conservés dans le contexte de la conversation | Oui |
| openai.SystemPrompt | C'est là que vous dites au bot, en langue naturelle, que faire et comment se comporter | Oui |
| openai.example.1 | Ceci est le premier exemple (dans Rôle: Format de contenu) | Non |
| openai.example.2 | Ceci est le deuxième exemple (dans Rôle: Format de contenu) | Non |
Fondamentalement, vous configurez le comportement général avec SystemPromt. Ensuite, vous pouvez facultation, fournir une série d'exemples de messages, montrant le modèle comment l'interaction avec l'utilisateur et l'assistant devrait être.
Les exemples sont facultatifs, mais s'ils sont fournis, ils doivent être dans le format "Role: Content", ils doivent également être suffixés avec un point et un numéro continu séquentiel. Le rôle doit être "utilisateur" ou "assistant"
Le paramètre openai.max.message.pool.size spécifie le nombre de messages précédents qui sont conservés en mémoire et envoyés avec chaque demande. Plus il y a de messages, plus le modèle a de contexte sur la conversation mais une plus grande consommation de jetons
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
Vous pouvez en savoir plus à ce sujet dans la documentation de l'API OpenAI
La propriété de présentation, configure comment le bot se présente à un nouvel utilisateur. Ce n'est pas censé être le texte réel à dire, mais des instructions au bot sur la façon dont la présentation doit être. De cette façon, le texte de présentation est différent à chaque fois.
bot.presentation=Say your name, and succinctly state your purpose. At the end offer your help in the areas you excel at.
Si vous souhaitez pouvoir ajouter le bot aux groupes, il y a une étape de configuration supplémentaire. Parlez à nouveau à Botfather et activez "Autoriser les groupes" (allez sur / MyBots -> Paramètres de bot -> Autoriser les groupes. Dans le même menu Paramètres, sélectionnez "Mode de confidentialité" et définissez-le sur Disabled.
En groupe, le bot ne stocke pas le contexte de la conversation. Chaque demande d'un utilisateur vers le bot est considérée comme si c'était la première interaction de l'utilisateur avec le bot. Dans ce mode, le bot répond toujours en tant que réponse à l'utilisateur qui a demandé. Le bot n'écoute que des messages qui contient "@botname" dans son corps.
Pour l'instant, les commandes disponibles sont les suivantes:
| Commande | Action |
|---|---|
| /réinitialiser | Restaure le contexte Conversatio, oublie tous les messages précédents que vous avez envoyés au bot. Il ne peut être utilisé que dans un chat privé |
| /usage | Imprime la somme des jetons utilisés dans toutes les conversations. Cette valeur n'est pas stockée et réinitialise la réinitialisation avec chaque redémarrage de l'application |
cloner le projet
git clone https://github.com/achousa/telegram-gpt-bot
Installez les dépendances et construire
mvn install