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) 的分步指南。