TASE (เครื่องมือค้นหาเสียงโทรเลข)
เครื่องมือค้นหาข้อความเสียงที่รวดเร็วปานสายฟ้าที่ด้านบนของ Telegram
ช่วยให้ผู้ใช้สามารถค้นหาข้อมูลที่น่าสนใจหรือมีคุณค่าอย่างแท้จริงได้อย่างรวดเร็วและง่ายดาย โดยไม่ต้องผ่านช่องทางที่ไม่เกี่ยวข้องมากมาย ให้ผลการค้นหาแก่ผู้ใช้ซึ่งนำไปสู่ข้อมูลที่เกี่ยวข้องกับไฟล์เสียงคุณภาพสูง
สารบัญ
- อะไรทำให้ TASE พิเศษ?
- วิธีการติดตั้งและรัน
- คุณสมบัติ
- กองเทคโนโลยี
- เรียกร้องให้มีส่วนร่วม
- ใบอนุญาตและผู้คน
อะไรทำให้ TASE พิเศษ?
TASE เป็นแพลตฟอร์มเสิร์ชเอ็นจิ้นเสียงข้อความแบบเต็มแบบโอเพ่นซอร์สที่กำลังเติบโต ซึ่งตอบสนองคำขอปริมาณมากจากผู้ใช้ การอัปเดตหลักล่าสุดใช้พื้นฐานจาก Python และ Telegram นำเสนอคุณสมบัติใหม่มากมาย โดยมีรูปแบบการออกแบบที่เป็นนามธรรมและโมดูลาร์ที่ขับเคลื่อนโดย Elasticsearch และ ArangoDB พร้อมรองรับคลัสเตอร์แบบขนานบนเซิร์ฟเวอร์ต่างๆ ที่ตั้งอยู่ในส่วนต่างๆ ของโลก
TASE ได้อย่างรวดเร็ว
- เครื่องมือค้นหาข้อความแบบเต็มขั้นสูงสำหรับไฟล์เสียง
- ตัวสร้างดัชนีไฟล์เสียงที่รวดเร็วมาก (เกณฑ์มาตรฐาน: ขั้นต่ำ 4 ล้านเพลงต่อวันต่อไคลเอนต์)
- รองรับไคลเอนต์แบบขนานหลายตัวเป็นตัวสร้างดัชนี
- รองรับคลัสเตอร์แบบขนานแบบกระจายบนเซิร์ฟเวอร์หลายเครื่อง (การค้นหาและการจัดทำดัชนี) (ไฟล์เสียง กราฟ และโมเดลเอกสารทั้งหมด)
- กราฟของผู้ใช้และรายการ
- URL แบบไดนามิก
- แบบอะซิงโครนัส
- เข้าถึงเครื่องมือผู้ดูแลระบบ
- พูดได้หลายภาษา
- การแคชไฟล์เสียง
- การกำหนดค่าและการปรับแต่งที่ง่ายดาย
- รูปลักษณ์และความรู้สึกที่เป็นมิตร
TASE นั้นฟรีและจะเป็นเช่นนี้ตลอดไป ช่วยเราด้วย... หากคุณชอบของฟรีและซอฟต์แวร์ชั้นเยี่ยม ให้ดาวเราเลย! :star::star2:
วิธีการติดตั้งและรัน
* หมายเหตุ: โปรดอ่านส่วนการกำหนดค่าและการปรับแต่งก่อนที่คุณจะรันโปรเจ็กต์ มีสองวิธีในการใช้ TASE
(*หมายเหตุ: ก่อนที่จะรันโปรเจ็กต์ ตรวจสอบให้แน่ใจว่าได้กำหนดค่าไฟล์ tase.json และ .env แล้ว) โคลนพื้นที่เก็บข้อมูล
การตั้งค่าบริการ:
ติดตั้งการอ้างอิงด้วยตนเอง
- ติดตั้ง Elasticsearch (v8.3) (คำแนะนำ)
- ติดตั้ง ArangoDB (v3.9.1) (คำแนะนำ)
- ติดตั้ง RabbitMQ (คำแนะนำ)
- ติดตั้ง Redis (คำแนะนำ)
รันโดยใช้นักเทียบท่าเขียน
วิธีที่ง่ายกว่า (แนะนำ) (*หมายเหตุ: ก่อนรันโปรเจ็กต์ ต้องแน่ใจว่าได้กำหนดค่าไฟล์ tase.json) นักเทียบท่าเขียน -d
* ติดตั้ง นักเทียบท่าเขียน ถ้าคุณยังไม่ได้ (คำแนะนำ)
- * ติดตั้ง บทกวี หากคุณยังไม่ได้ติดตั้ง (คำแนะนำ)
- รันไฟล์ tase_client.py ที่อยู่ในแพ็กเกจ tase
การกำหนดค่าและการปรับแต่ง
ก่อนที่คุณจะรันโปรเจ็กต์ คุณต้องปรับแต่งไฟล์ tase.json ในไดเร็กทอรีรากซึ่งใช้เป็นไฟล์ปรับแต่งโดย TASE
ในการดำเนินโครงการ คุณต้องให้ข้อมูลพื้นฐานที่บอทใช้งานได้ ตัวอย่างเช่น คุณต้องระบุโทเค็นบอตโทรเลขและข้อมูลการตรวจสอบไคลเอ็นต์ Telegram ของคุณเพื่อเรียกใช้ไคลเอ็นต์ของคุณเอง
คุณสมบัติ
คุณสมบัติสำหรับนักพัฒนา
- เพิ่มภาษาใหม่ในสถานที่ (เราแนะนำให้ใช้ Poedit)
- เพิ่มปุ่มและฟังก์ชันใหม่ได้อย่างง่ายดาย (แบบสอบถามและอินไลน์) โดยการนำวิธีนามธรรมไปใช้ในคลาสปุ่มพื้นฐาน
- การแสดงภาพแบบเรียลไทม์สำหรับโมเดลกราฟและไฟล์เสียง (Kibana, ArangoDB)
- รูปแบบการออกแบบนามธรรมและส่วนหน้า
คุณสมบัติที่หลากหลาย
เครื่องมือค้นหา
- ค้นหาไฟล์เสียงผ่านการค้นหาบอทโดยตรง
- ค้นหาไฟล์เสียงจากกลุ่มและการแชทส่วนตัวโดยใช้การพูดถึง @bot_name และส่งไปที่แชทโดยตรง
- ค้นหาแบบเรียลไทม์โดยใช้การกล่าวถึง @bot_name โดยแสดงรายการผลลัพธ์แบบอินไลน์
- ค้นหาแบบเรียลไทม์ได้โดยตรงในการแชทส่วนตัวและแชทกลุ่ม
- ค้นหาตามชื่อไฟล์ ชื่อนักแสดง และชื่อเสียง
- แสดงผลลัพธ์ที่เกี่ยวข้อง 10 อันดับแรกในข้อความและไม่จำกัดในผลลัพธ์เพิ่มเติม กลับเป็นรายการแบบอินไลน์
- เล่นเพลงในรายการแบบอินไลน์ก่อนที่จะดาวน์โหลด
- แคชค้นหาไฟล์เสียงเพื่อหลีกเลี่ยงคำขอ DB ที่ซ้ำซ้อนโดยไม่จำเป็น
- URL แบบไดนามิกสำหรับผลลัพธ์
- อนุญาตให้เจ้าของติดตามไฟล์เสียงที่ดาวน์โหลด
- ความแม่นยำและความเกี่ยวข้องสูง
- ค้นหาในภาษาต่างๆ มากมาย
- แสดงชื่อช่องต้นทางและลิงก์ไปยังไฟล์
- จัดเรียงผลลัพธ์ในโหมดย้อนกลับ (เพื่อให้ผลลัพธ์ที่เกี่ยวข้องมากขึ้นที่ด้านล่าง)
ภาพหน้าจอตัวอย่างการค้นหา
ภาพหน้าจอตัวอย่างเสียงผลลัพธ์
คุณสมบัติการจัดทำดัชนี
- ค้นหาช่องทางใหม่ๆ โดยอัตโนมัติในแง่ดี (ขั้นแรกให้ถือว่าเป็นช่องทางที่ถูกต้องและตรวจสอบในภายหลังก่อนที่จะเริ่มจัดทำดัชนี)
- ดึงข้อมูลจากข้อความและคำบรรยาย
- สารสกัดจาก "ส่งต่อกล่าวถึง"
- ดึงข้อมูลจากลิงก์
- จัดทำดัชนีช่องใหม่โดยอัตโนมัติ
- วนซ้ำผ่านช่องทางก่อนหน้าและดำเนินการสร้างดัชนีต่อจากจุดตรวจสอบก่อนหน้า
- การจัดทำดัชนีที่รวดเร็วมาก (ขั้นต่ำ 4 ล้านเพลงต่อวันต่อลูกค้าหนึ่งราย)
- วิเคราะห์ช่องและคำนวณคะแนน (0-5) ตามช่องเหล่านั้น
- ความหนาแน่นของไฟล์เสียง (อัตราส่วนของไฟล์เสียง
- กิจกรรมของช่อง (ความถี่ในการแชร์ไฟล์ใหม่)
- จำนวนสมาชิก
- หลีกเลี่ยงการถูกแบนโดยเซิร์ฟเวอร์ Telegram
- รองรับการจัดทำดัชนีแบบขนานโดยใช้ไคลเอนต์ Telegram หลายตัว
- แฮชรหัสไฟล์ในลักษณะเฉพาะเพื่อหลีกเลี่ยงข้อขัดแย้งในระดับสูงและยังคงรักษาให้สั้นเพียงแปดอักขระ
- ผู้ใช้และเจ้าของช่องสามารถส่งคำขอเพื่อสร้างดัชนีช่องเฉพาะโดยใช้ "/index channel_name"
- สร้างกราฟสำหรับผู้ใช้และไฟล์เสียงแบบเรียลไทม์ ซึ่งสามารถใช้สำหรับระบบการแนะนำและงานการคาดคะเนลิงก์
คุณสมบัติการจำกัด/การควบคุมผู้ใช้
- จัดการการเป็นสมาชิกของผู้ใช้ในช่องของคุณในแบบเกือบเรียลไทม์
- กำหนดข้อจำกัดสำหรับผู้ใช้ตามสถานะการเป็นสมาชิก
- จำกัดผู้ใช้ที่ไม่ใช่สมาชิกให้ค้นหาไฟล์เสียง 5 ไฟล์ได้อย่างอิสระ จากนั้นควรรอเป็นเวลาหนึ่งนาทีจนกว่าจะได้รับไฟล์เสียงที่ค้นหา
- ไม่ใช่สมาชิกที่มีข้อจำกัดในการค้นหาโดยตรงในแชท
ส่วนติดต่อผู้ใช้
- คู่มือการใช้งาน
- หลายเมนู (หน้าแรก วิธีใช้ เพลย์ลิสต์ ฯลฯ)
- แป้นพิมพ์สำหรับแต่ละส่วนเพื่อความสะดวกของกระบวนการสำหรับผู้ใช้
- บอทหลายภาษา - รองรับในปัจจุบัน:
- - ภาษาอังกฤษ
- - สเปน
- - ภาษารัสเซีย
- - ภาษาอาหรับ
- - โปรตุเกส
- - ฮินดี
- - เยอรมัน
- - เคิร์ด (โซรานี)
- - เคิร์ด (Kurmanji)
- - ภาษาดัตช์
- - ภาษาอิตาลี
- - เปอร์เซีย
- ข้อความทักทายถึงผู้ใช้ตามกิจกรรมของพวกเขา หากพวกเขาไม่ได้ใช้งานมานานกว่าหนึ่งสัปดาห์หรือมากกว่าสองสัปดาห์
- แสดงประวัติการค้นหาสำหรับผู้ใช้แต่ละรายผ่านรายการอินไลน์ที่เลื่อนได้โดยการกดปุ่มประวัติในแป้นพิมพ์หลัก
- ส่วนติดต่อผู้ใช้ที่สวยงามและมีชีวิตชีวา (ข้อความและอิโมจิ)
เพลย์ลิสต์
- ผู้ใช้สามารถมีเพลย์ลิสต์ได้ไม่จำกัด และบันทึกไฟล์เสียงได้ไม่จำกัดในแต่ละเพลย์ลิสต์
- ผู้ใช้สามารถแก้ไขข้อมูลเมตาของเพลย์ลิสต์ได้
- ผู้ใช้สามารถแก้ไขไฟล์เสียงที่บันทึกไว้ได้
ภาพหน้าจอเมนูหลัก
คุณสมบัติผู้ดูแลระบบ
- การแสดงกราฟแบบเรียลไทม์ (รองรับแดชบอร์ด ArangoDB)
- การแสดงภาพไฟล์เสียงที่จัดทำดัชนีแบบเรียลไทม์ (รองรับแดชบอร์ด Kibana)
* Kibana คือเครื่องมือแสดงภาพข้อมูลและการสำรวจที่ใช้สำหรับการวิเคราะห์บันทึกและอนุกรมเวลา การตรวจสอบแอปพลิเคชัน และกรณีใช้งานอัจฉริยะด้านการปฏิบัติงาน มันนำเสนอคุณสมบัติที่ทรงพลังและใช้งานง่าย เช่น ฮิสโตแกรม กราฟเส้น แผนภูมิวงกลม แผนที่ความร้อน และการรองรับภูมิสารสนเทศในตัว
อื่น
- รวดเร็วมาก
- เอกสารมีให้ในรหัส (docstring)
- จัดการข้อยกเว้นที่เกี่ยวข้องกับฐานข้อมูล
- การค้นหาแบบมัลติเธรด (ค้นหาหลายคำขอแบบอะซิงโครนัส)
- จัดการข้อความ RTL อย่างสมบูรณ์แบบ
กองเทคโนโลยี
เครื่องมือและเทคโนโลยีหลักที่ใช้ในการพัฒนา TASE มีดังนี้:
- การค้นหาแบบยืดหยุ่น
- ArangoDB
- ไพโรแกรม
- หลามget_text
- คื่นฉ่าย
- RabbitMQ
- เรดิส
- ไพเดนติค
- จินจา
เรียกร้องให้มีส่วนร่วม
เรายินดีต้อนรับความเชี่ยวชาญและความกระตือรือร้นของคุณ!
วิธีมีส่วนร่วมในเครื่องมือค้นหาเสียงของ Telegram:
- การเขียนโค้ด
- ตรวจสอบคำขอดึง
- พัฒนาบทช่วยสอน การนำเสนอ เอกสาร และสื่อการเรียนรู้อื่นๆ
- แปลเอกสารและเนื้อหา readme
เรารักการมีส่วนร่วมของคุณและพยายามอย่างดีที่สุดเพื่อให้คุณได้รับคำปรึกษาและการสนับสนุน หากคุณกำลังมองหาปัญหาที่ต้องแก้ไข ลองดูที่ปัญหาต่างๆ
ปัญหา
หากคุณพบปัญหาใดๆ ในรหัส โปรดรายงานได้ที่นี่ วิธีที่ดีกว่าคือการแยกพื้นที่เก็บข้อมูลบน Github และ/หรือสร้างคำขอดึง
งานในอนาคต
หากคุณพบว่ามีประโยชน์โปรดให้เรา
ใบอนุญาต
TASE ได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0 ดูใบอนุญาตสำหรับข้อความใบอนุญาตฉบับเต็ม
ลิขสิทธิ์ © 2020-2022
- โซรัน กาเดรี ([email protected])
- เว็บไซต์ส่วนตัว: soran-ghaderi.github.io
- Linkedin: โซรัน-กาเดรี
- ทวิตเตอร์: SoranGhadri
- ทาเล็บ ซาเฮช ([email protected])
- Linkedin: ทาเล็บ ซาเฮช
- ทวิตเตอร์: ทาเล็บ ซาเฮช