telegram chat summarizer
1.0.0
貴重な情報を求めて毎日大量の Telegram メッセージをざっと読むのにうんざりしていませんか?救いはここにあります!
このリポジトリは、グループ チャットを監視および要約する Telegram アプリケーションの実装をホストします。当初は個人使用のために作成されましたが、手動で確認するには多すぎるメッセージが生成される 1 つまたは複数のライブの大規模な 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) に関するステップバイステップ ガイドがあります。