Apakah Anda bosan membaca banyak pesan Telegram setiap hari untuk mencari informasi berharga? Keselamatan ada di sini!
Repositori ini menampung implementasi aplikasi Telegram yang memantau dan merangkum obrolan grup. Awalnya dibuat untuk penggunaan pribadi, ini ditujukan untuk orang-orang yang perlu mengumpulkan informasi dari satu atau beberapa obrolan grup Telegram besar-besaran yang menghasilkan terlalu banyak pesan untuk ditinjau secara manual.
Berdasarkan konfigurasi yang diberikan:
api_id
dan api_hash
untuk API Telegram menggunakan panduan ini.gpt-4-turbo-preview
), tetapi cukup mudah untuk menggantinya dengan backend pilihan Anda karena digunakan melalui panggilan perpustakaan LangChain.examples/
sebagai referensi.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
atau
docker build -t tcsa:latest .
python3 app.py config.json
atau
docker run -it tcsa:latest
Saat pertama kali dijalankan, aplikasi akan meminta Anda untuk masuk ke akun Telegram yang digunakan, seperti ini:
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:
Kemudian sesi tersebut akan disimpan di disk, dan proses berikutnya tidak memerlukan autentikasi.
Setelah aplikasi aktif dan berjalan, setiap pelanggan ringkasan perlu mengirim pesan /verify
ke bot agar dapat mendaftarkan pengguna.
Bot dapat mengganti konteks percakapan dengan diberikan perintah /<summarized chat name>
(nama obrolan dapat berupa apa saja yang ditentukan dalam konfigurasi). Mekanisme ini digunakan jika Anda memiliki lebih dari satu obrolan yang diringkas: dengan memberikan perintah yang sesuai, Anda dapat mengalihkan konteks LLM ke obrolan lain dan mendiskusikan ringkasan obrolan tersebut.
Penerapannya sangat sederhana, dan pasti ada ruang untuk perbaikan. Beberapa barang bagus untuk dimiliki (PR dipersilakan!):
Ada panduan langkah demi langkah tentang Habr (RU) yang ditulis setelah implementasi ini.