telegram chat summarizer
1.0.0
您是否厭倦了每天瀏覽大量 Telegram 訊息來尋找有價值的資訊?救贖就在這裡!
此儲存庫託管 Telegram 應用程式的實現,用於監視和匯總群聊。它最初是為個人用途而創建的,適用於需要從一個或多個即時大規模 Telegram 群聊中收集資訊的人,這些群組聊天會產生太多訊息而需要手動查看。
根據給定的配置:
api_id
和api_hash
值。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 上下文切換到不同的聊天並討論該聊天的摘要。
實作非常簡單,肯定還有改進的空間。一些即時的好東西(歡迎 PR!):
在此實作之後編寫了一份關於 Habr (RU) 的逐步指南。