46.6kЗаказать демоВойтиНачать бесплатно
БААИ

БААИ / bge-reranker-base

Модель кросс-кодера, оптимизированная для задач реранжирования, построенная на основе архитектуры BERT.

Введение в bge-reranker-base

bge-reranker-base - это кросс-кодирующая модель, оптимизированная для задач ранжирования. Построенная на основе архитектуры RetroMAE, она эффективно улавливает семантические связи в текстовых данных, позволяя более точно и релевантно ранжировать результаты поиска. Эта модель генерирует 768-мерные вкрапления и настраивается для ранжирования результатов с учетом содержания запроса и документа, что делает ее очень подходящей для таких приложений, как поисковые системы, ответы на вопросы и поиск документов. Мы рекомендуем использовать/настраивать их для повторного ранжирования топ-к документов, возвращаемых моделями вкраплений.

Для получения дополнительной информации о реранжировании и реранжировщиках читайте следующие блоги.

Как переранжировать результаты с помощью bge-reranker-base

Существует два основных способа использования модели bge-reranker-base для переранжирования результатов:

  • PyMilvus: Python SDK для Milvus, который легко интегрируется с моделью bge-reranker-base.
  • FlagEmbedding: официальный Python SDK, предлагаемый BAAI.

Результаты переранжирования с помощью bge-reranker-base через PyMilvus

из pymilvus.model.reranker import BGERerankFunction

rf = BGERerankFunction(
    model_name="BAAI/bge-reranker-base",
    device="cpu"
)

query = "Какое событие в 1956 году ознаменовало официальное рождение искусственного интеллекта как дисциплины?"

документы = [
    "В 1950 году Алан Тьюринг опубликовал свою фундаментальную работу "Вычислительная техника и интеллект", в которой предложил тест Тьюринга в качестве критерия интеллекта, что стало основополагающей концепцией в философии и развитии искусственного интеллекта.
    "Конференция в Дартмуте в 1956 году считается местом рождения искусственного интеллекта как области; здесь Джон Маккарти и другие придумали термин "искусственный интеллект" и сформулировали его основные цели",
    "В 1951 году британский математик и компьютерщик Алан Тьюринг также разработал первую программу, предназначенную для игры в шахматы, продемонстрировав ранний пример ИИ в игровой стратегии",
    "Изобретение теоретика логики Алленом Ньюэллом, Гербертом А. Саймоном и Клиффом Шоу в 1955 году ознаменовало создание первой настоящей программы ИИ, которая была способна решать логические задачи, сродни доказательству математических теорем."
]

results = rf(
    query=query,
    documents=documents,
    top_k=3,
)

Для получения дополнительной информации обратитесь к Документации PyMilvus.

Результаты переранжирования с помощью bge-reranker-base через FlagEmbedding Python SDK.

from FlagEmbedding import FlagReranker
reranker = FlagReranker('BAAI/bge-reranker-base', use_fp16=True)

query = "Какое событие в 1956 году ознаменовало официальное рождение искусственного интеллекта как дисциплины?"

документы = [
    "В 1950 году Алан Тьюринг опубликовал свою фундаментальную работу "Вычислительная техника и интеллект", в которой предложил тест Тьюринга в качестве критерия интеллекта, что стало основополагающей концепцией в философии и развитии искусственного интеллекта",
    "Конференция в Дартмуте в 1956 году считается местом рождения искусственного интеллекта как области; здесь Джон Маккарти и другие придумали термин "искусственный интеллект" и сформулировали его основные цели",
    "В 1951 году британский математик и компьютерщик Алан Тьюринг также разработал первую программу, предназначенную для игры в шахматы, продемонстрировав ранний пример ИИ в игровой стратегии",
    "Изобретение теоретика логики Алленом Ньюэллом, Гербертом А. Саймоном и Клиффом Шоу в 1955 году ознаменовало создание первой настоящей программы ИИ, которая была способна решать логические задачи, сродни доказательству математических теорем."
]
results = reranker.compute_score([[query, document] for document in documents])