TASE (محرك البحث الصوتي في Telegram)
محرك بحث صوتي سريع للغاية عن النص الكامل أعلى Telegram
فهو يسمح للمستخدمين بالعثور بسرعة وسهولة على المعلومات ذات الأهمية أو القيمة الحقيقية، دون الحاجة إلى الخوض في العديد من القنوات غير ذات الصلة. فهو يوفر للمستخدمين نتائج بحث تؤدي إلى المعلومات ذات الصلة بالملفات الصوتية عالية الجودة.
ما الذي يجعل تاس مميزًا؟
TASE عبارة عن منصة متنامية لمحرك البحث الصوتي للنص الكامل ومفتوحة المصدر تخدم طلبات كبيرة الحجم من المستخدمين. استنادًا إلى Python وTelegram، يقدم التحديث الرئيسي الأخير العديد من الميزات الجديدة، من بينها نمط تصميم معياري ومجرد للغاية مدعوم من Elasticsearch وArangoDB مع دعم للمجموعات المتوازية على خوادم مختلفة تقع في أجزاء مختلفة من العالم.
TASE في لمحة
- محرك بحث متقدم للنص الكامل للملفات الصوتية
- مفهرس ملفات صوتية سريع للغاية (المعيار: الحد الأدنى 4 ملايين أغنية يوميًا لكل عميل)
- دعم العديد من العملاء المتوازيين كمفهرس
- دعم المجموعات المتوازية الموزعة على خوادم متعددة (البحث والفهرسة) (جميع الملفات الصوتية والرسوم البيانية ونماذج المستندات)
- الرسم البياني للمستخدمين والعناصر
- عناوين URL الديناميكية
- غير متزامن
- الوصول إلى أدوات الإدارة
- متعدد اللغات
- التخزين المؤقت للملفات الصوتية
- سهولة التكوين والتخصيص
- المظهر والمظهر الودي
TASE مجاني وسيظل كذلك دائمًا. ساعدنا... إذا كنت تحب الأشياء المجانية والبرامج الرائعة، امنحنا نجمة! :نجمة::نجمة2:
كيفية التثبيت والتشغيل
* ملاحظة: يرجى التأكد من قراءة قسم التكوين والتخصيص قبل تشغيل المشروع هناك طريقتان مختلفتان لاستخدام TASE
(*ملاحظة: قبل تشغيل المشروع تأكد من تكوين ملفات tase.json و.env) استنساخ المستودع
إعداد الخدمات:
تثبيت التبعيات يدويا
- تثبيت Elasticsearch (الإصدار 8.3) (تعليمات)
- تثبيت ArangoDB (الإصدار 3.9.1) (تعليمات)
- تثبيت RabbitMQ (تعليمات)
- تثبيت Redis (تعليمات)
تشغيل باستخدام عامل الإرساء يؤلف
الطريقة الأسهل (موصى بها) (*ملاحظة: قبل تشغيل المشروع تأكد من تكوين ملف tase.json) عامل ميناء يؤلف -د
* تثبيت عامل الإرساء إذا لم تكن قد قمت بذلك بالفعل (تعليمات)
- * قم بتثبيت الشعر إذا لم تقم بذلك بالفعل (تعليمات)
- قم بتشغيل ملف tase_client.py الموجود في حزمة tase
التكوين والتخصيص
قبل تشغيل مشروعك، تحتاج إلى تخصيص ملف tase.json في الدليل الجذر والذي يستخدمه TASE كملف تكوين
من أجل تشغيل المشروع عليك توفير المعلومات الأساسية التي يعمل معها الروبوت. على سبيل المثال، يجب عليك توفير رمز بوت telegram ومعلومات مصادقة عميل Telegram لتشغيل عملائك.
سمات
ميزات للمطورين
- إضافة لغات جديدة في اللغات (نوصي باستخدام Poedit)
- يمكنك بسهولة إضافة أزرار ووظائف جديدة (الاستعلام والمضمنة) من خلال تنفيذ الأساليب المجردة في فئة الزر الأساسي
- تصورات في الوقت الفعلي لنماذج الرسوم البيانية والملفات الصوتية (Kibana، ArangoDB)
- نمط التجريد وتصميم الواجهة
مجموعة واسعة من الميزات
محرك البحث
- البحث في الملفات الصوتية من خلال البحث المباشر للبوت
- ابحث عن الملفات الصوتية من المجموعات والمحادثات الخاصة باستخدام إشارة @bot_name وأرسلها مباشرة إلى الدردشة
- البحث في الوقت الفعلي باستخدام إشارة @bot_name، من خلال عرض قائمة النتائج المضمنة
- البحث في الوقت الحقيقي مباشرة في الدردشات الخاصة والجماعية
- البحث بناءً على اسم الملف واسم المؤدي واسم الصوت
- يظهر أفضل 10 نتائج ذات صلة في رسالة وغير محدودة في عدد أكبر من النتائج؛ تم إرجاعها كقائمة مضمنة
- قم بتشغيل الأغاني الموجودة في القوائم المضمنة قبل تنزيلها
- بحثت ذاكرة التخزين المؤقت في الملفات الصوتية لتجنب طلبات قاعدة البيانات الزائدة عن الحاجة
- عنوان URL الديناميكي للنتائج
- يسمح للمالك بتتبع الملفات الصوتية التي تم تنزيلها
- دقة عالية وأهميتها
- البحث في مجموعة واسعة من اللغات
- إظهار اسم القناة المصدر ورابط الملف
- فرز النتائج في الوضع العكسي (لتقديم نتائج أكثر صلة في الأسفل)
بحث مثال لقطة الشاشة
نتيجة لقطة شاشة لمثال الصوت
ميزات الفهرسة
- يجد القنوات الجديدة تلقائيًا بطريقة متفائلة (يفترض أولاً أنها قناة صالحة ويتحقق من صحتها لاحقًا قبل البدء في الفهرسة)
- مقتطف من النصوص والتسميات التوضيحية
- مقتطف من "الإشارة المعاد توجيهها"
- استخراج من الروابط
- فهرسة القنوات الجديدة تلقائيا
- يتكرر عبر القنوات السابقة ويستأنف الفهرسة من نقطة التفتيش السابقة
- فهرسة سريعة للغاية (4 ملايين أغنية على الأقل يوميًا لكل عميل
- يحلل القنوات ويحسب النتيجة (0-5) على أساسها
- كثافة الملفات الصوتية (نسبة الملفات الصوتية
- نشاط القناة (مدى تكرار مشاركة الملفات الجديدة)
- عدد الأعضاء
- يتجنب التعرض للحظر من قبل خوادم Telegram
- دعم الفهرسة المتوازية باستخدام عملاء Telegram المتعددين
- يقوم بتجزئة معرفات الملفات بطريقة محددة تتجنب التعارضات إلى درجة عالية مع الاحتفاظ بها قصيرة تصل إلى ثمانية أحرف
- يمكن للمستخدمين وأصحاب القنوات إرسال طلب لفهرسة قناة معينة باستخدام "/indexchannel_name"
- ينشئ رسمًا بيانيًا للمستخدمين والملفات الصوتية في الوقت الفعلي والتي يمكن استخدامها لأنظمة التوصية وربط مهام التنبؤ
ميزات تقييد/تحكم المستخدم
- تعامل مع عضوية المستخدم في قناتك (قنواتك) في الوقت الفعلي تقريبًا
- قم بتعيين القيود للمستخدمين بناءً على حالة عضويتهم
- يسمح للمستخدمين غير الأعضاء بالبحث في 5 ملفات صوتية بحرية، وبعد ذلك يجب عليهم الانتظار لمدة دقيقة واحدة حتى يتلقوا ملفاتهم الصوتية التي تم البحث عنها
- ليس للأعضاء قيود على عمليات البحث المباشرة داخل الدردشة
واجهة المستخدم
- دليل المستخدم
- قوائم متعددة (الصفحة الرئيسية، المساعدة، قائمة التشغيل، إلخ.)
- لوحة مفاتيح لكل جزء لتسهيل العملية على المستخدمين
- بوت متعدد اللغات - مدعوم حاليًا:
- ؟؟ إنجليزي
- ؟؟ الأسبانية
- ؟؟ الروسية
- ؟؟ عربي
- ؟؟ البرتغالية
- ؟؟ الهندية
- ؟؟ الألمانية
- ؟؟ الكردية (السورانية)
- ؟؟ الكردية (الكرمانجية)
- ؟؟ هولندي
- ؟؟ ايطالي
- ؟؟ الفارسية
- رسائل ترحيب للمستخدمين بناءً على نشاطهم إذا لم يكونوا نشطين لأكثر من أسبوع أو أكثر من أسبوعين
- يعرض سجل البحث لكل مستخدم من خلال قائمة مضمنة قابلة للتمرير عن طريق الضغط على زر السجل في لوحة المفاتيح الرئيسية
- واجهة مستخدم جميلة وحيوية (الرسائل والرموز التعبيرية)
قوائم التشغيل
- يمكن للمستخدمين الحصول على قوائم تشغيل غير محدودة وحفظ ملفات صوتية غير محدودة في كل منها
- يمكن للمستخدمين تحرير البيانات الوصفية لقائمة التشغيل
- يمكن للمستخدمين تحرير الملفات الصوتية المحفوظة
لقطة شاشة للقائمة الرئيسية
ميزات المشرف
- تصور الرسم البياني في الوقت الحقيقي (يدعم لوحة تحكم ArangoDB)
- تصور الملفات الصوتية المفهرسة في الوقت الحقيقي (يدعم لوحة تحكم Kibana)
* Kibana هي أداة لتصور البيانات واستكشافها تُستخدم لتحليلات السجل والسلاسل الزمنية ومراقبة التطبيقات وحالات استخدام الذكاء التشغيلي. فهو يوفر ميزات قوية وسهلة الاستخدام مثل الرسوم البيانية والرسوم البيانية الخطية والمخططات الدائرية والخرائط الحرارية والدعم الجغرافي المكاني المدمج.
آخر
- سريع للغاية
- يتم توفير الوثائق في الرموز (docstring)
- يعالج الاستثناءات المتعلقة بقاعدة البيانات
- بحث متعدد الخيوط (يبحث في طلبات متعددة بشكل غير متزامن)
- يتعامل مع نصوص RTL بشكل مثالي
كومة التكنولوجيا
الأدوات والتقنيات الرئيسية المستخدمة في تطوير TASE هي كما يلي:
- بحث مرن
- ArangoDB
- البيروجرام
- بايثون get_text
- كرفس
- RabbitMQ
- ريديس
- بيانتيك
- جينجا
دعوة للمساهمات
نحن نرحب بخبرتك وحماسك!
طرق المساهمة في محرك البحث الصوتي في Telegram:
- كتابة الكود
- مراجعة طلبات السحب
- تطوير البرامج التعليمية والعروض التقديمية والوثائق والمواد التعليمية الأخرى
- ترجمة الوثائق والمحتويات التمهيدية
نحن نحب مساهماتك ونبذل قصارى جهدنا لتزويدك بالتوجيه والدعم. إذا كنت تبحث عن مشكلة لمعالجتها، فقم بإلقاء نظرة على المشكلات.
مشاكل
إذا واجهت أي مشكلة في الرموز، يرجى الإبلاغ عنها هنا. الطريقة الأفضل هي تقسيم المستودع على Github و/أو إنشاء طلب سحب.
العمل المستقبلي
إذا وجدت أنه من المفيد، يرجى تعطينا
رخصة
تم ترخيص TASE بموجب ترخيص Apache، الإصدار 2.0. راجع الترخيص للحصول على نص الترخيص الكامل.
حقوق النشر © 2020-2022
- سوران غديري ([email protected])
- الموقع الشخصي: soran-ghaderi.github.io
- لينكد إن: سوران غديري
- تويتر: سوران غادري
- طالب زرهش ([email protected])
- لينكد إن: طالب زرهش
- تويتر: طالب زرهش