Новости
Модели
Продукты
keyboard_arrow_down
Читатель
Читайте URL-адреса и ищите информацию в Интернете для получения более подходящей подготовки для получения степени магистра права.
Вложения
Мультимодальные многоязычные вложения мирового класса.
Реранкер
Нейронный ретривер мирового класса для максимального повышения релевантности поиска.
Глубокий поиск
Ищите, читайте и рассуждайте, пока не найдете лучший ответ.
Более
keyboard_arrow_down
Классификатор
Классификация изображений и текста по нулевому и небольшому количеству кадров.
Сегментатор
Разрежьте длинный текст на куски и выполните токенизацию.

MCP-сервер
Добавьте mcp.jina.ai в качестве сервера MCP для доступа к нашему API в LLM.
open_in_new
API-документы
Автоматическая генерация кода для вашего второго пилота IDE или LLM
open_in_new


Компания
keyboard_arrow_down
О нас
Связаться с отделом продаж
Стажерская программа
Присоединяйтесь к нам
open_in_new
Скачать логотип
open_in_new
Условия использования


Авторизоваться
login
Нейронное переранжирование, независимое от способа поиска
Почему Jina Reranker?
Добавьте Jina Reranker в свой существующий рабочий процесс:
Посмотрите в действии: улучшение поиска в e-commerce с помощью Jina Reranker
Pipeline #1: Только BM25
Pipeline #2: BM25 + Jina Reranker
Влияние интеграции Jina Reranker с BM25
Готовы улучшить ваш поисковый опыт?
Технический блог
апрель 24, 2024

Два в одном: комбинирование BM25 с AI-ранжированием результатов

Узнайте, как интегрировать Jina Reranker с лексическими поисковыми движками, чтобы использовать преимущества улучшенного семантического понимания, избегая при этом недостатков миграции на полноценную инфраструктуру векторного поиска.
Black background embellished with binary code, featuring a central tech-inspired emblem with multicolored dots, BM25 tag, con
Yuting Zhang
Francesco Kruk
Yuting Zhang, Francesco Kruk • 6 минуты чтения

Важно идти в ногу с новыми технологиями информационного поиска, но не менее важно не нарушать работу компонентов, которые уже проверены временем и доказали свою бизнес-ценность.

Несмотря на рост векторного поиска на основе ИИ, в реальности большинство компаний все еще полагаются на традиционные технологии поиска, часто используя варианты алгоритма BM25. Это надежная и проверенная временем технология. Переход на совершенно новую систему — это не только серьезный шаг, он часто оказывается непрактичным, требуя существенных ресурсов и полной перестройки операций. Кроме того, BM25 является краеугольным камнем лексических поисковых систем, широко используемых в таких популярных поисковых платформах, как Elasticsearch и Solr. Он уже обеспечивает хорошие результаты для многих случаев использования.

Поэтому многие компании не решаются полностью перейти на нейронный поиск, несмотря на убедительные доказательства того, что поиск на основе ИИ значительно повышает удовлетворенность пользователей и качество результатов.

tagНейронное переранжирование, независимое от способа поиска

Reranker — это революционное дополнение к ландшафту поисковых систем. Разработанный для улучшения существующих поисковых систем, таких как Elasticsearch, он служит дополнительным слоем, работающим как надстройка для повышения качества поиска. Ему не нужно знать, с какой поисковой технологией он связан, он просто берет список совпадений и переупорядочивает их для улучшения результатов.

Jina Reranker добавляет более глубокий уровень понимания к традиционным технологиям поиска. Алгоритмы вроде BM25 хорошо справляются с поиском документов на основе частоты терминов, но им сложно оценивать смысл извлекаемых текстов в свете намерений пользователя. Именно здесь преуспевает ИИ: Reranker помогает получать результаты, которые лучше соответствуют тому, что ищут пользователи.

Поэтому для бизнеса, который хочет привнести мощные преимущества ИИ-моделей в свои поисковые системы, добавление Jina Reranker может быть мудрым решением, не требующим замены существующей поисковой инфраструктуры. Речь идет об улучшении результатов поиска, чтобы сделать их не просто приемлемыми, а исключительными: более релевантными и точными.

tagПочему Jina Reranker?

Среди моделей переранжирования модели Jina Reranker выделяются как лидеры с передовыми показателями в тестах производительности.

Maximizing Search Relevance and RAG Accuracy with Jina Reranker
Boost your search and RAG accuracy with Jina Reranker. Our new model improves the accuracy and relevance by 20% over simple vector search. Try it now for free!

В этой статье мы покажем, как реализовать систему рекомендаций для платформ электронной коммерции. Сначала мы проанализируем работу поиска на основе BM25 отдельно. Затем мы добавим Jina Reranker в конвейер поиска и посмотрим, как результаты станут более релевантными и эффективными.

💡
Вы можете следовать примеру в Colab или скачав блокнот.

tagДобавьте Jina Reranker в свой существующий рабочий процесс:

Screenshot 2024-04-08 at 11.44.21

Вот разбор обновленного рабочего процесса с интеграцией Jina Reranker:

  • Начальный поиск: Когда вводится запрос, поисковая система BM25 извлекает релевантные документы, в основном сопоставляя термины запроса с документами.
  • Переранжирование: jina-reranker-v1-base-en берет эти начальные результаты и использует современный ИИ для оценки релевантности каждого найденного документа с учетом запроса пользователя.
  • Возврат результатов: Затем Jina Reranker переупорядочивает результаты поиска, обеспечивая отображение наиболее релевантных документов в начале списка.

Наш простой в использовании API и подробная документация проведут вас через весь процесс, требуя минимальных изменений в вашей системе.

Reranker API
Maximize the search relevancy and RAG accuracy at ease

tagПосмотрите в действии: улучшение поиска в e-commerce с помощью Jina Reranker

BM25+Rerank dark (1)
Запрос проходит через BM25, и найденные документы уточняются с помощью Jina Reranker.

Давайте рассмотрим практический пример электронной коммерции, чтобы продемонстрировать влияние Jina Reranker в реальных приложениях. Цель здесь — поиск товаров на основе запроса пользователя.

Для иллюстрации мы настроим два конвейера поиска, используя популярный фреймворк поиска и оркестрации ИИ Haystack от deepset. Первый конвейер использует только BM25. Второй интегрирует jina-reranker-v1-base-en в систему BM25. Вы можете легко заменить компонент InMemoryDocumentStore от Haystack на ElasticsearchDocumentStore, чтобы провести такой же эксперимент, если у вас есть существующий кластер Elasticsearch.

Мы будем использовать набор данных с Kaggle. Вы можете напрямую скачать CSV-файл здесь. Это сравнение наглядно демонстрирует улучшения, достигаемые при включении Jina Reranker в процесс поиска.

Для начала установите все необходимые компоненты:

pip install --q haystack-ai jina-haystack

Установите ключ API Jina как переменную окружения. Вы можете сгенерировать его здесь.

import os
import getpass

os.environ["JINA_API_KEY"] = getpass.getpass()

Выполните поиск товара по названиям продуктов. Например:

short_query = "Nightwear for Women"

Преобразуйте каждую строку CSV в Document:

import csv
from haystack import Document

documents = []
with open("fashion_data.csv") as f:
    data = csv.reader(f, delimiter=";")
    for row in data:
      row_text = ''.join(row)
      row_doc = Document(content=row_text, meta={"prod_id": row[0], "prod_image": row[1]})
      documents.append(row_doc)

tagPipeline #1: Только BM25

from haystack import Pipeline
from haystack.document_stores.types import DuplicatePolicy
from haystack.document_stores.in_memory import InMemoryDocumentStore
from haystack.components.retrievers.in_memory import InMemoryBM25Retriever

document_store=InMemoryDocumentStore()
document_store.write_documents(documents=documents, policy=DuplicatePolicy.OVERWRITE)

retriever = InMemoryBM25Retriever(document_store=document_store)

rag_pipeline = Pipeline()
rag_pipeline.add_component("retriever", retriever)
result = rag_pipeline.run(
            {
                "retriever": {"query": query, "top_k": 50},
            }
        )

for doc in result["retriever"]["documents"]:
    print("Product ID:", doc.meta["prod_id"])
    print("Product Image:", doc.meta["prod_image"])
    print("Score:", doc.score)
    print("-"*100)

Вот миниатюры 50 результатов, возвращенных BM25:

image

Мы видим, что результаты связаны с ночной одеждой, частично соответствуя запросу, но наиболее релевантные совпадения (выделенные жирным изображения в сетке выше) теряются среди множества товаров, найденных BM25. На практике использование только BM25 означает, что пользователь будет получать в основном нерелевантные результаты в начале страницы.

tagPipeline #2: BM25 + Jina Reranker

Скрипт ниже описывает, как построить этот pipeline пошагово:

from haystack_integrations.components.rankers.jina import JinaRanker

ranker_retriever = InMemoryBM25Retriever(document_store=document_store)

ranker = JinaRanker()

ranker_pipeline = Pipeline()
ranker_pipeline.add_component("ranker_retriever", ranker_retriever)
ranker_pipeline.add_component("ranker", ranker)

ranker_pipeline.connect("ranker_retriever.documents", "ranker.documents")
result = ranker_pipeline.run(
            {
                "ranker_retriever": {"query": query, "top_k": 50},
                "ranker": {"query": query, "top_k": 10},
            }
        )

for doc in result["ranker"]["documents"]:
    print("Product ID:", doc.meta["prod_id"])
    print("Product Image:", doc.meta["prod_image"])
    print("Score:", doc.score)
    print("-"*100)

Вот топ-10 результатов, возвращенных Jina Reranker:

image

По сравнению с BM25, Jina Reranker возвращает гораздо более релевантную подборку ответов. В нашем случае с электронной коммерцией это приводит к улучшению пользовательского опыта и повышению вероятности покупок.

tagВлияние интеграции Jina Reranker с BM25

После нашего анализа в сфере электронной коммерции очевидно, что интеграция Jina Reranker с традиционными поисковыми системами, такими как Elasticsearch, знаменует значительный прорыв в технологии поиска. Вот обзор того, как эта интеграция улучшает поисковый опыт:

  • Повышенные показатели попаданий: Объединение Jina Reranker и традиционного поиска заметно увеличило частоту релевантных результатов. Это делает процесс поиска более точным, лучше соответствующим запросам пользователей.
  • Улучшенный пользовательский опыт: Наблюдается ощутимое улучшение качества результатов поиска. Это показывает, что совместные возможности Jina Reranker и BM25 лучше соответствуют конкретным потребностям пользователей, улучшая их общий поисковый опыт.
  • Высокая точность для сложных запросов: Когда дело доходит до сложных поисков, это взаимодействие обеспечивает более глубокое понимание как запроса, так и связанного контента. Это приводит к более четким и точным результатам.

tagГотовы улучшить ваш поисковый опыт?

Jina Reranker — это идеальное решение для повышения релевантности ваших результатов поиска. Он легко интегрируется с вашей существующей поисковой системой и может быть внедрен быстро с минимальным кодированием.

Если вас заинтересовало прочитанное и вы хотите увидеть, какую разницу может внести Jina Reranker, почему бы не попробовать? Начните свой путь и убедитесь в преобразующей силе базовых поисковых моделей Jina AI в вашей собственной среде.

Категории:
Технический блог
rss_feed
Офисы
location_on
Саннивейл, Калифорния
710 Lakeway Dr, Ste 200, Саннивейл, Калифорния 94085, США
location_on
Берлин, Германия (штаб-квартира)
Prinzessinnenstraße 19-20, 10969 Берлин, Германия
location_on
Пекин, Китай
Уровень 5, здание 6, ул. Хайдянь Вест, д. 48, Пекин, Китай
location_on
Шэньчжэнь, Китай
402, этаж 4, здание Fu'an Technology, Шэньчжэнь, Китай
Поиск Фонда
Читатель
Вложения
Реранкер
Глубокий поиск
Классификатор
Сегментатор
API-документация
Получить API-ключ Jina
Ограничение скорости
Статус API
Компания
О нас
Связаться с отделом продаж
отдел новостей
Стажерская программа
Присоединяйтесь к нам
open_in_new
Скачать логотип
open_in_new
Условия
Безопасность
Условия использования
Конфиденциальность
Управление файлами cookie
email
Jina AI © 2020-2025.