Этот проект демонстрирует создание Telegram-бота (API версия 9.3+), который интегрируется с внешней большой языковой моделью (LLM), в частности с Mistral AI. Проект показывает настройку бота, его конфигурацию и базовые возможности.
Основная цель этого проекта — предоставить четкий и краткий пример того, как создать Telegram-бота, который использует возможности современной LLM для интеллектуальных и динамичных ответов. Он служит учебным пособием для разработчиков, заинтересованных в объединении Telegram Bot API с сервисами искусственного интеллекта.
- Интеграция с Telegram Bot: Использует библиотеку
telegrambots-spring-boot-starterдля бесшовной интеграции с Telegram Bot API. - Ответы на основе ИИ: Подключается к платформе Mistral AI для генерации интеллектуальных и контекстно-зависимых ответов на сообщения пользователей.
- Фреймворк Spring Boot: Построен на надежном и широко используемом фреймворке Spring Boot, обеспечивающем масштабируемую и поддерживаемую структуру приложения.
- Конфигурация через файл: Все важные параметры, такие как ключи API и токены бота, управляются через внешний файл
application.yaml, что способствует чистоте кода и простоте настройки.
| Технология | Описание |
|---|---|
| Java 21 | Основной язык программирования для проекта. |
| Spring Boot 3.5.5 | Фреймворк приложения, обеспечивающий внедрение зависимостей, автоконфигурацию и встроенный сервер. |
| Spring AI 1.1.2 | Проект Spring, который упрощает разработку приложений, использующих искусственный интеллект. |
| Telegram Bots 6.9.7.1 | Java-библиотека для создания Telegram-ботов. |
| Mistral AI | Внешняя большая языковая модель, используемая для генерации ответов. |
| Maven | Инструмент автоматизации сборки и управления зависимостями. |
| Lombok | Java-библиотека, которая уменьшает объем шаблонного кода. |
Проект соответствует стандартной структуре Maven:
.
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── oleborn
│ │ └── botai_test_new_app
│ │ ├── aiconfig
│ │ │ └── ChatClientConfig.java
│ │ ├── bot
│ │ │ ├── Bot.java
│ │ │ └── BotConfig.java
│ │ ├── service
│ │ │ └── LlmStreamingService.java
│ │ └── BotAiTestNewAppApplication.java
│ └── resources
│ └── application.yaml
└── test
Приложение конфигурируется через файл src/main/resources/application.yaml. Вам потребуется предоставить собственные ключи API для корректной работы бота.
spring:
application:
name: BotAI_test_new_app
main:
web-application-type: none
ai:
mistralai:
chat:
options:
model: "mistral-medium-latest"
api-key: ${MISTRAL_API_KEY}
bot:
bot-token: ${BOT_TOKEN}
logging:
level:
root: INFO
oleborn.botai_test_new_app: DEBUG
org.springframework.ai: DEBUG
org.telegram: DEBUGСоздайте переменные окружения MISTRAL_API_KEY и BOT_TOKEN с вашим ключом API Mistral AI и токеном Telegram Bot соответственно.
- Клонируйте репозиторий:
git clone https://github.com/Oleborn/Telegram_AI_Bot_v.9.3plus.git
- Перейдите в директорию проекта:
cd Telegram_AI_Bot_v.9.3plus - Настройте переменные окружения:
MISTRAL_API_KEY: Ваш ключ API Mistral AI.BOT_TOKEN: Ваш токен Telegram Bot от BotFather.
- Соберите и запустите проект с помощью Maven:
mvn spring-boot:run
- @Oleborn