telegram chat summarizer
1.0.0
귀중한 정보를 찾기 위해 매일 수많은 텔레그램 메시지를 훑어보는 데 지치셨나요? 구원은 여기에 있다!
이 저장소는 그룹 채팅을 모니터링하고 요약하는 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)에 대한 단계별 가이드가 있습니다.