TASE (Mesin Pencari Audio Telegram)
Mesin pencari teks lengkap audio secepat kilat di atas Telegram
Hal ini memungkinkan pengguna dengan cepat dan mudah menemukan informasi yang benar-benar menarik atau bernilai, tanpa perlu melalui berbagai saluran yang tidak relevan. Ini memberi pengguna hasil pencarian yang mengarah pada informasi relevan tentang file audio berkualitas tinggi.
Isi
- Apa yang membuat TASE istimewa?
- Cara menginstal dan menjalankannya
- Fitur
- Tumpukan teknologi
- Panggilan untuk Kontribusi
- Lisensi dan orang
Apa yang membuat TASE istimewa?
TASE adalah platform mesin pencari audio teks lengkap sumber terbuka yang melayani permintaan dalam jumlah besar dari pengguna. Berdasarkan Python dan Telegram, pembaruan besar terbaru memperkenalkan banyak fitur baru di antaranya pola desain yang sangat abstrak dan modular yang didukung oleh Elasticsearch dan ArangoDB dengan dukungan untuk cluster paralel di server berbeda yang berlokasi di berbagai belahan dunia.
Sekilas tentang TASE
- Mesin pencarian teks lengkap tingkat lanjut untuk file audio
- Pengindeks file audio yang sangat cepat (tolok ukur: minimum 4 juta lagu per hari per klien)
- Dukungan untuk beberapa klien paralel sebagai pengindeks
- Dukungan untuk cluster paralel terdistribusi di beberapa server (pencarian dan pengindeksan) (semua file audio, grafik dan model dokumen)
- Grafik pengguna dan item
- URL dinamis
- Asinkron
- Jangkau alat admin
- Multibahasa
- Penyimpanan file audio
- Konfigurasi dan penyesuaian yang mudah
- Tampilan dan nuansa ramah
TASE gratis dan akan selalu begitu. Bantu kami… Jika Anda menyukai barang gratis dan perangkat lunak hebat, beri kami bintang! :bintang::bintang2:
Cara menginstal dan menjalankannya
* Catatan: pastikan untuk membaca bagian konfigurasi dan penyesuaian sebelum Anda menjalankan proyek Ada dua cara berbeda untuk menggunakan TASE
(*catatan: sebelum menjalankan proyek pastikan untuk mengkonfigurasi file tase.json dan .env) Kloning repositori
Menyiapkan layanan:
Instal dependensi secara manual
- Instal Elasticsearch (v8.3) (instruksi)
- Instal ArangoDB (v3.9.1) (instruksi)
- Instal RabbitMQ (instruksi)
- Instal Redis (instruksi)
Jalankan menggunakan penulisan buruh pelabuhan
Cara yang lebih mudah (disarankan) (*catatan: sebelum menjalankan proyek pastikan untuk mengkonfigurasi file tase.json) buruh pelabuhan menyusun -d
* instal docker composer jika Anda belum melakukannya (instruksi)
- * pasang puisi jika belum (instruksi)
- Jalankan file tase_client.py yang terletak di paket tase
Konfigurasi dan penyesuaian
Sebelum menjalankan proyek, Anda perlu menyesuaikan file tase.json di direktori root yang digunakan sebagai file konfigurasi oleh TASE
Untuk menjalankan proyek, Anda harus memberikan informasi dasar yang digunakan bot. Misalnya Anda harus memberikan token bot telegram dan informasi otentikasi klien Telegram Anda untuk menjalankan klien Anda sendiri.
Fitur
Fitur untuk pengembang
- Tambahkan bahasa baru di lokal (sebaiknya gunakan Poedit)
- Tambahkan tombol dan fungsi baru dengan mudah (kueri dan sebaris) dengan mengimplementasikan metode abstrak di kelas tombol dasar
- Visualisasi waktu nyata untuk model grafik dan file audio (Kibana, ArangoDB)
- Pola desain abstraksi dan fasad
Beragam Fitur
Mesin pencari
- Cari file audio melalui pencarian bot langsung
- Cari file audio dari grup dan obrolan pribadi menggunakan penyebutan @bot_name dan kirimkan langsung ke obrolan
- Pencarian real-time menggunakan penyebutan @bot_name, dengan menampilkan daftar hasil sebaris
- Pencarian real-time langsung di obrolan pribadi dan grup
- Pencarian berdasarkan nama file, nama pemain, dan nama audio
- Menampilkan 10 hasil teratas yang relevan dalam sebuah pesan dan tidak terbatas pada hasil lainnya; dikembalikan sebagai daftar sebaris
- Putar lagu dalam daftar sebaris sebelum mengunduhnya
- Cache mencari file audio untuk menghindari permintaan DB berlebihan yang tidak perlu
- URL dinamis untuk hasilnya
- Memungkinkan pemilik melacak file audio yang diunduh
- Akurasi dan relevansi tinggi
- Cari dalam berbagai bahasa
- Tampilkan nama saluran sumber dan tautan ke file
- Urutkan hasil dalam mode terbalik (untuk membuat hasil lebih relevan di bagian bawah)
Tangkapan layar contoh penelusuran
Tangkapan layar contoh audio hasil
Fitur pengindeksan
- Secara otomatis menemukan saluran baru dengan cara yang optimis (pertama-tama asumsikan itu adalah saluran yang valid dan validasi nanti sebelum mulai mengindeks)
- Ekstrak dari teks dan keterangan
- Ekstrak dari "sebutan yang diteruskan"
- Ekstrak dari tautan
- Secara otomatis mengindeks saluran baru
- Iterasi melalui saluran sebelumnya dan lanjutkan pengindeksan dari pos pemeriksaan sebelumnya
- Pengindeksan sangat cepat (minimal 4 juta lagu per hari per klien
- Menganalisis saluran dan menghitung skor (0-5) berdasarkan saluran tersebut
- Kepadatan file audio (rasio file audio
- Aktivitas saluran (seberapa sering saluran membagikan file baru)
- Jumlah anggota
- Menghindari pemblokiran oleh server Telegram
- Dukungan untuk pengindeksan paralel menggunakan beberapa klien Telegram
- Melakukan hashing pada ID file dengan cara tertentu yang menghindari konflik hingga tingkat tinggi dan tetap menjaganya tetap pendek hingga delapan karakter
- Pengguna dan pemilik saluran dapat mengirim permintaan untuk mengindeks saluran tertentu menggunakan "/index channel_name"
- Membuat grafik untuk pengguna dan file audio secara real time yang dapat digunakan untuk sistem rekomendasi dan tugas prediksi tautan
Fitur pembatasan/pengendali pengguna
- Tangani keanggotaan pengguna di saluran Anda hampir secara real-time
- Tetapkan batasan untuk pengguna berdasarkan status keanggotaan mereka
- Membatasi pengguna yang bukan anggota untuk mencari 5 file audio secara bebas, dan kemudian mereka harus menunggu selama satu menit hingga mereka menerima file audio yang dicari
- Bukan anggota memiliki batasan dengan pencarian langsung dalam obrolan
Antarmuka pengguna
- Panduan pengguna
- Beberapa menu (beranda, bantuan, daftar putar, dll.)
- Keyboard untuk setiap bagian untuk memudahkan proses bagi pengguna
- Bot multibahasa - saat ini didukung:
- ?? Bahasa inggris
- ?? Spanyol
- ?? Rusia
- ?? Arab
- ?? Portugis
- ?? Hindi
- ?? Jerman
- ?? Kurdi (Sorani)
- ?? Kurdi (Kurmanji)
- ?? Belanda
- ?? Italia
- ?? Persia
- Pesan ucapan kepada pengguna berdasarkan aktivitasnya jika mereka tidak aktif selama lebih dari seminggu atau lebih dari dua minggu
- Menampilkan riwayat pencarian untuk setiap pengguna melalui daftar sebaris yang dapat digulir dengan menekan tombol riwayat di keyboard beranda
- Antarmuka pengguna yang indah dan bersemangat (pesan dan emoji)
Daftar Putar
- Pengguna dapat memiliki daftar putar tanpa batas dan menyimpan file audio tanpa batas di setiap daftar putar
- Pengguna dapat mengedit metadata daftar putar
- Pengguna dapat mengedit file audio yang disimpan
Tangkapan layar menu utama
Fitur Admin
- Visualisasi grafik waktu nyata (mendukung dasbor ArangoDB)
- Visualisasi file audio yang diindeks secara real-time (mendukung dasbor Kibana)
* Kibana adalah alat visualisasi dan eksplorasi data yang digunakan untuk analisis log dan deret waktu, pemantauan aplikasi, dan kasus penggunaan intelijen operasional. Ia menawarkan fitur-fitur canggih dan mudah digunakan seperti histogram, grafik garis, diagram lingkaran, peta panas, dan dukungan geospasial bawaan.
Lainnya
- Sangat cepat
- Dokumentasi disediakan dalam kode (docstring)
- Menangani pengecualian terkait basis data
- Pencarian multi-utas (mencari beberapa permintaan secara asinkron)
- Menangani teks RTL dengan sempurna
Tumpukan teknologi
Alat & teknologi utama yang digunakan dalam mengembangkan TASE adalah sebagai berikut:
- Pencarian elastis
- ArangoDB
- pirogram
- get_text dengan python
- Seledri
- KelinciMQ
- ulang
- Pydantik
- Jinja
Panggilan untuk Kontribusi
Kami menyambut keahlian dan antusiasme Anda!
Cara berkontribusi ke mesin pencari audio Telegram:
- Menulis kode
- Tinjau permintaan penarikan
- Mengembangkan tutorial, presentasi, dokumentasi, dan materi pendidikan lainnya
- Terjemahkan dokumentasi dan konten readme
Kami menyukai kontribusi Anda dan melakukan yang terbaik untuk memberi Anda bimbingan dan dukungan. Jika Anda mencari masalah untuk diatasi, lihatlah masalahnya.
Masalah
Jika Anda mengalami masalah apa pun pada kode, harap laporkan di sini. Cara yang lebih baik adalah dengan membagi repositori di Github dan/atau membuat permintaan tarik.
Pekerjaan masa depan
Jika Anda merasa terbantu, tolong beri kami a
Lisensi
TASE dilisensikan di bawah Lisensi Apache, Versi 2.0. Lihat LISENSI untuk teks lisensi lengkap.
Hak Cipta © 2020-2022
- Soran Ghaderi ([email protected])
- Situs web pribadi: soran-ghaderi.github.io
- Linkedin: Soran-Ghaderi
- Twitter: SorangGhadri
- Taleb Zarhesh ([email protected])
- Linkedin: Taleb Zarhesh
- Twitter: Taleb Zarhesh