El proyecto Telegram-GPT-Bot es una integración simple entre las API Telegram y Operai, que le permite crear un asistente GPT personalizado en forma de un bot de telegrama. Con esta herramienta, puede acceder a su asistente de GPT desde cualquier dispositivo utilizando su aplicación de telegrama regular, por lo que es increíblemente conveniente de usar. El modelo utilizado es GPT-3.5-TURBO, que es el mismo modelo utilizado en el chatGPT regular.
Uno de los beneficios de Telegram-GPT-Bot es la capacidad de configurar la personalidad de su asistente de GPT. Puede elegir el tono, el idioma, la especialización e incluso el nombre de su asistente para que se sienta más personalizado y atractivo.
El propósito de este proyecto es poder tener un bot personal que pueda compartir con sus amigos, no ser una plataforma BOT.
La mayoría de las propiedades del archivo de propiedades de la aplicación se explican por sí mismos, repasemos las importantes.
| Propiedad | Descripción | Obligatorio |
|---|---|---|
| bot.name | El nombre de tu bot | Sí |
| bot.token | El token Botfather te dio cuando registraste el bot | Sí |
| Bot. Presentación | Un comando de lenguaje natural, para decirle al bot cómo presentarse | Sí |
| Bot. | Una lista separada por comas de usuarios o grupos que se otorgan para hablar con el bot. Puedes dejar esto vacío si quieres que el bot sea accesible para todos | Sí |
| OPERAI.URL | URL del punto final de IA abierto | Sí |
| OpenAi.apikey | Tu llave de API de IA abierta | Sí |
| OPERAI.MODELO | Nombre del modelo GPT-3 (predeterminado es GPT-3.5-TURBO) | Sí |
| OpenAI.temperatura | Medida de la creatividad del modelo de 0 a 1 | Sí |
| OPERAI.MAXTOKENS | Número máximo de tokens que puede consumir una solicitud | Sí |
| OpenAI.max.message.pool.size | Número de mensajes anteriores que se mantienen en el contexto de la conversación | Sí |
| OpenAI.SystemPrompt | Aquí es donde le dices al bot, en lenguaje natural, qué hacer y cómo comportarse | Sí |
| OpenAI.example.1 | Este es el primer ejemplo (en rol: formato de contenido) | No |
| OPERAI.EXAMPLE.2 | Este es el segundo ejemplo (en rol: formato de contenido) | No |
Básicamente, configura el comportamiento general con Systempromt. Luego, puede opcionar, proporcionar una serie de mensajes de ejemplo, mostrando el modelo cómo se espera que sea la interacción con el usuario y el asistente.
Los ejemplos son opcionales, pero si siempre se proporcionan, deben estar en el formato "rol: contenido", también deben sufrirse con un punto y un número continuo secuencial. El rol debe ser "usuario" o "asistente"
OpenAI.max.message.pool.size Parameter, especifica el número de mensajes anteriores que se mantienen en la memoria y se envían con cada solicitud. Cuantos más mensajes, más contexto tiene el modelo sobre la conversación, pero un mayor consumo de tokens
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
Puedes leer más sobre esto en la documentación de la API de Operai
La propiedad de presentación configura cómo el BOT se presenta a un nuevo usuario. No está destinado a ser el texto real que se debe decir, sino instrucciones al bot sobre cómo debe ser la presentación. De esta manera, el texto de presentación es diferente cada vez.
bot.presentation=Say your name, and succinctly state your purpose. At the end offer your help in the areas you excel at.
Si desea poder agregar el bot a los grupos, hay un paso de configuración adicional. Hable nuevamente con Botfather y habilite "Permitir grupos" (vaya a /mybots -> Configuración de bot -> Permitir grupos. En el mismo menú de configuración, seleccione "Modo de privacidad" y configúrelo en deshabilitado.
Cuando está en un grupo, el bot no almacena el contexto sobre la conversación. Cada solicitud de un usuario al BOT se considera de manera efectiva como si fuera la primera interacción del usuario con el bot. En este modo, el BOT responde siempre como respuesta al usuario que solicitó. El bot solo escucha mensajes que contienen "@botname" en su cuerpo.
Por ahora, los comandos disponibles son los siguientes:
| Dominio | Acción |
|---|---|
| /reiniciar | Restaura el contexto de conversación, olvida todos los mensajes anteriores que envió al bot. Solo se puede usar en una chat privada |
| /uso | Imprime la suma de tokens utilizados en todas las conversaciones. Este valor no se almacena y se reinicia con cada reinicio de la aplicación |
Clon el proyecto
git clone https://github.com/achousa/telegram-gpt-bot
Instalar dependencias y construir
mvn install