[23 สิงหาคม 2023] retriv
0.2.2 ออกแล้ว!
รุ่นนี้เพิ่มการสนับสนุน การทดลอง สำหรับเอกสารและตัวกรองแบบหลายฟิลด์ โปรดดูเอกสารประกอบของ Advanced Retreater
[18 กุมภาพันธ์ 2566] retriv
0.2.0 ออกแล้ว!
รุ่นนี้เพิ่มการสนับสนุนสำหรับการดึงข้อมูลแบบหนาแน่นและแบบไฮบริด การเรียกข้อมูลแบบหนาแน่นใช้ประโยชน์จากความคล้ายคลึงทางความหมายของการแสดงเวกเตอร์ของคำค้นหาและเอกสาร ซึ่งสามารถคำนวณได้โดยตรงโดย retriv
หรือนำเข้าจากแหล่งอื่น การดึงข้อมูลแบบไฮบริดผสมผสานการดึงข้อมูลแบบดั้งเดิม ซึ่งเรียกอย่างไม่เป็นทางการว่า Sparse Retrieval และผลลัพธ์การดึงข้อมูลแบบหนาแน่นเพื่อปรับปรุงประสิทธิภาพในการดึงข้อมูลให้ดียิ่งขึ้น เนื่องจากไลบรารีได้รับการตกแต่งใหม่เกือบทั้งหมดแล้ว จึงไม่รองรับดัชนีที่สร้างด้วยเวอร์ชันก่อนหน้าอีกต่อไป
retriv เป็นเครื่องมือค้นหาที่เป็นมิตรต่อผู้ใช้และมีประสิทธิภาพซึ่งใช้งานใน Python ซึ่งรองรับ Sparse (การค้นหาแบบดั้งเดิมด้วย BM25, TF-IDF), Dense (การค้นหาเชิงความหมาย) และการดึงข้อมูลแบบไฮบริด (การผสมผสานระหว่าง Sparse และ Dense Retrieval) ช่วยให้คุณสร้างเครื่องมือค้นหาด้วย โค้ดบรรทัดเดียว
retriv สร้างขึ้นบน Numba สำหรับการดำเนินการเวกเตอร์ความเร็วสูงและการขนานอัตโนมัติ PyTorch และ Transformers เพื่อให้เข้าถึงและใช้งานโมเดลภาษาที่ใช้ Transformer ได้ง่าย และ Faiss สำหรับการค้นหาเพื่อนบ้านที่ใกล้ที่สุดโดยประมาณ นอกจากนี้ยังมีฟังก์ชันการปรับแต่งอัตโนมัติเพื่อให้คุณปรับแต่งส่วนประกอบภายในโดยมีการแทรกแซงน้อยที่สุด
รีทรีฟเวอร์ที่รองรับทั้งหมดใช้อินเทอร์เฟซการค้นหาเดียวกัน:
retriv ปรับการกำหนดค่า Faiss โดยอัตโนมัติสำหรับการค้นหาเพื่อนบ้านที่ใกล้ที่สุดโดยใช้ประโยชน์จาก AutoFaiss เพื่อรับประกันเวลาตอบสนอง 10ms ขึ้นอยู่กับฮาร์ดแวร์ที่คุณมีอยู่ นอกจากนี้ยังมีฟังก์ชันการปรับแต่งอัตโนมัติสำหรับพารามิเตอร์ของ BM25 ซึ่งต้องการการแทรกแซงจากผู้ใช้น้อยที่สุด ภายใต้ประทุนนั้น Retririv ใช้ประโยชน์จาก Optuna ซึ่งเป็นเฟรมเวิร์กการปรับให้เหมาะสมแบบไฮเปอร์พารามิเตอร์ และ Ranx ซึ่งเป็นไลบรารีการประเมินการดึงข้อมูล เพื่อทดสอบการกำหนดค่าพารามิเตอร์หลายรายการสำหรับ BM25 และเลือกพารามิเตอร์ที่ดีที่สุด สุดท้ายนี้ ระบบจะสามารถปรับสมดุลความสำคัญของคะแนนความเกี่ยวข้องด้านคำศัพท์และความหมายที่คำนวณโดย Hybrid รีทรีฟเวอร์ได้โดยอัตโนมัติ เพื่อเพิ่มประสิทธิภาพในการดึงข้อมูลสูงสุด
python>=3.8
pip install retriv
# Note: SearchEngine is an alias for the SparseRetriever
from retriv import SearchEngine
collection = [
{ "id" : "doc_1" , "text" : "Generals gathered in their masses" },
{ "id" : "doc_2" , "text" : "Just like witches at black masses" },
{ "id" : "doc_3" , "text" : "Evil minds that plot destruction" },
{ "id" : "doc_4" , "text" : "Sorcerer of death's construction" },
]
se = SearchEngine ( "new-index" ). index ( collection )
se . search ( "witches masses" )
เอาท์พุท:
[
{
"id" : " doc_2 " ,
"text" : " Just like witches at black masses " ,
"score" : 1.7536403
},
{
"id" : " doc_1 " ,
"text" : " Generals gathered in their masses " ,
"score" : 0.6931472
}
]
คุณต้องการที่จะเห็นคุณสมบัติอื่น ๆ ถูกนำมาใช้หรือไม่? กรุณาเปิดคำขอคุณสมบัติ
คุณต้องการมีส่วนร่วมหรือไม่? กรุณาส่งอีเมลฉัน
retriv เป็นซอฟต์แวร์โอเพ่นซอร์สที่ได้รับอนุญาตภายใต้ใบอนุญาต MIT