- BrainTools - https://www.braintools.ru -

Введение [1]
API [4]
Заключение [6]
Ссылки [7]
Этот проект представляет собой Telegram-бота, который взаимодействует с AnythingLLM — инструментом для работы с языковыми моделями (LLM), в нашем случае используется как инструмент для загрузки документов и создания RAG архива. AnythingLLM имеет интеграцию и взаимодействует с LM Studio, инструментом для локальной загрузки файлов для обучения [8] модели. В моем MVP бот предоставляет доступ к ИИ-модели только авторизованным пользователям, простая защита паролем, самое главное что все отрабатывается локально без передачи файлов сторонним сервисам, что делает его удобным решением для команд, которые хотят использовать ИИ в своих рабочих процессах.
Проект состоит из следующих компонентов:
Telegram-бот: Обрабатывает команды и сообщения от пользователей.
AnythingLLM: Создание RAG архива, обработка запросов к языковой модели.
LM Studio: Backend для обработки запросов ИИ моделью.
Python-скрипт: Связывает Telegram-бота и AnythingLLM, обрабатывает авторизацию и запросы.
Пользователь --> Telegram-бот --> Python-скрипт --> AnythingLLM --> LM Studio --> Ответ --> Пользователь
Убедитесь, что у вас установлен Python 3.8 или выше. Затем установите необходимые зависимости:
Copy
pip install python-telegram-bot requests
Откройте Telegram и найдите бота BotFather.
Создайте нового бота с помощью команды /newbot.
Сохраните токен, который BotFather предоставит вам.
731334xxxx:AAFKLc947b-b26Qnkpiv5ysz-jxxxxx_X_X
Убедитесь, что AnythingLLM запущен и доступен по API. В нашем примере мы используем эндпоинт для доступа к чату:
http://localhost:3001/api/v1/workspace/mit_rag/chat
При создании workspace в AnythingLLM, использовали название MIT_RAG (для API используется нижний регистр: mit_rag)
Есть много примеров по настройке и связке LM Studio и AnythingLLM в Youtube. Подробно на этом останавливаться не буду.
Проверить доступность API AnythingLLM можно двумя способами, в первом через обычный браузер, смотрим доступность документации
http://localhost:3001/api/docs/
второй способ через терминал, стоит обратить внимание [9] на тип авторизации Bearer, без его прямого указания API присылает ответы Not found, либо No valid api key found.
curl -H 'Authorization: Bearer 0T6J029-6EP49KR-N5E0PDJ-BC351R6' http://localhost:3001/api/v1/workspaces
Создайте файл .env и добавьте в него следующие переменные:
TELEGRAM_TOKEN=YOUR_TELEGRAM_BOT_TOKEN
ANYTHINGLLM_API_URL=http://localhost:3001/api/v1/workspace/mit_rag/chat
ANYTHINGLLM_API_TOKEN=YOUR_ANYTHINGLLM_API_TOKEN
AUTH_PASSWORD=7777
Команда /start: Запускает бота и запрашивает пароль для авторизации.
Команда /cancel: Отменяет текущую сессию авторизации.
Обработка текстовых сообщений: После авторизации пользователь может отправлять сообщения, которые будут обрабатываться AnythingLLM.
Эндпоинт POST /api/v1/workspace/{slug}/chat: Принимает JSON-запрос с полями:
message: Текст сообщения.
mode: Режим работы (query или chat).
sessionId: Идентификатор сессии (опционально).
attachments: Вложения (опционально).
Запустите бота с помощью команды:
python mitbot_v1.py
Пользователь запускает бота командой /start.
Бот попросит ввести пароль:
Привет! Я бот-помощник аналитической команды MIT. Чтобы получить доступ к общению со мной, введи пароль, который ты наверняка знаешь :)
Пользователь вводит пароль:
7777
Бот подтверждает авторизацию:
Авторизация успешна! Теперь ты можешь задавать вопросы.
Пользователь задаёт вопрос:
Привет, как дела?
Бот отвечает:
Привет! У меня всё отлично, а у тебя?
Документация демонстрирует, как создать Telegram-бота с интеграцией AnythingLLM+LM Studio. Такой бот может быть полезен для команд, которые хотят использовать ИИ в своих рабочих процессах, обеспечивая при этом безопасность и контроль доступа.
Проект на гите: https://github.com/KonstantinovK/telegrambot_rag.git [10]
2025 Moscow. TG @clockber [13]
Автор: kon_ov
Источник [14]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/16491
URLs in this post:
[1] Введение: #Head
[2] Архитектура проекта: #Archi
[3] Настройка окружения: #Arround
[4] API: #API
[5] Примеры использования: #Samples
[6] Заключение: #Concl
[7] Ссылки: #Links
[8] обучения: http://www.braintools.ru/article/5125
[9] внимание: http://www.braintools.ru/article/7595
[10] https://github.com/KonstantinovK/telegrambot_rag.git: https://github.com/KonstantinovK/telegrambot_rag.git
[11] Документация python-telegram-bot: https://docs.python-telegram-bot.org/
[12] Как запустить RAG-файл на Llama 3.1: https://www.youtube.com/watch?v=Zot6DepayZM&t=627s
[13] @clockber: https://www.braintools.ru/users/clockber
[14] Источник: https://habr.com/ru/articles/920802/?utm_campaign=920802&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.