Вам надоело ежедневно просматривать тонны сообщений Telegram в поисках ценной информации? Спасение здесь!
В этом репозитории размещена реализация приложения Telegram, которое отслеживает и суммирует групповые чаты. Первоначально созданный для личного использования, он предназначен для людей, которым необходимо собирать информацию из одного или нескольких массовых групповых чатов Telegram, которые генерируют слишком много сообщений, чтобы их можно было просмотреть вручную.
На основе заданных конфигураций это:
api_id
и api_hash
для Telegram API, используя это руководство.gpt-4-turbo-preview
), но его довольно легко заменить бэкэндом по вашему выбору, поскольку он используется через вызовы библиотеки LangChain.examples/
в качестве ссылки.config.json
: {
"telegram_api_id" : <api_id>,
"telegram_api_hash" : " <api_hash> " ,
"openai_api_key" : " <key> " ,
"telegram_bot_auth_token" : " <token> " ,
"chats_to_summarize" : [
{
"id" : " <group chat ID or name> " ,
"lookback_period_seconds" : 86400 ,
"summarization_prompt_path" : " prompts/example_summarization_prompt.txt "
}
],
"telegram_summary_receivers" : [
" <Telegram username> "
]
}
python3 -m pip install -r requirements.txt
или
docker build -t tcsa:latest .
python3 app.py config.json
или
docker run -it tcsa:latest
При первом запуске приложение попросит вас войти в используемую учетную запись Telegram, например:
user@pc: ~ /telegram-chat-summarizer $ python3 app.py config.json
2024-03-27 23:03:11,618 - INFO - Started !
Please enter your phone (or bot token): < phone number >
Please enter the code you received: < OTP >
Please enter your password:
Тогда сессия сохранится на диске, и последующие запуски не будут требовать аутентификации.
После запуска приложения каждый подписчик сводки должен отправить сообщение /verify
боту, чтобы он мог зарегистрировать пользователя.
Бот может переключать контекст разговора, используя команду /<summarized chat name>
(имя чата может быть любым из определенных в конфигурации). Этот механизм используется, если у вас суммируется более одного чата: дав соответствующую команду, вы можете переключить контекст LLM на другой чат и обсудить сводку этого чата.
Реализация очень упрощена, и определенно есть возможности для улучшения. Несколько приятных моментов (пиар приветствуются!):
На Хабре (РУ) есть пошаговое руководство, написанное после этого внедрения.