Текстовые эмбеддинги, известные своими возможностями семантического представления, вместе с быстрым векторным поиском, сегодня являются краеугольным камнем в поиске документов в огромных наборах данных. Однако проблема часто заключается в фильтрации этих найденных документов для точного соответствия поисковому намерению пользователя – задача, которая выходит за рамки возможностей простых мер косинусного сходства.
Сегодня мы рады представить Jina Reranker (jina-reranker-v1-base-en), передовую нейронную модель переранжирования, разработанную для решения этой критической проблемы релевантности. Jina Reranker улучшает вашу систему поиска и RAG (Retrieval-Augmented Generation) путем переупорядочивания найденных документов способом, который глубоко и контекстуально понимает поисковые термины запроса. Наши оценки показали значительные улучшения для поисковых систем, использующих Jina Reranker, с увеличением показателя попаданий на +8% и среднего обратного ранга на +33%!

tagЧто такое Reranker?
Понимание концепции переранжировщика часто приводит нас к вопросу о необходимости механизмов переранжирования в поисковых (ранжирующих) системах. Часто задают вопросы: "Зачем нам нужен переранжировщик?" и "Разве недостаточно ранжировать документы по косинусному сходству между эмбеддингами запроса и документа?" Чтобы ответить на эти вопросы, давайте сначала рассмотрим подход с одиночным эмбеддингом и косинусным сходством и его ограничения.
Косинусное сходство количественно определяет схожесть между двумя документами, измеряя косинус угла между их векторами эмбеддингов. Эта метрика ценится за свою простоту и используется во многих векторных базах данных как стандартный способ поиска. Однако этот подход, обычно называемый представительским, имеет тенденцию к чрезмерному упрощению взаимодействия между запросом и документами. В частности, он испытывает трудности с захватом нюансированного взаимодействия на уровне поддокументов и подзапросов, часто упуская полную глубину намерения пользователя и тонкие детали релевантности документа.
Здесь в игру вступают переранжировщики. Используя глубокие нейронные сети, переранжировщики глубже погружаются во взаимодействия между запросом и отобранными документами. Они выходят за рамки базовых документных эмбеддингов, охватывая токен-уровневые взаимодействия, происходящие внутри запроса, внутри документа и между запросом и документом. Хотя этот метод требует больше вычислительных ресурсов по сравнению с простым косинусным сходством, он позволяет выполнять нюансированное сравнение, учитывающее контекст, семантическое значение и намерение запроса, существенно улучшая релевантность результатов поиска.
Векторный поиск через косинусное сходство | Переранжировщик | |
---|---|---|
Уровень взаимодействия | Эмбеддинги на уровне документов | Взаимодействия на уровне токенов |
Вычислительные требования | Низкие | Высокие |
Большинство вычислений происходит | Офлайн, т.е. во время индексации | Онлайн, т.е. во время запроса |
Результат | Широкое, но поверхностное сопоставление | Высоко релевантное и точное сопоставление |
Преимущества | - Быстро и эффективно - Простая реализация |
- Глубокое контекстуальное понимание - Продвинутый семантический анализ |
Ограничения | - Ограничен отсутствием глубины и контекста - Может упускать нюансы намерения пользователя |
- Вычислительно интенсивный - Требует более сложных моделей |
Лучше всего подходит для | Обеспечивает быстрый, эффективный первый проход | Добавляет глубину, улучшая точность и релевантность конечных результатов поиска |
Подводя итог, переранжировщик является критически важным компонентом в поисковом конвейере. Высококачественная поисковая система обычно начинается с этапа векторного поиска на основе эмбеддингов, который затем уточняется моделью переранжирования. Этот двухэтапный подход использует сильные стороны обеих моделей, обеспечивая предоставление точной, высококачественной информации, которая идеально соответствует потребностям пользователя.
tagНачало работы с Jina Reranker
Чтобы начать использовать Jina Reranker, перейдите на нашу страницу Reranker для получения YOUR_API_KEY
. Вы можете адаптировать приведенный ниже пример cURL, изменив запрос или добавив больше документов:
curl -X 'POST' \
'https://api.jina.ai/v1/rerank' \
-H 'accept: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"model": "jina-reranker-v1-base-en",
"query": "Organic skincare products for sensitive skin",
"documents": [
"Eco-friendly kitchenware for modern homes",
"Biodegradable cleaning supplies for eco-conscious consumers",
"Organic cotton baby clothes for sensitive skin",
"Natural organic skincare range for sensitive skin",
"Tech gadgets for smart homes: 2024 edition",
"Sustainable gardening tools and compost solutions",
"Sensitive skin-friendly facial cleansers and toners",
"Organic food wraps and storage solutions",
"All-natural pet food for dogs with allergies",
"Yoga mats made from recycled materials"
],
"top_n": 3
}'
В этом примере документы охватывают широкий спектр от товаров для дома до технических гаджетов, одежды и даже корма для животных, демонстрируя широкий ассортимент продуктов, которые можно найти на сайте электронной коммерции. Такое разнообразие требует от переранжировщика эффективно определять и приоритезировать элементы, наиболее релевантные запросу о "Органических продуктах для ухода за чувствительной кожей", несмотря на наличие других органических, экологичных или подходящих для чувствительной кожи продуктов в разных категориях. Ответ представляет собой JSON-объект следующего вида:
{
"model": "jina-reranker-v1-base-en",
"usage": {
"total_tokens": 38,
"prompt_tokens": 38
},
"results": [
{
"index": 3,
"document": {
"text": "Natural organic skincare range for sensitive skin"
},
"relevance_score": 0.8292155861854553
},
{
"index": 2,
"document": {
"text": "Organic cotton baby clothes for sensitive skin"
},
"relevance_score": 0.14426936209201813
},
{
"index": 6,
"document": {
"text": "Sensitive skin-friendly facial cleansers and toners"
},
"relevance_score": 0.13857832551002502
}
]
}
tagВысокая производительность Jina Reranker
Мы оценили Jina Reranker по четырем ключевым бенчмаркам, чтобы обеспечить высочайшую производительность и релевантность поиска. Высокие показатели в этих бенчмарках напрямую переводятся в лучшую точность, релевантность и контекстуальное понимание в приложениях поиска и извлечения.
Для сравнения мы включили три других ведущих переранжировщика от BGE (BAAI), BCE (Netease Youdao) и Cohere в бенчмарк. Как показывают результаты ниже, Jina Reranker имеет наивысший средний балл во всех релевантных категориях для переранжирования, что делает его явным лидером среди конкурентов.
tagБенчмарк 1: LlamaIndex RAG
Эталонное исследование, проведенное LlamaIndex (которое мы воспроизвели), оценивало комбинацию различных моделей embedding и ранжирования в задачах RAG. Оно объединяет два показателя - Hit-rate (вероятность того, что релевантный документ будет найден моделью embedding) и Mean Reciprocal Rank (MRR - насколько высоко модель ранжирования размещает наиболее релевантный документ).
No Reranker | jina-reranker | bge-reranker-base | bce-reranker-base_v1 | cohere-reranker | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Embedding model | Hit Rate | MRR | Hit Rate | MRR | Hit Rate | MRR | Hit Rate | MRR | Hit Rate | MRR |
jina-embeddings-v2-base-en | 0.8053 | 0.5156 | 0.8737 | 0.7229 | 0.8368 | 0.6568 | 0.8737 | 0.7007 | 0.8842 | 0.7008 |
bge-base-en-v1.5 | 0.7842 | 0.5183 | 0.8368 | 0.6895 | 0.8158 | 0.6586 | 0.8316 | 0.6843 | 0.8368 | 0.6739 |
bce-embedding-base_v1 | 0.8526 | 0.5988 | 0.8895 | 0.7346 | 0.8684 | 0.6927 | 0.9157 | 0.7379 | 0.9158 | 0.7296 |
CohereV3-en | 0.7211 | 0.4900 | 0.8211 | 0.6894 | 0.8000 | 0.6285 | 0.8263 | 0.6855 | 0.8316 | 0.6710 |
Average | 0.7908 | 0.5307 | 0.8553 | 0.7091 | 0.8303 | 0.6592 | 0.8618 | 0.7021 | 0.8671 | 0.6938 |
Существенное улучшение по сравнению с простым косинусным сходством
Улучшение, которое Jina Reranker привносит в показатели Hit Rate и Mean Reciprocal Rank (MRR), значительно. В среднем внедрение Jina Reranker повышает Hit Rate с 0.7908 до 0.8553 (+7.9%), а MRR с 0.5307 до 0.7091 (+33.7%). Это демонстрирует способность ранжировщика существенно повышать точность и релевантность результатов поиска, обеспечивая пользователям более высокую вероятность нахождения искомой информации с большей точностью.
Агностицизм к embedding-моделям
Производительность Jina Reranker с разными embedding-моделями дополнительно иллюстрирует его модельно-агностическую природу. Независимо от того, используется ли он в паре с jina-embeddings-v2-base-en, bge-base-en-v1.5
, bce-embedding-base_v1
или CohereV3-en
, Jina Reranker стабильно улучшает показатели Hit Rate и MRR. Эта универсальность делает его незаменимым инструментом для широкого спектра приложений, подтверждая его адаптивность к различным базовым технологиям и сценариям использования.
tagТест 2: BEIR
BIER (Benchmarking IR) оценивает эффективность поиска модели, включая релевантность и NDCG. Более высокий показатель BIER коррелирует с более точными совпадениями и ранжированием результатов поиска.
Dataset | jina-reranker | bge-reranker-base | bce-reranker-base-v1 | cohere-rerank-english-v2.0 |
---|---|---|---|---|
NQ | 0.5951 | 0.5457 | 0.5186 | 0.6004 |
HotpotQA | 0.7447 | 0.7766 | 0.7392 | 0.7202 |
FiQA-2018 | 0.3981 | 0.3228 | 0.3262 | 0.4387 |
CQADupstack | 0.4077 | 0.3516 | 0.3594 | 0.3829 |
Quora | 0.8792 | 0.7001 | 0.8390 | 0.6433 |
FEVER | 0.8707 | 0.8961 | 0.7203 | 0.8265 |
Climate-FEVER | 0.2570 | 0.3399 | 0.2171 | 0.2038 |
TREC-COVID | 0.8523 | 0.7121 | 0.7364 | 0.8419 |
NFCorpus | 0.3809 | 0.3308 | 0.3534 | 0.3673 |
ArguAna | 0.5938 | 0.2620 | 0.3856 | 0.3040 |
Touche-2020 | 0.3065 | 0.2965 | 0.2533 | 0.3052 |
DBPedia | 0.4387 | 0.4196 | 0.4069 | 0.4236 |
SciFact | 0.7549 | 0.7104 | 0.7021 | 0.7379 |
SCIDOCS | 0.1983 | 0.1540 | 0.1802 | 0.1813 |
MSMarco | 0.7042 | 0.7303 | 0.7155 | 0.7350 |
Average | 0.5588 | 0.5032 | 0.4969 | 0.5141 |
tagТест 3: MTEB
I'll help translate this content, ensuring all technical terms and formatting remain intact:MTEB (Multilingual Text Embedding Benchmark) в целом тестирует способности модели в области текстовых эмбеддингов, включая кластеризацию, классификацию, поиск и другие метрики. Однако для нашего сравнения мы использовали только задачи Reranking из MTEB.
[таблицы оставлены без перевода, так как содержат технические данные]tagБенчмарк 4: LoCo
С помощью бенчмарка LoCo мы измерили понимание моделью локальной согласованности и контекста, а также ранжирование на основе запросов. Более высокий показатель LoCo отражает лучшую способность определять и приоритизировать релевантную информацию.
[таблицы оставлены без перевода, так как содержат технические данные]tagОсновные особенности модели Jina Reranker
Jina Reranker выделяется как лидер в области переранжирования, превосходя ключевых конкурентов от Cohere, BGE и BCE, как показано в предыдущем анализе. Её независимость от эмбеддингов и непревзойдённая эффективность подчёркивают её первенство в отрасли. Более того, Jina Reranker обладает примечательными особенностями, которые выделяют её:
tagДлинный контекст
Jina Reranker выделяется среди других решений для переранжирования возможностью обработки длинных контекстов. Она способна обрабатывать запросы длиной до 512 токенов и документы размером до 8192 токенов. Более того, модель разработана для обработки до 2048 документов-кандидатов для каждого запроса.
[таблица оставлена без перевода, так как содержит технические данные]tagПовышение точности с помощью интеграции RAG
Retrieval Augmented Generation (RAG) значительно повышает точность ответов больших языковых моделей (LLM) путём включения дополнительной контекстно-зависимой информации — например, внутренней базы данных компании — в процесс обработки запросов. Этот метод гарантирует, что ответы LLM твёрдо основаны на предоставленных контекстных данных. Интеграция средств переранжирования с RAG в конвейере информационного поиска открывает путь к разработке высокопроизводительных приложений, способных обеспечивать точный информационный поиск в широком спектре областей.
Рассмотрим, например, ситуацию, когда вы планируете приготовить особое блюдо, используя определённые ингредиенты, которые предпочитают ваши гости. Чтобы упростить эту задачу, вы решаете использовать чатбота, который предлагает рецепты на основе известных кулинарных книг. Изначально, без использования переранжировщика, ваш ввод мог бы выглядеть так:
Context information is below.
---------------------
{Madhur_Jaffrey_An_Invitation_To_Indian_Cooking}
{Julia_Child_Mastering_The_Art_Of_French_Cooking}
{Jiro_Ono_Sushi_Estetica_E_Tecnica}
---------------------
Given the context information and no prior knowledge, answer the query.
Query: Create a recipe using the ingredients below.
---------------------
Salmon
Asparagus
Potatoes
---------------------
Однако использование модели ранжирования позволяет получить более тонкое понимание релевантности документов, дополняя контекст LLM информацией об относительной важности каждой кулинарной книги. Уточненный ввод, подчеркивающий ранжированную релевантность контекста к запросу, может выглядеть следующим образом:
Context information is below.
Note that the context is ranked from most to least relevant to the query.
---------------------
{Julia_Child_Mastering_The_Art_Of_French_Cooking}
{Jiro_Ono_Sushi_Estetica_E_Tecnica}
{Madhur_Jaffrey_An_Invitation_To_Indian_Cooking}
---------------------
Given the context information and no prior knowledge, answer the query.
Query: Create a recipe using the ingredients below.
---------------------
Salmon
Asparagus
Potatoes
---------------------
Этот дополнительный уровень понимания релевантности кулинарных книг к данным ингредиентам делает очевидным, что оптимальный рецепт, вероятно, относится к французской кухне, направляя предложение чат-бота в направлении, которое наилучшим образом соответствует кулинарному контексту ингредиентов. Без ранжирования предложение, основанное на суши, могло бы быть столь же правдоподобным, учитывая prominentность лосося, однако это привело бы к заметно иному гастрономическому опыту.
Более того, определяя количество документов, которые должны учитываться в процессе ранжирования, пользователи могут точно настраивать точность операции и вычислительные требования в соответствии со своими конкретными потребностями, что дополнительно иллюстрирует универсальность и эффективность ранжировщика.
tagДоступные цены API
API Jina Reranker предлагается по тем же ценам, что и наш API для эмбеддингов (включая 1 миллион бесплатных пробных запросов), таких как jina-embeddings-v2-base-en, на основе общего количества токенов в запросах и документах. Квоты на токены можно приобрести на нашей странице Embeddings/Reranker API. Секретный ключ API и квоты на токены можно использовать как для API ранжировщика, так и для API эмбеддингов.
tagСкоро в AWS Marketplace
Расширяя наше присутствие, Jina Reranker будет доступен не только через наш API, но также готовится к выпуску на AWS SageMaker Marketplace для беспрепятственного развертывания в частном облаке. Эта предстоящая доступность направлена на обеспечение улучшенной защиты данных и безопасности приложений в рамках вашей привычной подписки AWS Cloud.
Мы высоко ценим ваши мнения и опыт работы с Jina Reranker. Поговорите с нами на нашем канале Discord, чтобы поделиться своими отзывами и быть в курсе наших последних моделей. Ваш вклад крайне важен, поскольку мы продолжаем совершенствовать наши технологии и вносить вклад в более динамичную и инклюзивную экосистему поискового ИИ.