Vous en avez assez de parcourir quotidiennement des tonnes de messages Telegram à la recherche d'informations précieuses ? Le salut est là !
Ce référentiel héberge une implémentation d'une application Telegram qui surveille et résume les discussions de groupe. Initialement créé pour un usage personnel, il est destiné aux personnes qui ont besoin de collecter des informations à partir d'une ou plusieurs discussions de groupe Telegram massives en direct qui génèrent beaucoup trop de messages pour être examinés manuellement.
Sur la base des configurations données, il :
api_id
et api_hash
pour l'API Telegram à l'aide de ce guide.gpt-4-turbo-preview
), mais il est assez facile de la remplacer par le backend de votre choix car il est utilisé via les appels de la bibliothèque LangChain.examples/
comme référence.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
ou
docker build -t tcsa:latest .
python3 app.py config.json
ou
docker run -it tcsa:latest
Lors de la première exécution, l'application vous demandera de vous connecter au compte Telegram utilisé, comme ceci :
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:
Ensuite, la session sera stockée sur le disque et les exécutions suivantes ne nécessiteront pas d'authentification.
Une fois l'application opérationnelle, chaque abonné récapitulatif doit envoyer le message /verify
au bot afin qu'il puisse enregistrer l'utilisateur.
Le bot peut changer de contexte de conversation en recevant la commande /<summarized chat name>
(le nom du chat peut être n'importe lequel de ceux définis dans la configuration). Ce mécanisme est utilisé si plusieurs discussions sont résumées : en donnant la commande correspondante, vous pouvez basculer le contexte LLM vers une autre discussion et discuter du résumé de cette discussion.
La mise en œuvre est très simpliste et il y a certainement place à amélioration. Quelques atouts immédiats (les PR sont les bienvenus !) :
Il existe un guide étape par étape sur Habr (RU) rédigé après cette implémentation.