โครงการนี้ใช้ระบบการค้นหาที่มีความคล้ายคลึงกันที่มีประสิทธิภาพสำหรับเนื้อหาการบรรยายโดยใช้ Embeddings, FAISS และการหาปริมาณผลิตภัณฑ์ด้วยการใช้ดัชนีและ KMEAN ที่กำหนดเอง ช่วยให้คุณค้นหาการบรรยายที่คล้ายกันตามเนื้อหาที่เป็นข้อความทำให้สามารถดึงข้อมูลได้อย่างรวดเร็วและคำแนะนำของการบรรยาย
โคลนที่เก็บ
git clone https://github.com/bariscamli/Vector-Search-with-FAISS.git
cd Vector-Search-with-FAISSสร้างสภาพแวดล้อมเสมือนจริง (เป็นทางเลือก แต่แนะนำ)
python -m venv venv
source venv/bin/activate # On Windows use `venvScriptsactivate`สร้างสภาพแวดล้อมเสมือนจริง (เป็นทางเลือก แต่แนะนำ)
pip install -r requirements.txt ข้อมูลการบรรยาย: วางข้อความการบรรยายของคุณในไฟล์ที่ระบุโดย LECTURE_FILE ใน config.py แต่ละบรรทัดควรมีการบรรยายหนึ่งครั้ง
ข้อมูลการสืบค้น: วางข้อความการสืบค้นของคุณในไฟล์ที่ระบุโดย QUERY_FILE ใน config.py แต่ละบรรทัดควรมีแบบสอบถามหนึ่งแบบ รูปแบบตัวอย่างสำหรับ Lectures.txt:
Introduction to Machine Learning
Advanced Topics in Deep Learning
Statistical Methods in Data Science
...
รูปแบบตัวอย่างสำหรับ queries.txt:
Basics of Neural Networks
Regression Analysis Techniques
Clustering Algorithms Overview
...
การกำหนดค่าทั้งหมดได้รับการจัดการผ่านไฟล์ config.py พารามิเตอร์สำคัญ ได้แก่ :
File Paths
- LECTURE_FILE: Path to the lecture data file.
- QUERY_FILE: Path to the query data file.
Embedding Model
- EMBEDDING_MODEL_NAME: Name or path of the embedding model to use.
- BATCH_SIZE: Batch size for computing embeddings.
FAISS Parameters
- FAISS_EFSEARCH_VALUES: List of efSearch values for performance evaluation.
Quantization Parameters
- PQ_M: Number of sub-vector quantizers.
- PQ_NBITS: Number of bits per sub-vector.
- KMEANS_MAX_ITER: Maximum iterations for k-means during PQ training.
เรียกใช้สคริปต์หลักเพื่อเรียกใช้งานท่อเต็ม:
python main.pyการโหลดข้อมูลและการประมวลผลล่วงหน้า
การคำนวณการคำนวณ
EMBEDDING_MODEL_NAMEการคำนวณพื้นฐาน
การสร้างและประเมินผลดัชนี FAISS
efSearch ที่แตกต่างกันการสร้างภาพข้อมูลประสิทธิภาพ

การวัดปริมาณ
CustomIndexPQ ) ถูกสร้างขึ้นการค้นหาตัวอย่าง

numpymatplotlibfaiss (ติดตั้งผ่าน pip install faiss-cpu หรือ faiss-gpu หากคุณมี GPU)loggingtransformers หากใช้แบบจำลองการกอดใบหน้า)