Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add examples with supported typed of models into readme #271

Merged
merged 5 commits into from
Jun 13, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 94 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -18,11 +18,9 @@ To install the FastEmbed library, pip works best. You can install it with or wit

```bash
pip install fastembed
```

### ⚡️ With GPU
# or with GPU support

```bash
pip install fastembed-gpu
```

@@ -48,7 +46,99 @@ embeddings_list = list(embedding_model.embed(documents))
len(embeddings_list[0]) # Vector of 384 dimensions
```

### ⚡️ FastEmbed on a GPU
Fastembed supports a variety of models for different tasks and modalities.
The list of all the available models can be found [here](https://qdrant.github.io/fastembed/examples/Supported_Models/)
### 🎒 Dense text embeddings

```python
from fastembed import TextEmbedding

model = TextEmbedding(model_name="BAAI/bge-small-en-v1.5")
embeddings = list(embedding_model.embed(documents))

# [
# array([-0.1115, 0.0097, 0.0052, 0.0195, ...], dtype=float32),
# array([-0.1019, 0.0635, -0.0332, 0.0522, ...], dtype=float32)
# ]

```



### 🔱 Sparse text embeddings

* SPLADE++

```python
from fastembed import SparseTextEmbedding

model = SparseTextEmbedding(model_name="prithivida/Splade_PP_en_v1")
embeddings = list(embedding_model.embed(documents))

# [
# SparseEmbedding(indices=[ 17, 123, 919, ... ], values=[0.71, 0.22, 0.39, ...]),
# SparseEmbedding(indices=[ 38, 12, 91, ... ], values=[0.11, 0.22, 0.39, ...])
# ]
```

<!--
* BM42 - ([link](ToDo))
```
from fastembed import SparseTextEmbedding
model = SparseTextEmbedding(model_name="Qdrant/bm42-all-minilm-l6-v2-attentions")
embeddings = list(embedding_model.embed(documents))
# [
# SparseEmbedding(indices=[ 17, 123, 919, ... ], values=[0.71, 0.22, 0.39, ...]),
# SparseEmbedding(indices=[ 38, 12, 91, ... ], values=[0.11, 0.22, 0.39, ...])
# ]
```
-->

### 🦥 Late interaction models (aka ColBERT)


```python
from fastembed import LateInteractionTextEmbedding

model = LateInteractionTextEmbedding(model_name="colbert-ir/colbertv2.0")
embeddings = list(embedding_model.embed(documents))

# [
# array([
# [-0.1115, 0.0097, 0.0052, 0.0195, ...],
# [-0.1019, 0.0635, -0.0332, 0.0522, ...],
# ]),
# array([
# [-0.9019, 0.0335, -0.0032, 0.0991, ...],
# [-0.2115, 0.8097, 0.1052, 0.0195, ...],
# ]),
# ]
```

### 🖼️ Image embeddings

```python
from fastembed import ImageEmbedding

images = [
"./path/to/image1.jpg",
"./path/to/image2.jpg",
]

model = ImageEmbedding(model_name="Qdrant/clip-ViT-B-32-vision")
embeddings = list(embedding_model.embed(images))

# [
# array([-0.1115, 0.0097, 0.0052, 0.0195, ...], dtype=float32),
# array([-0.1019, 0.0635, -0.0332, 0.0522, ...], dtype=float32)
# ]
```


## ⚡️ FastEmbed on a GPU

FastEmbed supports running on GPU devices.
It requires installation of the `fastembed-gpu` package.
470 changes: 437 additions & 33 deletions docs/examples/Supported_Models.ipynb
Original file line number Diff line number Diff line change
@@ -2,22 +2,31 @@
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2024-05-31T18:13:23.806907Z",
"start_time": "2024-05-31T18:13:23.797078Z"
}
},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The autoreload extension is already loaded. To reload it, use:\n",
" %reload_ext autoreload\n"
]
}
],
"source": [
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2024-05-31T18:14:31.147674Z",
@@ -45,7 +54,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 6,
"metadata": {
"ExecuteTime": {
"end_time": "2024-05-31T18:13:25.863008Z",
@@ -55,10 +64,250 @@
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>model</th>\n <th>dim</th>\n <th>description</th>\n <th>size_in_GB</th>\n <th>model_file</th>\n <th>additional_files</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>BAAI/bge-small-en-v1.5</td>\n <td>384</td>\n <td>Fast and Default English model</td>\n <td>0.067</td>\n <td>model_optimized.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>1</th>\n <td>BAAI/bge-small-zh-v1.5</td>\n <td>512</td>\n <td>Fast and recommended Chinese model</td>\n <td>0.090</td>\n <td>model_optimized.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>2</th>\n <td>sentence-transformers/all-MiniLM-L6-v2</td>\n <td>384</td>\n <td>Sentence Transformer model, MiniLM-L6-v2</td>\n <td>0.090</td>\n <td>model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>3</th>\n <td>snowflake/snowflake-arctic-embed-xs</td>\n <td>384</td>\n <td>Based on all-MiniLM-L6-v2 model with only 22m ...</td>\n <td>0.090</td>\n <td>onnx/model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>4</th>\n <td>jinaai/jina-embeddings-v2-small-en</td>\n <td>512</td>\n <td>English embedding model supporting 8192 sequen...</td>\n <td>0.120</td>\n <td>onnx/model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>5</th>\n <td>snowflake/snowflake-arctic-embed-s</td>\n <td>384</td>\n <td>Based on infloat/e5-small-unsupervised, does n...</td>\n <td>0.130</td>\n <td>onnx/model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>6</th>\n <td>BAAI/bge-small-en</td>\n <td>384</td>\n <td>Fast English model</td>\n <td>0.130</td>\n <td>model_optimized.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>7</th>\n <td>nomic-ai/nomic-embed-text-v1.5-Q</td>\n <td>768</td>\n <td>Quantized 8192 context length english model</td>\n <td>0.130</td>\n <td>onnx/model_quantized.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>8</th>\n <td>BAAI/bge-base-en-v1.5</td>\n <td>768</td>\n <td>Base English model, v1.5</td>\n <td>0.210</td>\n <td>model_optimized.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>9</th>\n <td>sentence-transformers/paraphrase-multilingual-...</td>\n <td>384</td>\n <td>Sentence Transformer model, paraphrase-multili...</td>\n <td>0.220</td>\n <td>model_optimized.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>10</th>\n <td>Qdrant/clip-ViT-B-32-text</td>\n <td>512</td>\n <td>CLIP text encoder</td>\n <td>0.250</td>\n <td>model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>11</th>\n <td>BAAI/bge-base-en</td>\n <td>768</td>\n <td>Base English model</td>\n <td>0.420</td>\n <td>model_optimized.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>12</th>\n <td>snowflake/snowflake-arctic-embed-m</td>\n <td>768</td>\n <td>Based on intfloat/e5-base-unsupervised model, ...</td>\n <td>0.430</td>\n <td>onnx/model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>13</th>\n <td>nomic-ai/nomic-embed-text-v1</td>\n <td>768</td>\n <td>8192 context length english model</td>\n <td>0.520</td>\n <td>onnx/model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>14</th>\n <td>jinaai/jina-embeddings-v2-base-en</td>\n <td>768</td>\n <td>English embedding model supporting 8192 sequen...</td>\n <td>0.520</td>\n <td>onnx/model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>15</th>\n <td>nomic-ai/nomic-embed-text-v1.5</td>\n <td>768</td>\n <td>8192 context length english model</td>\n <td>0.520</td>\n <td>onnx/model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>16</th>\n <td>snowflake/snowflake-arctic-embed-m-long</td>\n <td>768</td>\n <td>Based on nomic-ai/nomic-embed-text-v1-unsuperv...</td>\n <td>0.540</td>\n <td>onnx/model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>17</th>\n <td>mixedbread-ai/mxbai-embed-large-v1</td>\n <td>1024</td>\n <td>MixedBread Base sentence embedding model, does...</td>\n <td>0.640</td>\n <td>onnx/model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>18</th>\n <td>sentence-transformers/paraphrase-multilingual-...</td>\n <td>768</td>\n <td>Sentence-transformers model for tasks like clu...</td>\n <td>1.000</td>\n <td>onnx/model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>19</th>\n <td>snowflake/snowflake-arctic-embed-l</td>\n <td>1024</td>\n <td>Based on intfloat/e5-large-unsupervised, large...</td>\n <td>1.020</td>\n <td>onnx/model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>20</th>\n <td>BAAI/bge-large-en-v1.5</td>\n <td>1024</td>\n <td>Large English model, v1.5</td>\n <td>1.200</td>\n <td>model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>21</th>\n <td>thenlper/gte-large</td>\n <td>1024</td>\n <td>Large general text embeddings model</td>\n <td>1.200</td>\n <td>model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>22</th>\n <td>intfloat/multilingual-e5-large</td>\n <td>1024</td>\n <td>Multilingual model, e5-large. Recommend using ...</td>\n <td>2.240</td>\n <td>model.onnx</td>\n <td>[model.onnx_data]</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " model dim \\\n0 BAAI/bge-small-en-v1.5 384 \n1 BAAI/bge-small-zh-v1.5 512 \n2 sentence-transformers/all-MiniLM-L6-v2 384 \n3 snowflake/snowflake-arctic-embed-xs 384 \n4 jinaai/jina-embeddings-v2-small-en 512 \n5 snowflake/snowflake-arctic-embed-s 384 \n6 BAAI/bge-small-en 384 \n7 nomic-ai/nomic-embed-text-v1.5-Q 768 \n8 BAAI/bge-base-en-v1.5 768 \n9 sentence-transformers/paraphrase-multilingual-... 384 \n10 Qdrant/clip-ViT-B-32-text 512 \n11 BAAI/bge-base-en 768 \n12 snowflake/snowflake-arctic-embed-m 768 \n13 nomic-ai/nomic-embed-text-v1 768 \n14 jinaai/jina-embeddings-v2-base-en 768 \n15 nomic-ai/nomic-embed-text-v1.5 768 \n16 snowflake/snowflake-arctic-embed-m-long 768 \n17 mixedbread-ai/mxbai-embed-large-v1 1024 \n18 sentence-transformers/paraphrase-multilingual-... 768 \n19 snowflake/snowflake-arctic-embed-l 1024 \n20 BAAI/bge-large-en-v1.5 1024 \n21 thenlper/gte-large 1024 \n22 intfloat/multilingual-e5-large 1024 \n\n description size_in_GB \\\n0 Fast and Default English model 0.067 \n1 Fast and recommended Chinese model 0.090 \n2 Sentence Transformer model, MiniLM-L6-v2 0.090 \n3 Based on all-MiniLM-L6-v2 model with only 22m ... 0.090 \n4 English embedding model supporting 8192 sequen... 0.120 \n5 Based on infloat/e5-small-unsupervised, does n... 0.130 \n6 Fast English model 0.130 \n7 Quantized 8192 context length english model 0.130 \n8 Base English model, v1.5 0.210 \n9 Sentence Transformer model, paraphrase-multili... 0.220 \n10 CLIP text encoder 0.250 \n11 Base English model 0.420 \n12 Based on intfloat/e5-base-unsupervised model, ... 0.430 \n13 8192 context length english model 0.520 \n14 English embedding model supporting 8192 sequen... 0.520 \n15 8192 context length english model 0.520 \n16 Based on nomic-ai/nomic-embed-text-v1-unsuperv... 0.540 \n17 MixedBread Base sentence embedding model, does... 0.640 \n18 Sentence-transformers model for tasks like clu... 1.000 \n19 Based on intfloat/e5-large-unsupervised, large... 1.020 \n20 Large English model, v1.5 1.200 \n21 Large general text embeddings model 1.200 \n22 Multilingual model, e5-large. Recommend using ... 2.240 \n\n model_file additional_files \n0 model_optimized.onnx NaN \n1 model_optimized.onnx NaN \n2 model.onnx NaN \n3 onnx/model.onnx NaN \n4 onnx/model.onnx NaN \n5 onnx/model.onnx NaN \n6 model_optimized.onnx NaN \n7 onnx/model_quantized.onnx NaN \n8 model_optimized.onnx NaN \n9 model_optimized.onnx NaN \n10 model.onnx NaN \n11 model_optimized.onnx NaN \n12 onnx/model.onnx NaN \n13 onnx/model.onnx NaN \n14 onnx/model.onnx NaN \n15 onnx/model.onnx NaN \n16 onnx/model.onnx NaN \n17 onnx/model.onnx NaN \n18 onnx/model.onnx NaN \n19 onnx/model.onnx NaN \n20 model.onnx NaN \n21 model.onnx NaN \n22 model.onnx [model.onnx_data] "
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>model</th>\n",
" <th>dim</th>\n",
" <th>description</th>\n",
" <th>size_in_GB</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>BAAI/bge-small-en-v1.5</td>\n",
" <td>384</td>\n",
" <td>Fast and Default English model</td>\n",
" <td>0.067</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>BAAI/bge-small-zh-v1.5</td>\n",
" <td>512</td>\n",
" <td>Fast and recommended Chinese model</td>\n",
" <td>0.090</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>sentence-transformers/all-MiniLM-L6-v2</td>\n",
" <td>384</td>\n",
" <td>Sentence Transformer model, MiniLM-L6-v2</td>\n",
" <td>0.090</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>snowflake/snowflake-arctic-embed-xs</td>\n",
" <td>384</td>\n",
" <td>Based on all-MiniLM-L6-v2 model with only 22m ...</td>\n",
" <td>0.090</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>jinaai/jina-embeddings-v2-small-en</td>\n",
" <td>512</td>\n",
" <td>English embedding model supporting 8192 sequen...</td>\n",
" <td>0.120</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>snowflake/snowflake-arctic-embed-s</td>\n",
" <td>384</td>\n",
" <td>Based on infloat/e5-small-unsupervised, does n...</td>\n",
" <td>0.130</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>BAAI/bge-small-en</td>\n",
" <td>384</td>\n",
" <td>Fast English model</td>\n",
" <td>0.130</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>nomic-ai/nomic-embed-text-v1.5-Q</td>\n",
" <td>768</td>\n",
" <td>Quantized 8192 context length english model</td>\n",
" <td>0.130</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>BAAI/bge-base-en-v1.5</td>\n",
" <td>768</td>\n",
" <td>Base English model, v1.5</td>\n",
" <td>0.210</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>sentence-transformers/paraphrase-multilingual-...</td>\n",
" <td>384</td>\n",
" <td>Sentence Transformer model, paraphrase-multili...</td>\n",
" <td>0.220</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>Qdrant/clip-ViT-B-32-text</td>\n",
" <td>512</td>\n",
" <td>CLIP text encoder</td>\n",
" <td>0.250</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>BAAI/bge-base-en</td>\n",
" <td>768</td>\n",
" <td>Base English model</td>\n",
" <td>0.420</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>snowflake/snowflake-arctic-embed-m</td>\n",
" <td>768</td>\n",
" <td>Based on intfloat/e5-base-unsupervised model, ...</td>\n",
" <td>0.430</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>nomic-ai/nomic-embed-text-v1</td>\n",
" <td>768</td>\n",
" <td>8192 context length english model</td>\n",
" <td>0.520</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>jinaai/jina-embeddings-v2-base-en</td>\n",
" <td>768</td>\n",
" <td>English embedding model supporting 8192 sequen...</td>\n",
" <td>0.520</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>nomic-ai/nomic-embed-text-v1.5</td>\n",
" <td>768</td>\n",
" <td>8192 context length english model</td>\n",
" <td>0.520</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>snowflake/snowflake-arctic-embed-m-long</td>\n",
" <td>768</td>\n",
" <td>Based on nomic-ai/nomic-embed-text-v1-unsuperv...</td>\n",
" <td>0.540</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>mixedbread-ai/mxbai-embed-large-v1</td>\n",
" <td>1024</td>\n",
" <td>MixedBread Base sentence embedding model, does...</td>\n",
" <td>0.640</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>sentence-transformers/paraphrase-multilingual-...</td>\n",
" <td>768</td>\n",
" <td>Sentence-transformers model for tasks like clu...</td>\n",
" <td>1.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>snowflake/snowflake-arctic-embed-l</td>\n",
" <td>1024</td>\n",
" <td>Based on intfloat/e5-large-unsupervised, large...</td>\n",
" <td>1.020</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>BAAI/bge-large-en-v1.5</td>\n",
" <td>1024</td>\n",
" <td>Large English model, v1.5</td>\n",
" <td>1.200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>thenlper/gte-large</td>\n",
" <td>1024</td>\n",
" <td>Large general text embeddings model</td>\n",
" <td>1.200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>intfloat/multilingual-e5-large</td>\n",
" <td>1024</td>\n",
" <td>Multilingual model, e5-large. Recommend using ...</td>\n",
" <td>2.240</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" model dim \\\n",
"0 BAAI/bge-small-en-v1.5 384 \n",
"1 BAAI/bge-small-zh-v1.5 512 \n",
"2 sentence-transformers/all-MiniLM-L6-v2 384 \n",
"3 snowflake/snowflake-arctic-embed-xs 384 \n",
"4 jinaai/jina-embeddings-v2-small-en 512 \n",
"5 snowflake/snowflake-arctic-embed-s 384 \n",
"6 BAAI/bge-small-en 384 \n",
"7 nomic-ai/nomic-embed-text-v1.5-Q 768 \n",
"8 BAAI/bge-base-en-v1.5 768 \n",
"9 sentence-transformers/paraphrase-multilingual-... 384 \n",
"10 Qdrant/clip-ViT-B-32-text 512 \n",
"11 BAAI/bge-base-en 768 \n",
"12 snowflake/snowflake-arctic-embed-m 768 \n",
"13 nomic-ai/nomic-embed-text-v1 768 \n",
"14 jinaai/jina-embeddings-v2-base-en 768 \n",
"15 nomic-ai/nomic-embed-text-v1.5 768 \n",
"16 snowflake/snowflake-arctic-embed-m-long 768 \n",
"17 mixedbread-ai/mxbai-embed-large-v1 1024 \n",
"18 sentence-transformers/paraphrase-multilingual-... 768 \n",
"19 snowflake/snowflake-arctic-embed-l 1024 \n",
"20 BAAI/bge-large-en-v1.5 1024 \n",
"21 thenlper/gte-large 1024 \n",
"22 intfloat/multilingual-e5-large 1024 \n",
"\n",
" description size_in_GB \n",
"0 Fast and Default English model 0.067 \n",
"1 Fast and recommended Chinese model 0.090 \n",
"2 Sentence Transformer model, MiniLM-L6-v2 0.090 \n",
"3 Based on all-MiniLM-L6-v2 model with only 22m ... 0.090 \n",
"4 English embedding model supporting 8192 sequen... 0.120 \n",
"5 Based on infloat/e5-small-unsupervised, does n... 0.130 \n",
"6 Fast English model 0.130 \n",
"7 Quantized 8192 context length english model 0.130 \n",
"8 Base English model, v1.5 0.210 \n",
"9 Sentence Transformer model, paraphrase-multili... 0.220 \n",
"10 CLIP text encoder 0.250 \n",
"11 Base English model 0.420 \n",
"12 Based on intfloat/e5-base-unsupervised model, ... 0.430 \n",
"13 8192 context length english model 0.520 \n",
"14 English embedding model supporting 8192 sequen... 0.520 \n",
"15 8192 context length english model 0.520 \n",
"16 Based on nomic-ai/nomic-embed-text-v1-unsuperv... 0.540 \n",
"17 MixedBread Base sentence embedding model, does... 0.640 \n",
"18 Sentence-transformers model for tasks like clu... 1.000 \n",
"19 Based on intfloat/e5-large-unsupervised, large... 1.020 \n",
"20 Large English model, v1.5 1.200 \n",
"21 Large general text embeddings model 1.200 \n",
"22 Multilingual model, e5-large. Recommend using ... 2.240 "
]
},
"execution_count": 3,
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
@@ -67,7 +316,7 @@
"supported_models = (\n",
" pd.DataFrame(TextEmbedding.list_supported_models())\n",
" .sort_values(\"size_in_GB\")\n",
" .drop(columns=\"sources\")\n",
" .drop(columns=[\"sources\", \"model_file\", \"additional_files\"])\n",
" .reset_index(drop=True)\n",
")\n",
"supported_models"
@@ -82,7 +331,7 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 8,
"metadata": {
"ExecuteTime": {
"end_time": "2024-05-31T18:13:27.124747Z",
@@ -92,16 +341,81 @@
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>model</th>\n <th>vocab_size</th>\n <th>description</th>\n <th>size_in_GB</th>\n <th>sources</th>\n <th>model_file</th>\n <th>additional_files</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>prithvida/Splade_PP_en_v1</td>\n <td>30522</td>\n <td>Misspelled version of the model. Retained for ...</td>\n <td>0.532</td>\n <td>{'hf': 'Qdrant/SPLADE_PP_en_v1'}</td>\n <td>model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>1</th>\n <td>prithivida/Splade_PP_en_v1</td>\n <td>30522</td>\n <td>Independent Implementation of SPLADE++ Model f...</td>\n <td>0.532</td>\n <td>{'hf': 'Qdrant/SPLADE_PP_en_v1'}</td>\n <td>model.onnx</td>\n <td>NaN</td>\n </tr>\n <tr>\n <th>2</th>\n <td>Qdrant/bm42-all-minilm-l6-v2-attentions</td>\n <td>30522</td>\n <td>Light sparse embedding model, which assigns an...</td>\n <td>0.090</td>\n <td>{'hf': 'Qdrant/all_miniLM_L6_v2_with_attentions'}</td>\n <td>model.onnx</td>\n <td>[stopwords.txt]</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " model vocab_size \\\n0 prithvida/Splade_PP_en_v1 30522 \n1 prithivida/Splade_PP_en_v1 30522 \n2 Qdrant/bm42-all-minilm-l6-v2-attentions 30522 \n\n description size_in_GB \\\n0 Misspelled version of the model. Retained for ... 0.532 \n1 Independent Implementation of SPLADE++ Model f... 0.532 \n2 Light sparse embedding model, which assigns an... 0.090 \n\n sources model_file \\\n0 {'hf': 'Qdrant/SPLADE_PP_en_v1'} model.onnx \n1 {'hf': 'Qdrant/SPLADE_PP_en_v1'} model.onnx \n2 {'hf': 'Qdrant/all_miniLM_L6_v2_with_attentions'} model.onnx \n\n additional_files \n0 NaN \n1 NaN \n2 [stopwords.txt] "
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>model</th>\n",
" <th>vocab_size</th>\n",
" <th>description</th>\n",
" <th>size_in_GB</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Qdrant/bm42-all-minilm-l6-v2-attentions</td>\n",
" <td>30522</td>\n",
" <td>Light sparse embedding model, which assigns an...</td>\n",
" <td>0.090</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>prithvida/Splade_PP_en_v1</td>\n",
" <td>30522</td>\n",
" <td>Misspelled version of the model. Retained for ...</td>\n",
" <td>0.532</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>prithivida/Splade_PP_en_v1</td>\n",
" <td>30522</td>\n",
" <td>Independent Implementation of SPLADE++ Model f...</td>\n",
" <td>0.532</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" model vocab_size \\\n",
"0 Qdrant/bm42-all-minilm-l6-v2-attentions 30522 \n",
"1 prithvida/Splade_PP_en_v1 30522 \n",
"2 prithivida/Splade_PP_en_v1 30522 \n",
"\n",
" description size_in_GB \n",
"0 Light sparse embedding model, which assigns an... 0.090 \n",
"1 Misspelled version of the model. Retained for ... 0.532 \n",
"2 Independent Implementation of SPLADE++ Model f... 0.532 "
]
},
"execution_count": 4,
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(SparseTextEmbedding.list_supported_models())"
"(\n",
" pd.DataFrame(SparseTextEmbedding.list_supported_models())\n",
" .sort_values(\"size_in_GB\")\n",
" .drop(columns=[\"sources\", \"model_file\", \"additional_files\"])\n",
" .reset_index(drop=True)\n",
")"
]
},
{
@@ -115,7 +429,7 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 10,
"metadata": {
"ExecuteTime": {
"end_time": "2024-05-31T18:14:34.370252Z",
@@ -126,16 +440,60 @@
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>model</th>\n <th>dim</th>\n <th>description</th>\n <th>size_in_GB</th>\n <th>sources</th>\n <th>model_file</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>colbert-ir/colbertv2.0</td>\n <td>128</td>\n <td>Late interaction model</td>\n <td>0.44</td>\n <td>{'hf': 'colbert-ir/colbertv2.0'}</td>\n <td>model.onnx</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " model dim description size_in_GB \\\n0 colbert-ir/colbertv2.0 128 Late interaction model 0.44 \n\n sources model_file \n0 {'hf': 'colbert-ir/colbertv2.0'} model.onnx "
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>model</th>\n",
" <th>dim</th>\n",
" <th>description</th>\n",
" <th>size_in_GB</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>colbert-ir/colbertv2.0</td>\n",
" <td>128</td>\n",
" <td>Late interaction model</td>\n",
" <td>0.44</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" model dim description size_in_GB\n",
"0 colbert-ir/colbertv2.0 128 Late interaction model 0.44"
]
},
"execution_count": 8,
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(LateInteractionTextEmbedding.list_supported_models())"
"(\n",
" pd.DataFrame(LateInteractionTextEmbedding.list_supported_models())\n",
" .sort_values(\"size_in_GB\")\n",
" .drop(columns=[\"sources\", \"model_file\"])\n",
" .reset_index(drop=True)\n",
")"
]
},
{
@@ -149,7 +507,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 12,
"metadata": {
"ExecuteTime": {
"end_time": "2024-05-31T18:14:42.501881Z",
@@ -160,26 +518,72 @@
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>model</th>\n <th>dim</th>\n <th>description</th>\n <th>size_in_GB</th>\n <th>sources</th>\n <th>model_file</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>Qdrant/clip-ViT-B-32-vision</td>\n <td>512</td>\n <td>CLIP vision encoder based on ViT-B/32</td>\n <td>0.34</td>\n <td>{'hf': 'Qdrant/clip-ViT-B-32-vision'}</td>\n <td>model.onnx</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Qdrant/resnet50-onnx</td>\n <td>2048</td>\n <td>ResNet-50 from `Deep Residual Learning for Ima...</td>\n <td>0.10</td>\n <td>{'hf': 'Qdrant/resnet50-onnx'}</td>\n <td>model.onnx</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " model dim \\\n0 Qdrant/clip-ViT-B-32-vision 512 \n1 Qdrant/resnet50-onnx 2048 \n\n description size_in_GB \\\n0 CLIP vision encoder based on ViT-B/32 0.34 \n1 ResNet-50 from `Deep Residual Learning for Ima... 0.10 \n\n sources model_file \n0 {'hf': 'Qdrant/clip-ViT-B-32-vision'} model.onnx \n1 {'hf': 'Qdrant/resnet50-onnx'} model.onnx "
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>model</th>\n",
" <th>dim</th>\n",
" <th>description</th>\n",
" <th>size_in_GB</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Qdrant/resnet50-onnx</td>\n",
" <td>2048</td>\n",
" <td>ResNet-50 from `Deep Residual Learning for Ima...</td>\n",
" <td>0.10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Qdrant/clip-ViT-B-32-vision</td>\n",
" <td>512</td>\n",
" <td>CLIP vision encoder based on ViT-B/32</td>\n",
" <td>0.34</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" model dim \\\n",
"0 Qdrant/resnet50-onnx 2048 \n",
"1 Qdrant/clip-ViT-B-32-vision 512 \n",
"\n",
" description size_in_GB \n",
"0 ResNet-50 from `Deep Residual Learning for Ima... 0.10 \n",
"1 CLIP vision encoder based on ViT-B/32 0.34 "
]
},
"execution_count": 9,
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(ImageEmbedding.list_supported_models())"
"(\n",
" pd.DataFrame(ImageEmbedding.list_supported_models()).sort_values(\"size_in_GB\")\n",
" .drop(columns=[\"sources\", \"model_file\"])\n",
" .reset_index(drop=True)\n",
")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
}
],
"metadata": {
@@ -198,7 +602,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.13"
"version": "3.11.4"
},
"orig_nbformat": 4,
"vscode": {