¿Estás cansado de hojear toneladas de mensajes de Telegram diariamente en busca de información valiosa? ¡La salvación está aquí!
Este repositorio alberga una implementación de una aplicación Telegram que monitorea y resume los chats grupales. Creado inicialmente para uso personal, está destinado a personas que necesitan recopilar información de uno o varios chats grupales masivos en vivo de Telegram que generan demasiados mensajes para revisarlos manualmente.
Según las configuraciones dadas:
api_id
y api_hash
para la API de Telegram utilizando esta guía.gpt-4-turbo-preview
), pero es bastante fácil reemplazarlo con el backend de su elección, ya que se usa a través de las llamadas a la biblioteca LangChain.examples/
como referencia.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
o
docker build -t tcsa:latest .
python3 app.py config.json
o
docker run -it tcsa:latest
En la primera ejecución, la aplicación le pedirá que inicie sesión en la cuenta de Telegram utilizada, así:
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:
Luego, la sesión se almacenará en el disco y las ejecuciones posteriores no requerirán autenticación.
Una vez que la aplicación esté en funcionamiento, cada suscriptor del resumen debe enviar el mensaje /verify
al bot para que pueda registrar al usuario.
El bot puede cambiar el contexto de la conversación al recibir el comando /<summarized chat name>
(el nombre del chat puede ser cualquiera de los definidos en la configuración). Este mecanismo se utiliza si tiene más de un chat resumiendo: al dar el comando correspondiente, puede cambiar el contexto LLM a un chat diferente y discutir el resumen de ese chat.
La implementación es muy simplista y definitivamente hay margen de mejora. Algunas ventajas inmediatas (¡las relaciones públicas son bienvenidas!):
Hay una guía paso a paso sobre Habr (RU) escrita después de esta implementación.