Проект Telegram-GPT-Bot-это простая интеграция между Telegram и OpenAI API, которая позволяет вам создавать персонализированного помощника GPT в форме бота Telegram. С помощью этого инструмента вы можете получить доступ к своему помощнику GPT с любого устройства, используя ваше обычное приложение Telegram, что делает его невероятно удобным в использовании. Используемая модель-GPT-3.5-Turbo, которая является той же моделью, которая используется в обычном CHATGPT.
Одним из преимуществ Telegram-GPT-Bot является возможность настроить личность вашего помощника GPT. Вы можете выбрать тон, язык, специализацию и даже название вашего помощника, чтобы он чувствовал себя более персонализированным и привлекательным.
Цель этого проекта - иметь возможность иметь личного бота, которым вы можете поделиться со своими друзьями, а не быть платформой бота.
Большинство свойств из файла свойств приложения являются самостоятельными, давайте рассмотрим важные.
| Свойство | Описание | Обязательный |
|---|---|---|
| Bot.Name | Имя вашего бота | Да |
| бот | Token Botfather дал вам, когда вы зарегистрировали бот | Да |
| Bot.presentation | Команда естественного языка, чтобы сказать боту, как представить себя | Да |
| бот | Запятая отдельная список пользователей или групп, которым предоставлены поговорить с ботом. Вы можете оставить это пустым, если хотите, чтобы бот был доступен для всех | Да |
| openai.url | URL открытой конечной точки ИИ | Да |
| openai.apikey | Ваш открытый ключ AI API AI | Да |
| Openai.Model | Название модели GPT-3 (по умолчанию GPT-3.5-Turbo) | Да |
| Openai.temperatature | Мера модели творчества от 0 до 1 | Да |
| openai.maxtokens | Максимальное количество токенов, которое может потреблять запрос | Да |
| openai.max.message.pool.size | Количество предыдущих сообщений, которые хранятся в контексте разговора | Да |
| Openai.systemPrompt | Здесь вы говорите боту на естественном языке, что делать и как вести себя | Да |
| openai.example.1 | Это первый пример (в роли: формат контента) | Нет |
| openai.example.2 | Это второй пример (в роли: формат контента) | Нет |
По сути, вы настраиваете общее поведение с помощью SystemPromt. Затем вы можете опционировать, предоставить серию примеров сообщений, показывая модель, каким будет взаимодействие с пользователем и помощником.
Примеры являются необязательными, но если они должны быть в формате «Роль: содержание», они также должны быть суффиксу с точкой и последовательным непрерывным числом. Роль должна быть либо «пользователем», либо «помощником»
Параметр openai.max.message.pool.size указывает количество предыдущих сообщений, которые хранятся в памяти и отправляются с каждым запросом. Чем больше сообщений, тем больше контекста у модели о разговоре, но большем потреблении токена
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
Вы можете прочитать больше об этом в документации API OpenAI
Свойство презентации настраивает, как бот знакомится с новым пользователем. Это не должно быть фактическим текстом, но инструкциями для бота о том, как должна быть презентация. Таким образом, текст презентации отличается каждый раз.
bot.presentation=Say your name, and succinctly state your purpose. At the end offer your help in the areas you excel at.
Если вы хотите иметь возможность добавить бота в группы, есть дополнительный шаг конфигурации. Поговорите с Botfather снова и включите «Разрешить группы» (перейдите к /Mybots -> Настройки бота -> Разрешить группы. В тех же меню настройки выберите «Режим конфиденциальности» и установите его на отключение.
В группе бот не хранит контекст о разговоре. Каждый запрос от пользователя к боту, эффективно рассматривается так, как будто это было первое взаимодействие пользователя с ботом. В этом режиме бот всегда отвечает как ответ на пользователя, который спросил. Бот слушает только сообщения, которые содержат «@botname» в его теле.
На данный момент доступные команды следующие:
| Командование | Действие |
|---|---|
| /перезагрузить | Восстанавливает контекст Conformatio, забывает все предыдущие сообщения, которые вы отправили боту. Его можно использовать только в частном чате |
| /Использование | Отпечатает сумму токенов, используемых во всех разговорах. Это значение не хранится, и сброс Get с каждым перезапуском приложения |
клонировать проект
git clone https://github.com/achousa/telegram-gpt-bot
установить зависимости и строить
mvn install