中文 | English
Welcome to VsHero, a comprehensive vector search tutorial repository that covers various algorithms and techniques used for similarity search. Our primary goal is to provide clear explanations of popular algorithms, such as LSH (Locality Sensitive Hashing), HNSW (Hierarchical Navigable Small World), KNN (K-Nearest Neighbors), and PQIVF (Product Quantization with Inverted File Index). The tutorials are available in both Chinese and English languages to cater to a diverse audience. Each tutorial comes with detailed illustrations to help users understand the concepts and implementations better. The tutorials are provided as Jupyter Notebook (ipynb) files, which allow users to interactively execute code and visualize results.
ann/lsh.ipynb
: Locality Sensitive Hashing tutorial and illustrations.ann/hnsw.ipynb
: Hierarchical Navigable Small World tutorial and illustrations.ann/pqivf.ipynb
: Product Quantization with Inverted File Index tutorial and illustrations.knn/knn.ipynb
: K-Nearest Neighbors tutorial and illustrations.README.md
: This README file.
- Clone the VsHero repository to your local machine.
- Open the desired tutorial using Jupyter Notebook, VS Code, or any IDE you prefer.
- Follow the instructions in the tutorial to understand the algorithm, implement it, and pass the tests (we suggest starting with KNN).
- Feel free to modify the code to test different datasets, parameters, or experiment with your own ideas.
To run the tutorials, you need to have the following installed on your machine:
- Python 3.x
- Jupyter Notebook or Jupyter Lab
- NumPy
- SciPy
- scikit-learn
We welcome contributions to VsHero! If you have any suggestions, improvements, or bug fixes, feel free to submit a pull request or create an issue.
If you encounter any problems while reading the tutorial, please feel free to start a discussion in the GitHub Discussions section.