/ Модель

Характеристики

Контекст
8 192 токена
Параметры
32,4 млн
Лицензия
Apache 2.0
Архитектура
bert · dense
Базовая модель
jina-embeddings-v2-small-en
Опубликована
10 мая 2025

minicoil-v1

Заполнение пропусковТекст → текст9 профессий

MiniCOIL v1 — разреженная нейронная модель эмбеддингов для текстового поиска, опубликованная Qdrant на основе jinaai/jina-embeddings-v2-small-en.

15 923скачиваний за 30 дней28лайковвеса обновлены26 июн 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Модель предназначена для задач sentence similarity и retrieval, включая семантический поиск и гибридный поиск по текстовым коллекциям.

Для каждого стема слова модель формирует 4-мерное смысловое представление, объединяет такие представления в разреженную модель мешка слов и взвешивает слова по формуле BM25. Для слов, отсутствующих в словаре miniCOIL, используется вес, основанный только на BM25. Модель поддерживает английский язык; сведения о размере параметров, длине контекста и других модальностях не указаны.

К сильным сторонам относятся разреженное представление, учет как лексического совпадения, так и смысла слов, а также различение контекстов многозначных терминов. Модель рассчитана на использование с библиотекой FastEmbed и особенностями Qdrant: для корректного применения необходимо настроить Modifier.IDF либо самостоятельно учитывать и масштабировать IDF-компонент BM25. Ограничения включают англоязычную специализацию и зависимость от настройки разреженных векторов в Qdrant. Модель распространяется по лицензии Apache-2.0.

Для каких профессий подходит9

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

MiniCOIL v1

MiniCOIL is a sparse neural embedding model for textual retrieval.

It creates 4-dimensional embeddings for each word stem, capturing the word's meaning.
These meaning embeddings are combined into a bag-of-words (BoW) representation of the input text.
The final sparse representation is calculated by weighting each word using the BM25 scoring formula.

In the case of a word's absence in the miniCOIL vocabulary, word weight in sparse representation is purely based on the BM25 score.

Read more about miniCOIL in the article.

Usage

This model is designed to be used with the FastEmbed library.

Note: This model was designed with Qdrant's specifics in mind; miniCOIL sparse vectors in Qdrant have to be configured with Modifier.IDF. Otherwise, you'll have to personally calculate & scale the produced sparse representations by the IDF part of the BM25 formula.

from fastembed import SparseTextEmbedding

model = SparseTextEmbedding(model_name="Qdrant/minicoil-v1")

documents = [
    "fruit bat",
    "baseball bat",
]

embeddings = list(model.embed(documents))
query_embedding = list(model.query_embed("bat in a cave"))

# embeddings[0] - "fruit bat"
# SparseEmbedding(values=array([-1.2509683 , -0.9510568 , -0.55398935,  0.188206  ,  1.0497165 ,
#       0.31841373, -0.82047373, -0.9671025 ], dtype=float32), indices=array([ 8992,  8993,  8994,  8995, 18832, 18833, 18834, 18835],
#      dtype=int32)) # 8992,  8993,  8994,  8995 - 4D "fruit" representation, 18832, 18833, 18834, 18835 - 4D "bat" representation

# embeddings[1] - "baseball bat"
#SparseEmbedding(values=array([ 1.1004512 , -0.5959816 ,  0.23380531, -1.0912857 ,  1.6768292 ],
#      dtype=float32), indices=array([     18832,      18833,      18834,      18835, 2068153269],
#      dtype=int32)) # 18832, 18833, 18834, 18835 - 4D "bat" representation, 2068153269 - 1D "baseball" representation, as "baseball" is not in miniCOIL_v1 vocabulary, so we fall back to Qdrant/bm25 1D score
 
# query_embedding - "bat in a cave"
#[SparseEmbedding(values=array([ 0.5656684 ,  0.395691  , -0.48945513, -0.5328054 , -0.5889519 ,
#         0.55871224,  0.27323055,  0.5160634 ], dtype=float32), indices=array([18832, 18833, 18834, 18835, 18920, 18921, 18922, 18923],
#       dtype=int32))] # 18832, 18833, 18834, 18835 - 4D "bat" representation, 18920, 18921, 18922, 18923 - 4D "cave" representation, "in"/"a" - removed stop words

bat_1 = embeddings[0].values[4:8]
bat_2 = embeddings[1].values[:4]
bat_query = query_embedding[0].values[:4]

dot_product_1 = (bat_1 * bat_query).sum() #np.float32(1.6366475) measuring dot product between matching indices of sparse vectors
dot_product_2 = (bat_2 * bat_query).sum() #np.float32(0.8536716) measuring dot product between matching indices of sparse vectors

#1.6366475 > 0.8536716, as "bat" in "fruit bat" is more semantically similar to "bat" in "bat in a cave", as "bat" in "baseball bat"

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · fill-mask

Нельзя запустить

Модели нужен код из репозитория; запуск откроется после проверки совместимости.

Класс архитектуры
JinaBertForMaskedLM
Ревизия весов
4a7b058

0 моделей