Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Similarities: a toolkit for similarity calculation and semantic search. 相似度计算、匹配搜索工具包,支持亿级数据文搜文、文搜图、图搜图,python3开发,开箱即用。
| Date | Stars |
|---|---|
| 2026-07-24 | 903 |
| 2026-07-25 | 903 |
| 2026-07-28 | 903 |
| 2026-07-30 | 903 |
| 2026-07-31 | 902 |
| 2026-08-06 | 902 |
Today
— stars today
This week
-1 stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
[**🇨🇳中文**](https://github.com/shibing624/similarities/blob/main/README.md) | [**🌐English**](https://github.com/shibing624/similarities/blob/main/README_EN.md) | [**📖文档/Docs**](https://github.com/shibing624/similarities/wiki) | [**🤖模型/Models**](https://huggingface.co/shibing624)
<div align="center">
<a href="https://github.com/shibing624/similarities">
<img src="https://raw.githubusercontent.com/shibing624/similarities/main/docs/logo.png" height="150" alt="Logo">
</a>
</div>
-----------------
# Similarities: Similarity Calculation and Semantic Search
[](https://badge.fury.io/py/similarities)
[](https://pepy.tech/project/similarities)
[](CONTRIBUTING.md)
[](LICENSE)
[](requirements.txt)
[](https://github.com/shibing624/similarities/issues)
[](#Contact)
**similarities**: a toolkit for similarity calculation and semantic search, supports text and image. 相似度计算、语义匹配搜索工具包。
**similarities** 实现了多种文本和图片的相似度计算、语义匹配检索算法,支持亿级数据文搜文、文搜图、图搜图,python3开发,pip安装,开箱即用。
**Guide**
- [Features](#Features)
- [Install](#install)
- [Usage](#usage)
- [Contact](#Contact)
- [Acknowledgements](#Acknowledgements)
## Features
### 文本相似度计算 + 文本搜索
- 语义匹配模型【推荐】:本项目基于text2vec实现了CoSENT模型的文本相似度计算和文本搜索
- 支持中英文、多语言多种SentenceBERT类预训练模型
- 支持 Cos Similarity/Dot Product/Hamming Distance/Euclidean Distance 等多种相似度计算方法
- 支持 SemanticSearch/Faiss/Annoy/Hnsw 等多种文本搜索算法
- 支持亿级数据高效检索
- 支持命令行文本转向量(多卡)、建索引、批量检索、启动服务
- 字面匹配模型:本项目实现了Word2Vec、BM25、RankBM25、TFIDF、SimHash、同义词词林、知网Hownet义原匹配等多种字面匹配模型
### 图像相似度计算/图文相似度计算 + 图搜图/文搜图
- CLIP(Contrastive Language-Image Pre-Training)模型:图文匹配模型,可用于图文特征(embeddings)、相似度计算、图文检索、零样本图片分类,本项目基于PyTorch实现了CLIP模型的向量表征、构建索引(基于AutoFaiss)、批量检索、后台服务(基于FastAPI)、前端展现(基于Gradio)功能
- 支持[openai/clip-vit-base-patch32](https://huggingface.co/openai/clip-vit-base-patch32)等CLIP系列模型
- 支持[OFA-Sys/chinese-clip-vit-huge-patch14](https://huggingface.co/OFA-Sys/chinese-clip-vit-huge-patch14)等Chinese-CLIP系列模型
- 支持前后端分离部署,FastAPI后端服务,Gradio前端展现
- 支持亿级数据高效检索,基于Faiss检索,支持GPU加速
- 支持图搜图、文搜图、向量搜图
- 支持图像embedding提取、文本embedding提取
- 支持图像相似度计算、图文相似度计算
- 支持命令行图像转向量(多卡)、建索引、批量检索、启动服务
- 图像特征提取:本项目基于cv2实现了pHash、dHash、wHash、aHash、SIFT等多种图像特征提取算法
## Demo
Image Search Demo: https://huggingface.co/spaces/shibing624/CLIP-Image-Search

Text Search Demo: https://huggingface.co/spaces/shibing624/similarities

## Install
```
pip install torch # conda install pytorch
pip install -U similarities
```
or
```
git clone https://github.com/shibing624/similarities.git
cd similarities
pip install -e .
```
## Usage
### 1. 文本向量相似度计算
example: [examples/text_similarity_demo.py](https://github.com/shibing624/similarities/blob/main/examples/text_similarity_demo.py)
```python
from similarities import BertSimilarity
m = BertSimilarity(model_name_or_path="shibing624/text2vec-base-chinese")
r = m.similarity('如何更换花呗绑定银行卡', '花呗更改绑定银行卡')
print(f"similarity score: {float(r)}") # similarity score: 0.855146050453186
```
- `model_name_or_path`:模型名称或者路径,默认会从HF model hub下载并使用中文语义匹配模型[shibing624/text2vec-base-chinese](https://huggingface.co/shibing624/text2vec-base-chinese),如果需要多语言,可以替换为[shibing624/text2vec-base-multilingual](https://huggingface.co/shibing624/text2vec-base-multilingual)模型,支持中、英、韩、日、德、意等多国语言
### 2. 文本向量搜索
在文档候选集中找与query最相似的文本,常用于QA场景的问句相似匹配、文本搜索等任务。
#### SemanticSearch精准搜索算法,Cos SimilariExcerpt of 9,562 characters
Read on GitHubMing Xu (徐明) · @tencent · China
172
1
Dom
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:39ff5bcc6eb7b4f1, topic:similarity-search, topic:faiss, readme:hnsw
matched fp:39ff5bcc6eb7b4f1, topic:deep-learning, topic:pytorch, readme:pre-training
matched fp:39ff5bcc6eb7b4f1, topic:nlp