{
  "aboutHtml": "<p>Voyage rerank-3 — текстовый реранкер, предназначенный для повышения качества найденных доказательных материалов. Получив запрос и список документов-кандидатов, он совместно рассматривает каждую пару и возвращает кандидатов в порядке релевантности. Эмбеддинги и ключевой поиск сначала могут сузить большую коллекцию до обозримого списка; затем rerank-3 более подробно оценивает его релевантность. На выходе приложение получает поисковые материалы с оценками, которые можно показать или передать отдельному этапу генерации ответа.</p><p>Rerank 3 с приоритетом качества Разработчик позиционирует rerank-3 как редакцию с приоритетом точности, а rerank-3-lite — как редакцию для поиска, чувствительного к задержке. Третье поколение обновляет базовую архитектуру и состав обучающих данных, особенно улучшая поиск по длинным документам и исходному коду по сравнению с соответствующими предшественниками 2.5. Разработчик оценивает модель на технической документации, коде, многоязычных материалах и других типах документов. Эти результаты подтверждают её поисковую роль; выбирайте редакцию на вопросах и документах-кандидатах, значимых для вашей коллекции.</p><p>Длинные документы с достаточным контекстом Длинный кандидат может содержать полезный контекст далеко за первым абзацем. Предоставьте связный раздел или документ с названием и важными окружающими материалами, чтобы модель могла оценить связь фактического вопроса с содержанием. Для поиска по правилам продукта сохраните заголовки и исключения вокруг нужного фрагмента. Если несколько найденных разделов относятся к одному источнику, сохраните идентификаторы документа и разделов; тогда приложение сможет показать происхождение выбранных доказательств.</p><p>Окно контекста делят запрос и каждый кандидат. Текущее руководство разработчика указывает 32 000 токенов для такой пары, включая запрос не длиннее 8000 токенов. Поэтому запрос на 3000 токенов оставляет каждому документу максимум 29 000 токенов. Подготавливайте ввод так, чтобы существенное содержание помещалось, особенно если длинное вступление или повторяющийся шаблонный текст иначе займут окно. Документированная опция усечения включена по умолчанию и может сокращать слишком длинный запрос или документ до оценки. Проверяйте сохранённый текст, когда важно расположение фрагмента.</p><p>Поиск кода и технических материалов На поисковом этапе помощника по программированию кандидаты могут содержать реализации функций, документацию API или технические объяснения в текстовом виде. Включите символы, сигнатуры и контекст, необходимые для различения похожих кандидатов. Запрос вроде «Найди функцию, которая нормализует пути, сохраняя завершающий разделитель» задаёт конкретное поведение для сопоставления. Добавьте значимые ограничения языка, платформы или версии. После ранжирования изучите выбранный код и его зависимости до использования в качестве контекста: оценка релевантности не доказывает соблюдение реализацией каждого заявленного требования.</p><p>Инструкции определяют релевантность Модель сохраняет возможность ранжирования по инструкциям, введённую в Rerank 2.5. Добавьте краткую инструкцию до или после запроса, если намерение пользователя требует уточнения. Для поиска по исследовательским документам объясните, что важнее: название, конкретный метод или область применения. Для внутреннего каталога укажите, касается ли запрос установки, устранения неполадок или совместимости. Согласуйте инструкцию с вопросом: дополнительные предпочтения, противоречащие основному запросу, могут изменить цель оптимизации ранжирования.</p><p>Подготовка документов-кандидатов и бюджетов На вход подаётся список текстовых строк. Извлеките пригодный текст из исходных документов, сохраните осмысленные границы разделов и упорядоченную карту записей рядом со списком. Разработчик допускает до 1000 документов в одном запросе. Он также устанавливает суммарный потолок ввода в 600 000 токенов: число токенов запроса, умноженное на число документов, плюс сумма всех токенов документов. Это отличается от ограничения контекста отдельной пары. Сокращение избыточного текста запроса сохраняет и ёмкость пары, и общий бюджет запроса.</p><p>Подсчитывайте токены для соответствующей модели, не предполагая, что число слов или символов равно числу токенов. Для больших кандидатов выбирайте связные фрагменты или делите материал по полезным заголовкам, сохраняя сведения о родительском источнике. Повторное ранжирование полезнее всего, когда первый поиск уже нашёл правдоподобных кандидатов: оно не может ранжировать отсутствующий источник, не попавший в список.</p><p>Ранжированные результаты и дальнейшее использование Результат содержит оценки релевантности и индексы исходных входных документов, отсортированные по убыванию релевантности. Опция top_k ограничивает число возвращаемых ранжированных результатов; иначе возвращаются все входные кандидаты. REST-интерфейс разработчика также позволяет включить текст документа. Используйте исходный индекс для восстановления названия, идентификатора источника и метаданных, нужных приложению, затем покажите выбранные элементы или поместите нужный текст в контекст доказательств для ответа.</p><p>Сверяйте первые результаты с вопросом и сохраняйте видимую идентичность источника. Высокое относительное место не проверяет фактическую точность документа, а список из одних слабых кандидатов всё равно имеет первый элемент. Разделяйте отбор по релевантности и решение о достаточности выбранных доказательств для ответа пользователю.</p><p>Переход между редакциями Разработчик описывает rerank-3 как прямую замену rerank-2.5 с той же семантикой API и оценками, откалиброванными под распределение соответствующего предшественника. Такая совместимость позволяет сохранить существующий этап поиска и соответствие записей. Прежде чем полагаться на переход, сравните значимые порядки результатов и пороги оценок на текущем корпусе. Сохраняйте rerank-3 и rerank-3-lite как разные варианты: общие ограничения и следование инструкциям не делают их приоритеты качества и задержки одинаковыми.</p>",
  "aboutText": "Voyage rerank-3 — текстовый реранкер, предназначенный для повышения качества найденных доказательных материалов. Получив запрос и список документов-кандидатов, он совместно рассматривает каждую пару и возвращает кандидатов в порядке релевантности. Эмбеддинги и ключевой поиск сначала могут сузить большую коллекцию до обозримого списка; затем rerank-3 более подробно оценивает его релевантность. На выходе приложение получает поисковые материалы с оценками, которые можно показать или передать отдельному этапу генерации ответа.\n\nRerank 3 с приоритетом качества\nРазработчик позиционирует rerank-3 как редакцию с приоритетом точности, а rerank-3-lite — как редакцию для поиска, чувствительного к задержке. Третье поколение обновляет базовую архитектуру и состав обучающих данных, особенно улучшая поиск по длинным документам и исходному коду по сравнению с соответствующими предшественниками 2.5. Разработчик оценивает модель на технической документации, коде, многоязычных материалах и других типах документов. Эти результаты подтверждают её поисковую роль; выбирайте редакцию на вопросах и документах-кандидатах, значимых для вашей коллекции.\n\nДлинные документы с достаточным контекстом\nДлинный кандидат может содержать полезный контекст далеко за первым абзацем. Предоставьте связный раздел или документ с названием и важными окружающими материалами, чтобы модель могла оценить связь фактического вопроса с содержанием. Для поиска по правилам продукта сохраните заголовки и исключения вокруг нужного фрагмента. Если несколько найденных разделов относятся к одному источнику, сохраните идентификаторы документа и разделов; тогда приложение сможет показать происхождение выбранных доказательств.\n\nОкно контекста делят запрос и каждый кандидат. Текущее руководство разработчика указывает 32 000 токенов для такой пары, включая запрос не длиннее 8000 токенов. Поэтому запрос на 3000 токенов оставляет каждому документу максимум 29 000 токенов. Подготавливайте ввод так, чтобы существенное содержание помещалось, особенно если длинное вступление или повторяющийся шаблонный текст иначе займут окно. Документированная опция усечения включена по умолчанию и может сокращать слишком длинный запрос или документ до оценки. Проверяйте сохранённый текст, когда важно расположение фрагмента.\n\nПоиск кода и технических материалов\nНа поисковом этапе помощника по программированию кандидаты могут содержать реализации функций, документацию API или технические объяснения в текстовом виде. Включите символы, сигнатуры и контекст, необходимые для различения похожих кандидатов. Запрос вроде «Найди функцию, которая нормализует пути, сохраняя завершающий разделитель» задаёт конкретное поведение для сопоставления. Добавьте значимые ограничения языка, платформы или версии. После ранжирования изучите выбранный код и его зависимости до использования в качестве контекста: оценка релевантности не доказывает соблюдение реализацией каждого заявленного требования.\n\nИнструкции определяют релевантность\nМодель сохраняет возможность ранжирования по инструкциям, введённую в Rerank 2.5. Добавьте краткую инструкцию до или после запроса, если намерение пользователя требует уточнения. Для поиска по исследовательским документам объясните, что важнее: название, конкретный метод или область применения. Для внутреннего каталога укажите, касается ли запрос установки, устранения неполадок или совместимости. Согласуйте инструкцию с вопросом: дополнительные предпочтения, противоречащие основному запросу, могут изменить цель оптимизации ранжирования.\n\nПодготовка документов-кандидатов и бюджетов\nНа вход подаётся список текстовых строк. Извлеките пригодный текст из исходных документов, сохраните осмысленные границы разделов и упорядоченную карту записей рядом со списком. Разработчик допускает до 1000 документов в одном запросе. Он также устанавливает суммарный потолок ввода в 600 000 токенов: число токенов запроса, умноженное на число документов, плюс сумма всех токенов документов. Это отличается от ограничения контекста отдельной пары. Сокращение избыточного текста запроса сохраняет и ёмкость пары, и общий бюджет запроса.\n\nПодсчитывайте токены для соответствующей модели, не предполагая, что число слов или символов равно числу токенов. Для больших кандидатов выбирайте связные фрагменты или делите материал по полезным заголовкам, сохраняя сведения о родительском источнике. Повторное ранжирование полезнее всего, когда первый поиск уже нашёл правдоподобных кандидатов: оно не может ранжировать отсутствующий источник, не попавший в список.\n\nРанжированные результаты и дальнейшее использование\nРезультат содержит оценки релевантности и индексы исходных входных документов, отсортированные по убыванию релевантности. Опция top_k ограничивает число возвращаемых ранжированных результатов; иначе возвращаются все входные кандидаты. REST-интерфейс разработчика также позволяет включить текст документа. Используйте исходный индекс для восстановления названия, идентификатора источника и метаданных, нужных приложению, затем покажите выбранные элементы или поместите нужный текст в контекст доказательств для ответа.\n\nСверяйте первые результаты с вопросом и сохраняйте видимую идентичность источника. Высокое относительное место не проверяет фактическую точность документа, а список из одних слабых кандидатов всё равно имеет первый элемент. Разделяйте отбор по релевантности и решение о достаточности выбранных доказательств для ответа пользователю.\n\nПереход между редакциями\nРазработчик описывает rerank-3 как прямую замену rerank-2.5 с той же семантикой API и оценками, откалиброванными под распределение соответствующего предшественника. Такая совместимость позволяет сохранить существующий этап поиска и соответствие записей. Прежде чем полагаться на переход, сравните значимые порядки результатов и пороги оценок на текущем корпусе. Сохраняйте rerank-3 и rerank-3-lite как разные варианты: общие ограничения и следование инструкциям не делают их приоритеты качества и задержки одинаковыми.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "e33ba5a8fc9672b91470a34746ff48b5f3a1c53309dc05bd3ea734cf4274a8df",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ru",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">VoyageAI by MongoDB: rerank-3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Закрыть\">×</button></div><div class=\"idline\"><span>VoyageAI by MongoDB /</span><code>voyageai/rerank-3</code><button type=\"button\" id=\"copy-id\">Скопировать ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Разделы карточки модели\"><button type=\"button\" data-card-jump=\"overview\">Начало</button><button type=\"button\" data-card-jump=\"methods\">Входные данные и методы</button><button type=\"button\" data-card-jump=\"pricing\">Тарифы</button><button type=\"button\" data-card-jump=\"examples\">Примеры</button><button type=\"button\" data-card-jump=\"results\">Результаты</button><button type=\"button\" data-card-jump=\"aliases\">Псевдонимы</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Методы API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|rerank|/v1/rerank|voyageai%2Frerank-3\">Переранжирование</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Начало</h3><p class=\"mdesc-full\">Voyage rerank-3 — редакция Rerank 3 с приоритетом качества для оценки релевантности пары «запрос — документ». Она переупорядочивает найденные текстовые кандидаты, поддерживает инструкции о релевантности на естественном языке и пары до 32 000 токенов для поиска по длинным документам, коду и базам знаний.</p><dl class=\"card-io\" data-card-io><div><dt>Допустимые входные данные</dt><dd>Текст</dd></div><div><dt>Результаты</dt><dd>Ранжированные результаты</dd></div></dl><details class=\"card-about\"><summary>О модели</summary><p class=\"note-s\" data-model-method-boundary>Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.</p><div class=\"mabout\" id=\"m-about\"><p>Voyage rerank-3 — текстовый реранкер, предназначенный для повышения качества найденных доказательных материалов. Получив запрос и список документов-кандидатов, он совместно рассматривает каждую пару и возвращает кандидатов в порядке релевантности. Эмбеддинги и ключевой поиск сначала могут сузить большую коллекцию до обозримого списка; затем rerank-3 более подробно оценивает его релевантность. На выходе приложение получает поисковые материалы с оценками, которые можно показать или передать отдельному этапу генерации ответа.</p><p>Rerank 3 с приоритетом качества Разработчик позиционирует rerank-3 как редакцию с приоритетом точности, а rerank-3-lite — как редакцию для поиска, чувствительного к задержке. Третье поколение обновляет базовую архитектуру и состав обучающих данных, особенно улучшая поиск по длинным документам и исходному коду по сравнению с соответствующими предшественниками 2.5. Разработчик оценивает модель на технической документации, коде, многоязычных материалах и других типах документов. Эти результаты подтверждают её поисковую роль; выбирайте редакцию на вопросах и документах-кандидатах, значимых для вашей коллекции.</p><p>Длинные документы с достаточным контекстом Длинный кандидат может содержать полезный контекст далеко за первым абзацем. Предоставьте связный раздел или документ с названием и важными окружающими материалами, чтобы модель могла оценить связь фактического вопроса с содержанием. Для поиска по правилам продукта сохраните заголовки и исключения вокруг нужного фрагмента. Если несколько найденных разделов относятся к одному источнику, сохраните идентификаторы документа и разделов; тогда приложение сможет показать происхождение выбранных доказательств.</p><p>Окно контекста делят запрос и каждый кандидат. Текущее руководство разработчика указывает 32 000 токенов для такой пары, включая запрос не длиннее 8000 токенов. Поэтому запрос на 3000 токенов оставляет каждому документу максимум 29 000 токенов. Подготавливайте ввод так, чтобы существенное содержание помещалось, особенно если длинное вступление или повторяющийся шаблонный текст иначе займут окно. Документированная опция усечения включена по умолчанию и может сокращать слишком длинный запрос или документ до оценки. Проверяйте сохранённый текст, когда важно расположение фрагмента.</p><p>Поиск кода и технических материалов На поисковом этапе помощника по программированию кандидаты могут содержать реализации функций, документацию API или технические объяснения в текстовом виде. Включите символы, сигнатуры и контекст, необходимые для различения похожих кандидатов. Запрос вроде «Найди функцию, которая нормализует пути, сохраняя завершающий разделитель» задаёт конкретное поведение для сопоставления. Добавьте значимые ограничения языка, платформы или версии. После ранжирования изучите выбранный код и его зависимости до использования в качестве контекста: оценка релевантности не доказывает соблюдение реализацией каждого заявленного требования.</p><p>Инструкции определяют релевантность Модель сохраняет возможность ранжирования по инструкциям, введённую в Rerank 2.5. Добавьте краткую инструкцию до или после запроса, если намерение пользователя требует уточнения. Для поиска по исследовательским документам объясните, что важнее: название, конкретный метод или область применения. Для внутреннего каталога укажите, касается ли запрос установки, устранения неполадок или совместимости. Согласуйте инструкцию с вопросом: дополнительные предпочтения, противоречащие основному запросу, могут изменить цель оптимизации ранжирования.</p><p>Подготовка документов-кандидатов и бюджетов На вход подаётся список текстовых строк. Извлеките пригодный текст из исходных документов, сохраните осмысленные границы разделов и упорядоченную карту записей рядом со списком. Разработчик допускает до 1000 документов в одном запросе. Он также устанавливает суммарный потолок ввода в 600 000 токенов: число токенов запроса, умноженное на число документов, плюс сумма всех токенов документов. Это отличается от ограничения контекста отдельной пары. Сокращение избыточного текста запроса сохраняет и ёмкость пары, и общий бюджет запроса.</p><p>Подсчитывайте токены для соответствующей модели, не предполагая, что число слов или символов равно числу токенов. Для больших кандидатов выбирайте связные фрагменты или делите материал по полезным заголовкам, сохраняя сведения о родительском источнике. Повторное ранжирование полезнее всего, когда первый поиск уже нашёл правдоподобных кандидатов: оно не может ранжировать отсутствующий источник, не попавший в список.</p><p>Ранжированные результаты и дальнейшее использование Результат содержит оценки релевантности и индексы исходных входных документов, отсортированные по убыванию релевантности. Опция top_k ограничивает число возвращаемых ранжированных результатов; иначе возвращаются все входные кандидаты. REST-интерфейс разработчика также позволяет включить текст документа. Используйте исходный индекс для восстановления названия, идентификатора источника и метаданных, нужных приложению, затем покажите выбранные элементы или поместите нужный текст в контекст доказательств для ответа.</p><p>Сверяйте первые результаты с вопросом и сохраняйте видимую идентичность источника. Высокое относительное место не проверяет фактическую точность документа, а список из одних слабых кандидатов всё равно имеет первый элемент. Разделяйте отбор по релевантности и решение о достаточности выбранных доказательств для ответа пользователю.</p><p>Переход между редакциями Разработчик описывает rerank-3 как прямую замену rerank-2.5 с той же семантикой API и оценками, откалиброванными под распределение соответствующего предшественника. Такая совместимость позволяет сохранить существующий этап поиска и соответствие записей. Прежде чем полагаться на переход, сравните значимые порядки результатов и пороги оценок на текущем корпусе. Сохраняйте rerank-3 и rerank-3-lite как разные варианты: общие ограничения и следование инструкциям не делают их приоритеты качества и задержки одинаковыми.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Доступно в Ailoot · входные данные и методы</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Переранжирование</b> <code>POST /v1/rerank</code></summary><dl class=\"method-capabilities\"><div><dt>Входные данные</dt><dd><code>text</code></dd></div><div><dt>Результат</dt><dd><code>rerank</code></dd></div><div><dt>Выходной формат</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Поле</th><th>Тип</th><th>Требование</th><th>Значения и ограничения</th><th>По умолчанию</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">documents</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span><code>array</code></td><td data-cell-label=\"Требование\"><span class=\"card-cell-label\">Требование</span>Обязательно</td><td data-cell-label=\"Значения и ограничения\"><span class=\"card-cell-label\">Значения и ограничения</span></td><td data-cell-label=\"По умолчанию\" data-default=\"unspecified\"><span class=\"card-cell-label\">По умолчанию</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span><code>string</code></td><td data-cell-label=\"Требование\"><span class=\"card-cell-label\">Требование</span>Обязательно</td><td data-cell-label=\"Значения и ограничения\"><span class=\"card-cell-label\">Значения и ограничения</span><div>voyageai/rerank-3</div></td><td data-cell-label=\"По умолчанию\" data-default=\"unspecified\"><span class=\"card-cell-label\">По умолчанию</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span><code>schema</code></td><td data-cell-label=\"Требование\"><span class=\"card-cell-label\">Требование</span>Необязательно</td><td data-cell-label=\"Значения и ограничения\"><span class=\"card-cell-label\">Значения и ограничения</span></td><td data-cell-label=\"По умолчанию\" data-default=\"unspecified\"><span class=\"card-cell-label\">По умолчанию</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">query</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span><code>string</code></td><td data-cell-label=\"Требование\"><span class=\"card-cell-label\">Требование</span>Обязательно</td><td data-cell-label=\"Значения и ограничения\"><span class=\"card-cell-label\">Значения и ограничения</span></td><td data-cell-label=\"По умолчанию\" data-default=\"unspecified\"><span class=\"card-cell-label\">По умолчанию</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span><code>string</code></td><td data-cell-label=\"Требование\"><span class=\"card-cell-label\">Требование</span>Необязательно</td><td data-cell-label=\"Значения и ограничения\"><span class=\"card-cell-label\">Значения и ограничения</span></td><td data-cell-label=\"По умолчанию\" data-default=\"unspecified\"><span class=\"card-cell-label\">По умолчанию</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">top_n</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span><code>integer</code></td><td data-cell-label=\"Требование\"><span class=\"card-cell-label\">Требование</span>Необязательно</td><td data-cell-label=\"Значения и ограничения\"><span class=\"card-cell-label\">Значения и ограничения</span><div>Минимум: 1</div></td><td data-cell-label=\"По умолчанию\" data-default=\"unspecified\"><span class=\"card-cell-label\">По умолчанию</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span><code>schema</code></td><td data-cell-label=\"Требование\"><span class=\"card-cell-label\">Требование</span>Необязательно</td><td data-cell-label=\"Значения и ограничения\"><span class=\"card-cell-label\">Значения и ограничения</span></td><td data-cell-label=\"По умолчанию\" data-default=\"unspecified\"><span class=\"card-cell-label\">По умолчанию</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span><code>string</code></td><td data-cell-label=\"Требование\"><span class=\"card-cell-label\">Требование</span>Необязательно</td><td data-cell-label=\"Значения и ограничения\"><span class=\"card-cell-label\">Значения и ограничения</span></td><td data-cell-label=\"По умолчанию\" data-default=\"unspecified\"><span class=\"card-cell-label\">По умолчанию</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">documents[].text</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span><code>string</code></td><td data-cell-label=\"Требование\"><span class=\"card-cell-label\">Требование</span>Необязательно</td><td data-cell-label=\"Значения и ограничения\"><span class=\"card-cell-label\">Значения и ограничения</span></td><td data-cell-label=\"По умолчанию\" data-default=\"unspecified\"><span class=\"card-cell-label\">По умолчанию</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">documents[].image</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span><code>string</code></td><td data-cell-label=\"Требование\"><span class=\"card-cell-label\">Требование</span>Необязательно</td><td data-cell-label=\"Значения и ограничения\"><span class=\"card-cell-label\">Значения и ограничения</span></td><td data-cell-label=\"По умолчанию\" data-default=\"unspecified\"><span class=\"card-cell-label\">По умолчанию</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Сочетания входных материалов</summary><p class=\"note-s\"><b>text_rerank</b> · Обязательно: query, documents array with minItems1</p></details><details class=\"note-s\" data-method-contract><summary>Параметры и жизненный цикл метода</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Параметр</th><th>Контракт</th></tr></thead><tbody><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>content_type</code></th><td data-cell-label=\"Контракт\"><span class=\"card-cell-label\">Контракт</span>application/json</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>required</code></th><td data-cell-label=\"Контракт\"><span class=\"card-cell-label\">Контракт</span>model, query, documents</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>material_types</code></th><td data-cell-label=\"Контракт\"><span class=\"card-cell-label\">Контракт</span>text</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>optional_controls</code></th><td data-cell-label=\"Контракт\"><span class=\"card-cell-label\">Контракт</span>provider, session_id, top_n, trace, user</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>multimodal_input_binding</code></th><td data-cell-label=\"Контракт\"><span class=\"card-cell-label\">Контракт</span>null</td></tr></tbody></table></div><p>Жизненный цикл: <code>synchronous</code></p><p class=\"note-s\">Передайте точный ID модели и сохраните полный нативный ответ.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Тарифы</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.</p><dl data-price-conditions><dt>Быстрый режим</dt><dd>Не указано <span class=\"note-s\">При выборе быстрого режима</span></dd><dt>Режим flex</dt><dd>Не указано <span class=\"note-s\">При выборе режима flex</span></dd><dt>Максимальная интенсивность рассуждений</dt><dd>Не указано <span class=\"note-s\">При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ставки Ailoot</h4><h4>Цены по конфигурациям</h4><p class=\"note-s\">Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Конфигурация</th><th>Шкала ставок</th><th>Расчётная единица</th><th>Плата</th></tr></thead><tbody><tr><th data-cell-label=\"Конфигурация\" scope=\"row\"><span class=\"card-cell-label\">Конфигурация</span>Базовые тарифы на токены</th><td data-cell-label=\"Шкала ставок\"><span class=\"card-cell-label\">Шкала ставок</span>Базовая ставка</td><td data-cell-label=\"Расчётная единица\"><span class=\"card-cell-label\">Расчётная единица</span>—</td><td data-cell-label=\"Плата\"><span class=\"card-cell-label\">Плата</span><div><span>Вход · Входные токены</span> <b>—</b> <span class=\"price-unit\">/ 1K токенов</span></div><div><span>Выход · Выходные токены</span> <b>—</b> <span class=\"price-unit\">/ 1K токенов</span></div><div><span>Вход · Чтение кэша</span> <b>—</b> <span class=\"price-unit\">/ 1K токенов</span></div><div><span>Вход · Запись в кэш</span> <b>—</b> <span class=\"price-unit\">/ 1K токенов</span></div><div><span>Вход · Запись в кэш, 1 час</span> <b>—</b> <span class=\"price-unit\">/ 1K токенов</span></div></td></tr><tr><th data-cell-label=\"Конфигурация\" scope=\"row\"><span class=\"card-cell-label\">Конфигурация</span>Ultra</th><td data-cell-label=\"Шкала ставок\"><span class=\"card-cell-label\">Шкала ставок</span>—</td><td data-cell-label=\"Расчётная единица\"><span class=\"card-cell-label\">Расчётная единица</span>/ 1K токенов</td><td data-cell-label=\"Плата\"><span class=\"card-cell-label\">Плата</span><div><span>Вход</span> <b>$0.0001</b> <span class=\"price-unit\">/ 1K токенов</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. <a href=\"/docs/ru/billing/reserve/\">Как работают резервирование и расчёт →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Примеры запросов</h3><h4>Ailoot Ultra · Переранжирование</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Варианты кода\"><button class=\"cg-tab\" id=\"model-code-2699-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2699-panel-0\" aria-selected=\"true\" tabindex=\"0\">Сохранённая официальная структура запроса; пример из документации</button><button class=\"cg-tab\" id=\"model-code-2699-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2699-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Используйте свои реальные материалы запроса и сохраните полный результат</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Скопировать код\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2699-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2699-tab-0\"><pre data-lang=\"json\"><code>{\n  &quot;documents&quot;: [\n    &quot;Paris is the capital of France.&quot;,\n    &quot;Berlin is the capital of Germany.&quot;\n  ],\n  &quot;model&quot;: &quot;voyageai/rerank-3&quot;,\n  &quot;query&quot;: &quot;What is the capital of France?&quot;,\n  &quot;top_n&quot;: 3\n}</code></pre></div><div class=\"cg-pane\" id=\"model-code-2699-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2699-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_REQUEST_FILE:?Set your actual JSON request file}&quot;\nexport AILOOT_REQUEST_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(Path(os.environ[&#39;AILOOT_REQUEST_FILE&#39;]).read_text(encoding=&#39;utf-8&#39;))\nif not isinstance(p,dict): raise SystemExit(&#39;Request must be a JSON object&#39;)\np[&#39;model&#39;]=&#39;voyageai/rerank-3&#39;\nPath(&#39;request.json&#39;).write_text(json.dumps(p,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/rerank \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&#39;result.json&#39;).read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Получить и сохранить результаты</h3><h4>Ailoot Ultra · Переранжирование</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Сохраняйте все готовые результаты</h5><p class=\"note-s\">Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.</p><p class=\"note-s\">Сохраняются каждый фактический индекс результата, конечное значение relevance_score и исходный объект документа. Индексы связаны с исходным массивом документов. Весь исходный JSON сохраняется и возвращается только после окончательного расчёта.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Если нужно проверить исходный ответ</h5><p class=\"note-s\">Сохраните исходную операцию и полный либо частичный ответ; не повторяйте POST.</p></div><details class=\"card-about\" data-output-fields><summary>Поля ответа</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Поле</th><th>Тип</th></tr></thead><tbody><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span>string</td></tr><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span>string</td></tr><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span>string</td></tr><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">results[].index</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span>integer</td></tr><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">results[].relevance_score</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span>number</td></tr><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">results[].document.text</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span>string</td></tr><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">results[].document.image</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span>string</td></tr><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">usage.search_units</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span>integer</td></tr><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">usage.total_tokens</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span>integer</td></tr><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">usage.cost</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span>number</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Ошибки и дальнейшие шаги</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Ответ</th><th>Условие</th><th>Следующий шаг</th></tr></thead><tbody><tr><th data-cell-label=\"Ответ\" scope=\"row\"><span class=\"card-cell-label\">Ответ</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Условие\"><span class=\"card-cell-label\">Условие</span>Недопустимое обязательное поле, представление или значение</td><td data-cell-label=\"Следующий шаг\"><span class=\"card-cell-label\">Следующий шаг</span>Исправьте указанное поле запроса.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Псевдонимы</h3><h4>Псевдонимы моделей</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=voyageai%2Frerank-3&amp;route=Ultra&amp;caller=voyageai%2Frerank-3&amp;fmt=rerank\"><code>voyageai/rerank-3</code></a></span></p><h4>Псевдонимы путей метода</h4><p class=\"note-s\">Используйте пути методов, указанные выше.</p><h4>Связанные ID для вызова</h4><p class=\"note-s\"><a href=\"#m=voyageai%2Frerank-3&amp;route=Ultra&amp;caller=voyageai%2Frerank-3&amp;fmt=rerank\"><code>voyageai/rerank-3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyageai/rerank-3",
        "fmt": "rerank",
        "http": "POST",
        "path": "/v1/rerank",
        "request_model_id": "voyageai/rerank-3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|rerank|/v1/rerank|voyageai%2Frerank-3",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Every actual result index, finite relevance_score and original document object is retained. Indices bind the original document array. Entire original JSON is stored and returned only after settlement.",
            "errors": [
              {
                "code": null,
                "condition": "Недопустимое обязательное поле, представление или значение",
                "http_status": 400,
                "recovery": "Исправьте указанное поле запроса.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "cancel": null,
              "idempotency_header": null,
              "job_retrieve": null,
              "mode": "synchronous",
              "streaming": false,
              "unknown": "Сохраните исходную операцию и полный либо частичный ответ; не повторяйте POST."
            },
            "material_combinations": [
              {
                "accepted": [
                  "string documents",
                  "objects with text; image only for separately exact-supported multimodal model"
                ],
                "mode": "text_rerank",
                "required": [
                  "query",
                  "documents array with minItems1"
                ]
              }
            ],
            "operation_modes": [
              "rerank"
            ],
            "outputs": {
              "all_results": "Сохраняются каждый фактический индекс результата, конечное значение relevance_score и исходный объект документа. Индексы связаны с исходным массивом документов. Весь исходный JSON сохраняется и возвращается только после окончательного расчёта.",
              "family": "rerank",
              "fields": [
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "provider",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].relevance_score",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "results[].document.text",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].document.image",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage.search_units",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.total_tokens",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.cost",
                  "type": "number"
                }
              ],
              "format": "json",
              "schema": {
                "description": "Rerank response containing ranked results",
                "example": {
                  "id": "gen-rerank-1234567890-abc",
                  "model": "cohere/rerank-v3.5",
                  "results": [
                    {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    }
                  ],
                  "usage": {
                    "search_units": 1,
                    "total_tokens": 150
                  }
                },
                "properties": {
                  "id": {
                    "description": "Unique identifier for the rerank response (ORID format)",
                    "example": "gen-rerank-1234567890-abc",
                    "type": "string"
                  },
                  "model": {
                    "description": "The model used for reranking",
                    "example": "cohere/rerank-v3.5",
                    "type": "string"
                  },
                  "provider": {
                    "description": "The provider that served the rerank request",
                    "example": "Cohere",
                    "type": "string"
                  },
                  "results": {
                    "description": "List of rerank results sorted by relevance",
                    "example": [
                      {
                        "document": {
                          "text": "Paris is the capital of France."
                        },
                        "index": 0,
                        "relevance_score": 0.98
                      }
                    ],
                    "items": {
                      "description": "A single rerank result",
                      "example": {
                        "document": {
                          "text": "Paris is the capital of France."
                        },
                        "index": 0,
                        "relevance_score": 0.98
                      },
                      "properties": {
                        "document": {
                          "description": "The document object echoing the original input (text and/or image)",
                          "properties": {
                            "image": {
                              "description": "The image (URL or data URI) from the original document",
                              "example": "https://example.com/image.png",
                              "type": "string"
                            },
                            "text": {
                              "description": "The document text",
                              "example": "Paris is the capital of France.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "index": {
                          "description": "Index of the document in the original input list",
                          "example": 0,
                          "type": "integer"
                        },
                        "relevance_score": {
                          "description": "Relevance score of the document to the query",
                          "example": 0.98,
                          "format": "double",
                          "type": "number"
                        }
                      },
                      "required": [
                        "index",
                        "relevance_score",
                        "document"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "usage": {
                    "description": "Usage statistics",
                    "example": {
                      "search_units": 1,
                      "total_tokens": 150
                    },
                    "properties": {
                      "cost": {
                        "description": "Cost of the request in credits",
                        "example": 0.001,
                        "format": "double",
                        "type": "number"
                      },
                      "search_units": {
                        "description": "Number of search units consumed (Cohere billing)",
                        "example": 1,
                        "type": "integer"
                      },
                      "total_tokens": {
                        "description": "Total number of tokens used",
                        "example": 150,
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "model",
                  "results"
                ],
                "type": "object"
              }
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models.",
                "enum": null,
                "enum_known": false,
                "minItems": 1,
                "name": "documents",
                "required": true,
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "voyageai/rerank-3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "The search query to rerank documents against",
                "enum": null,
                "enum_known": false,
                "name": "query",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "Number of most relevant documents to return",
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "top_n",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.",
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "documents[].text",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "Official family image carrier is remote http/https URL or data:image URI; only for exact multimodal-model bindings.",
                "enum": null,
                "enum_known": false,
                "name": "documents[].image",
                "required": false,
                "type": "string"
              }
            ],
            "unsupported": [
              "stream=true"
            ]
          },
          "hints": [
            "Передайте точный ID модели и сохраните полный нативный ответ."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "multimodal_input_binding": null,
            "optional_controls": [
              "provider",
              "session_id",
              "top_n",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "query",
              "documents"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "idempotency_header": null,
            "job_retrieve": null,
            "mode": "synchronous",
            "streaming": false,
            "unknown": "Preserve original operation and full/partial reply; do not replay POST."
          },
          "manufacturer_capability": {
            "context_length": 32000,
            "manufacturer_input": [
              "text"
            ],
            "manufacturer_output": [
              "rerank"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/rerank"
          },
          "method_aliases": [],
          "operation_modes": [
            "rerank"
          ],
          "output": {
            "all_results": "Every actual result index, finite relevance_score and original document object is retained. Indices bind the original document array. Entire original JSON is stored and returned only after settlement.",
            "family": "rerank",
            "fields": [
              {
                "description": null,
                "name": "model",
                "type": "string"
              },
              {
                "description": null,
                "name": "id",
                "type": "string"
              },
              {
                "description": null,
                "name": "provider",
                "type": "string"
              },
              {
                "description": null,
                "name": "results[].index",
                "type": "integer"
              },
              {
                "description": null,
                "name": "results[].relevance_score",
                "type": "number"
              },
              {
                "description": null,
                "name": "results[].document.text",
                "type": "string"
              },
              {
                "description": null,
                "name": "results[].document.image",
                "type": "string"
              },
              {
                "description": null,
                "name": "usage.search_units",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.total_tokens",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.cost",
                "type": "number"
              }
            ],
            "format": "json",
            "schema": {
              "description": "Rerank response containing ranked results",
              "example": {
                "id": "gen-rerank-1234567890-abc",
                "model": "cohere/rerank-v3.5",
                "results": [
                  {
                    "document": {
                      "text": "Paris is the capital of France."
                    },
                    "index": 0,
                    "relevance_score": 0.98
                  }
                ],
                "usage": {
                  "search_units": 1,
                  "total_tokens": 150
                }
              },
              "properties": {
                "id": {
                  "description": "Unique identifier for the rerank response (ORID format)",
                  "example": "gen-rerank-1234567890-abc",
                  "type": "string"
                },
                "model": {
                  "description": "The model used for reranking",
                  "example": "cohere/rerank-v3.5",
                  "type": "string"
                },
                "provider": {
                  "description": "The provider that served the rerank request",
                  "example": "Cohere",
                  "type": "string"
                },
                "results": {
                  "description": "List of rerank results sorted by relevance",
                  "example": [
                    {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    }
                  ],
                  "items": {
                    "description": "A single rerank result",
                    "example": {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    },
                    "properties": {
                      "document": {
                        "description": "The document object echoing the original input (text and/or image)",
                        "properties": {
                          "image": {
                            "description": "The image (URL or data URI) from the original document",
                            "example": "https://example.com/image.png",
                            "type": "string"
                          },
                          "text": {
                            "description": "The document text",
                            "example": "Paris is the capital of France.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "index": {
                        "description": "Index of the document in the original input list",
                        "example": 0,
                        "type": "integer"
                      },
                      "relevance_score": {
                        "description": "Relevance score of the document to the query",
                        "example": 0.98,
                        "format": "double",
                        "type": "number"
                      }
                    },
                    "required": [
                      "index",
                      "relevance_score",
                      "document"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "usage": {
                  "description": "Usage statistics",
                  "example": {
                    "search_units": 1,
                    "total_tokens": 150
                  },
                  "properties": {
                    "cost": {
                      "description": "Cost of the request in credits",
                      "example": 0.001,
                      "format": "double",
                      "type": "number"
                    },
                    "search_units": {
                      "description": "Number of search units consumed (Cohere billing)",
                      "example": 1,
                      "type": "integer"
                    },
                    "total_tokens": {
                      "description": "Total number of tokens used",
                      "example": 150,
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "model",
                "results"
              ],
              "type": "object"
            }
          },
          "schema": {
            "request": {
              "description": "Rerank request input",
              "example": {
                "documents": [
                  "Paris is the capital of France.",
                  "Berlin is the capital of Germany."
                ],
                "model": "cohere/rerank-v3.5",
                "query": "What is the capital of France?",
                "top_n": 3
              },
              "properties": {
                "documents": {
                  "description": "The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models.",
                  "example": [
                    "Paris is the capital of France.",
                    "Berlin is the capital of Germany."
                  ],
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "description": "A structured document with optional text and/or image content. At least one of `text` or `image` must be provided.",
                        "properties": {
                          "image": {
                            "description": "An image associated with the document, as a remote URL (http/https) or a base64-encoded data URI (data:image/...).",
                            "example": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Phytogenic.png",
                            "type": "string"
                          },
                          "text": {
                            "description": "The document text",
                            "example": "AI enables robots to perceive, plan, and act autonomously.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    ],
                    "description": "A document to rerank. Either a plain string, or a structured object with optional `text` and/or `image`."
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "voyageai/rerank-3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProviderPreferences"
                    },
                    {
                      "description": "Provider routing preferences for the request."
                    }
                  ]
                },
                "query": {
                  "description": "The search query to rerank documents against",
                  "example": "What is the capital of France?",
                  "type": "string"
                },
                "session_id": {
                  "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                  "example": "session-1234",
                  "maxLength": 256,
                  "type": "string"
                },
                "top_n": {
                  "description": "Number of most relevant documents to return",
                  "example": 3,
                  "minimum": 1,
                  "type": "integer"
                },
                "trace": {
                  "$ref": "#/components/schemas/TraceConfig"
                },
                "user": {
                  "description": "A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.",
                  "example": "user-1234",
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "query",
                "documents"
              ],
              "type": "object"
            },
            "response": {
              "description": "Rerank response containing ranked results",
              "example": {
                "id": "gen-rerank-1234567890-abc",
                "model": "cohere/rerank-v3.5",
                "results": [
                  {
                    "document": {
                      "text": "Paris is the capital of France."
                    },
                    "index": 0,
                    "relevance_score": 0.98
                  }
                ],
                "usage": {
                  "search_units": 1,
                  "total_tokens": 150
                }
              },
              "properties": {
                "id": {
                  "description": "Unique identifier for the rerank response (ORID format)",
                  "example": "gen-rerank-1234567890-abc",
                  "type": "string"
                },
                "model": {
                  "description": "The model used for reranking",
                  "example": "cohere/rerank-v3.5",
                  "type": "string"
                },
                "provider": {
                  "description": "The provider that served the rerank request",
                  "example": "Cohere",
                  "type": "string"
                },
                "results": {
                  "description": "List of rerank results sorted by relevance",
                  "example": [
                    {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    }
                  ],
                  "items": {
                    "description": "A single rerank result",
                    "example": {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    },
                    "properties": {
                      "document": {
                        "description": "The document object echoing the original input (text and/or image)",
                        "properties": {
                          "image": {
                            "description": "The image (URL or data URI) from the original document",
                            "example": "https://example.com/image.png",
                            "type": "string"
                          },
                          "text": {
                            "description": "The document text",
                            "example": "Paris is the capital of France.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "index": {
                        "description": "Index of the document in the original input list",
                        "example": 0,
                        "type": "integer"
                      },
                      "relevance_score": {
                        "description": "Relevance score of the document to the query",
                        "example": 0.98,
                        "format": "double",
                        "type": "number"
                      }
                    },
                    "required": [
                      "index",
                      "relevance_score",
                      "document"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "usage": {
                  "description": "Usage statistics",
                  "example": {
                    "search_units": 1,
                    "total_tokens": 150
                  },
                  "properties": {
                    "cost": {
                      "description": "Cost of the request in credits",
                      "example": 0.001,
                      "format": "double",
                      "type": "number"
                    },
                    "search_units": {
                      "description": "Number of search units consumed (Cohere billing)",
                      "example": 1,
                      "type": "integer"
                    },
                    "total_tokens": {
                      "description": "Total number of tokens used",
                      "example": 150,
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "model",
                "results"
              ],
              "type": "object"
            }
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "native_endpoint": "rerank",
              "quoted_unit": "/ 1K tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "{\n  \"documents\": [\n    \"Paris is the capital of France.\",\n    \"Berlin is the capital of Germany.\"\n  ],\n  \"model\": \"voyageai/rerank-3\",\n  \"query\": \"What is the capital of France?\",\n  \"top_n\": 3\n}",
            "label": "Retained official request structure; documentary example",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_REQUEST_FILE:?Set your actual JSON request file}\"\nexport AILOOT_REQUEST_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))\nif not isinstance(p,dict): raise SystemExit('Request must be a JSON object')\np['model']='voyageai/rerank-3'\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/rerank \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use your actual request material and retain the complete result",
            "language": "bash",
            "material_policy": "Use real owner-supplied state/questions or query/documents. No invented file ID, document, image URL, job ID or returned result."
          }
        ],
        "family": "rerank",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "rerank",
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Переранжирование",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "rerank",
        "out": null,
        "output": [
          "rerank"
        ],
        "path": "/v1/rerank",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "input_token": 1e-07
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "native_endpoint": "rerank",
              "quoted_unit": "/ 1K tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          }
        ],
        "request_model_id": "voyageai/rerank-3",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000001",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          }
        ]
      }
    }
  ],
  "model_id": "voyageai/rerank-3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "668fd8a2065725b690033a935ce65c730c5808448c9e8b56603106930a92aabe",
    "input_html_sha256": "b6c8e4e701e6ed1f14d2368ff5a531ec7402651e530a151d0b394dab2e7742fe",
    "private_audit_sha256": "a82a71cf629f955d24b14a545f5fdd22dac72ed884566caf955f7704ec2fa00b",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ru/voyageai-rerank-3/",
    "description": "Voyage rerank-3 — редакция Rerank 3 с приоритетом качества для оценки релевантности пары «запрос — документ». Она переупорядочивает найденные текстовые кандидаты, поддерживает инструкции о релевантности на естественном языке и пары до 32 000 токенов для поиска по длинным документам, коду и базам знаний.",
    "locale": "ru",
    "md_url": "https://ailoot.ai/models/ru/voyageai-rerank-3/index.md",
    "title": "VoyageAI by MongoDB: rerank-3 — Ailoot",
    "url": "https://ailoot.ai/models/ru/voyageai-rerank-3/"
  },
  "rawModel": {
    "about": "Voyage rerank-3 — текстовый реранкер, предназначенный для повышения качества найденных доказательных материалов. Получив запрос и список документов-кандидатов, он совместно рассматривает каждую пару и возвращает кандидатов в порядке релевантности. Эмбеддинги и ключевой поиск сначала могут сузить большую коллекцию до обозримого списка; затем rerank-3 более подробно оценивает его релевантность. На выходе приложение получает поисковые материалы с оценками, которые можно показать или передать отдельному этапу генерации ответа.\n\nRerank 3 с приоритетом качества\nРазработчик позиционирует rerank-3 как редакцию с приоритетом точности, а rerank-3-lite — как редакцию для поиска, чувствительного к задержке. Третье поколение обновляет базовую архитектуру и состав обучающих данных, особенно улучшая поиск по длинным документам и исходному коду по сравнению с соответствующими предшественниками 2.5. Разработчик оценивает модель на технической документации, коде, многоязычных материалах и других типах документов. Эти результаты подтверждают её поисковую роль; выбирайте редакцию на вопросах и документах-кандидатах, значимых для вашей коллекции.\n\nДлинные документы с достаточным контекстом\nДлинный кандидат может содержать полезный контекст далеко за первым абзацем. Предоставьте связный раздел или документ с названием и важными окружающими материалами, чтобы модель могла оценить связь фактического вопроса с содержанием. Для поиска по правилам продукта сохраните заголовки и исключения вокруг нужного фрагмента. Если несколько найденных разделов относятся к одному источнику, сохраните идентификаторы документа и разделов; тогда приложение сможет показать происхождение выбранных доказательств.\n\nОкно контекста делят запрос и каждый кандидат. Текущее руководство разработчика указывает 32 000 токенов для такой пары, включая запрос не длиннее 8000 токенов. Поэтому запрос на 3000 токенов оставляет каждому документу максимум 29 000 токенов. Подготавливайте ввод так, чтобы существенное содержание помещалось, особенно если длинное вступление или повторяющийся шаблонный текст иначе займут окно. Документированная опция усечения включена по умолчанию и может сокращать слишком длинный запрос или документ до оценки. Проверяйте сохранённый текст, когда важно расположение фрагмента.\n\nПоиск кода и технических материалов\nНа поисковом этапе помощника по программированию кандидаты могут содержать реализации функций, документацию API или технические объяснения в текстовом виде. Включите символы, сигнатуры и контекст, необходимые для различения похожих кандидатов. Запрос вроде «Найди функцию, которая нормализует пути, сохраняя завершающий разделитель» задаёт конкретное поведение для сопоставления. Добавьте значимые ограничения языка, платформы или версии. После ранжирования изучите выбранный код и его зависимости до использования в качестве контекста: оценка релевантности не доказывает соблюдение реализацией каждого заявленного требования.\n\nИнструкции определяют релевантность\nМодель сохраняет возможность ранжирования по инструкциям, введённую в Rerank 2.5. Добавьте краткую инструкцию до или после запроса, если намерение пользователя требует уточнения. Для поиска по исследовательским документам объясните, что важнее: название, конкретный метод или область применения. Для внутреннего каталога укажите, касается ли запрос установки, устранения неполадок или совместимости. Согласуйте инструкцию с вопросом: дополнительные предпочтения, противоречащие основному запросу, могут изменить цель оптимизации ранжирования.\n\nПодготовка документов-кандидатов и бюджетов\nНа вход подаётся список текстовых строк. Извлеките пригодный текст из исходных документов, сохраните осмысленные границы разделов и упорядоченную карту записей рядом со списком. Разработчик допускает до 1000 документов в одном запросе. Он также устанавливает суммарный потолок ввода в 600 000 токенов: число токенов запроса, умноженное на число документов, плюс сумма всех токенов документов. Это отличается от ограничения контекста отдельной пары. Сокращение избыточного текста запроса сохраняет и ёмкость пары, и общий бюджет запроса.\n\nПодсчитывайте токены для соответствующей модели, не предполагая, что число слов или символов равно числу токенов. Для больших кандидатов выбирайте связные фрагменты или делите материал по полезным заголовкам, сохраняя сведения о родительском источнике. Повторное ранжирование полезнее всего, когда первый поиск уже нашёл правдоподобных кандидатов: оно не может ранжировать отсутствующий источник, не попавший в список.\n\nРанжированные результаты и дальнейшее использование\nРезультат содержит оценки релевантности и индексы исходных входных документов, отсортированные по убыванию релевантности. Опция top_k ограничивает число возвращаемых ранжированных результатов; иначе возвращаются все входные кандидаты. REST-интерфейс разработчика также позволяет включить текст документа. Используйте исходный индекс для восстановления названия, идентификатора источника и метаданных, нужных приложению, затем покажите выбранные элементы или поместите нужный текст в контекст доказательств для ответа.\n\nСверяйте первые результаты с вопросом и сохраняйте видимую идентичность источника. Высокое относительное место не проверяет фактическую точность документа, а список из одних слабых кандидатов всё равно имеет первый элемент. Разделяйте отбор по релевантности и решение о достаточности выбранных доказательств для ответа пользователю.\n\nПереход между редакциями\nРазработчик описывает rerank-3 как прямую замену rerank-2.5 с той же семантикой API и оценками, откалиброванными под распределение соответствующего предшественника. Такая совместимость позволяет сохранить существующий этап поиска и соответствие записей. Прежде чем полагаться на переход, сравните значимые порядки результатов и пороги оценок на текущем корпусе. Сохраняйте rerank-3 и rerank-3-lite как разные варианты: общие ограничения и следование инструкциям не делают их приоритеты качества и задержки одинаковыми.",
    "alias_of": null,
    "aliases": [],
    "author": "VoyageAI by MongoDB",
    "available": null,
    "canonical_model": "voyageai/rerank-3",
    "capabilities": {
      "context_length": 32000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "rerank"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000001",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          }
        ],
        "summary": "Полная информация о ценах конфигурации — в подробностях."
      }
    ],
    "ctx": null,
    "entity_type": "model",
    "formats": [
      "rerank"
    ],
    "id": "voyageai/rerank-3",
    "input": [
      "text"
    ],
    "kind": "rerank",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Every actual result index, finite relevance_score and original document object is retained. Indices bind the original document array. Entire original JSON is stored and returned only after settlement.",
            "errors": [
              {
                "code": null,
                "condition": "Недопустимое обязательное поле, представление или значение",
                "http_status": 400,
                "recovery": "Исправьте указанное поле запроса.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "cancel": null,
              "idempotency_header": null,
              "job_retrieve": null,
              "mode": "synchronous",
              "streaming": false,
              "unknown": "Сохраните исходную операцию и полный либо частичный ответ; не повторяйте POST."
            },
            "material_combinations": [
              {
                "accepted": [
                  "string documents",
                  "objects with text; image only for separately exact-supported multimodal model"
                ],
                "mode": "text_rerank",
                "required": [
                  "query",
                  "documents array with minItems1"
                ]
              }
            ],
            "operation_modes": [
              "rerank"
            ],
            "outputs": {
              "all_results": "Сохраняются каждый фактический индекс результата, конечное значение relevance_score и исходный объект документа. Индексы связаны с исходным массивом документов. Весь исходный JSON сохраняется и возвращается только после окончательного расчёта.",
              "family": "rerank",
              "fields": [
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "provider",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].relevance_score",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "results[].document.text",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].document.image",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage.search_units",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.total_tokens",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.cost",
                  "type": "number"
                }
              ],
              "format": "json",
              "schema": {
                "description": "Rerank response containing ranked results",
                "example": {
                  "id": "gen-rerank-1234567890-abc",
                  "model": "cohere/rerank-v3.5",
                  "results": [
                    {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    }
                  ],
                  "usage": {
                    "search_units": 1,
                    "total_tokens": 150
                  }
                },
                "properties": {
                  "id": {
                    "description": "Unique identifier for the rerank response (ORID format)",
                    "example": "gen-rerank-1234567890-abc",
                    "type": "string"
                  },
                  "model": {
                    "description": "The model used for reranking",
                    "example": "cohere/rerank-v3.5",
                    "type": "string"
                  },
                  "provider": {
                    "description": "The provider that served the rerank request",
                    "example": "Cohere",
                    "type": "string"
                  },
                  "results": {
                    "description": "List of rerank results sorted by relevance",
                    "example": [
                      {
                        "document": {
                          "text": "Paris is the capital of France."
                        },
                        "index": 0,
                        "relevance_score": 0.98
                      }
                    ],
                    "items": {
                      "description": "A single rerank result",
                      "example": {
                        "document": {
                          "text": "Paris is the capital of France."
                        },
                        "index": 0,
                        "relevance_score": 0.98
                      },
                      "properties": {
                        "document": {
                          "description": "The document object echoing the original input (text and/or image)",
                          "properties": {
                            "image": {
                              "description": "The image (URL or data URI) from the original document",
                              "example": "https://example.com/image.png",
                              "type": "string"
                            },
                            "text": {
                              "description": "The document text",
                              "example": "Paris is the capital of France.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "index": {
                          "description": "Index of the document in the original input list",
                          "example": 0,
                          "type": "integer"
                        },
                        "relevance_score": {
                          "description": "Relevance score of the document to the query",
                          "example": 0.98,
                          "format": "double",
                          "type": "number"
                        }
                      },
                      "required": [
                        "index",
                        "relevance_score",
                        "document"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "usage": {
                    "description": "Usage statistics",
                    "example": {
                      "search_units": 1,
                      "total_tokens": 150
                    },
                    "properties": {
                      "cost": {
                        "description": "Cost of the request in credits",
                        "example": 0.001,
                        "format": "double",
                        "type": "number"
                      },
                      "search_units": {
                        "description": "Number of search units consumed (Cohere billing)",
                        "example": 1,
                        "type": "integer"
                      },
                      "total_tokens": {
                        "description": "Total number of tokens used",
                        "example": 150,
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "model",
                  "results"
                ],
                "type": "object"
              }
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models.",
                "enum": null,
                "enum_known": false,
                "minItems": 1,
                "name": "documents",
                "required": true,
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "voyageai/rerank-3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "The search query to rerank documents against",
                "enum": null,
                "enum_known": false,
                "name": "query",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "Number of most relevant documents to return",
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "top_n",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.",
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "documents[].text",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "Official family image carrier is remote http/https URL or data:image URI; only for exact multimodal-model bindings.",
                "enum": null,
                "enum_known": false,
                "name": "documents[].image",
                "required": false,
                "type": "string"
              }
            ],
            "unsupported": [
              "stream=true"
            ]
          },
          "hints": [
            "Передайте точный ID модели и сохраните полный нативный ответ."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "multimodal_input_binding": null,
            "optional_controls": [
              "provider",
              "session_id",
              "top_n",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "query",
              "documents"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "idempotency_header": null,
            "job_retrieve": null,
            "mode": "synchronous",
            "streaming": false,
            "unknown": "Preserve original operation and full/partial reply; do not replay POST."
          },
          "manufacturer_capability": {
            "context_length": 32000,
            "manufacturer_input": [
              "text"
            ],
            "manufacturer_output": [
              "rerank"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/rerank"
          },
          "method_aliases": [],
          "operation_modes": [
            "rerank"
          ],
          "output": {
            "all_results": "Every actual result index, finite relevance_score and original document object is retained. Indices bind the original document array. Entire original JSON is stored and returned only after settlement.",
            "family": "rerank",
            "fields": [
              {
                "description": null,
                "name": "model",
                "type": "string"
              },
              {
                "description": null,
                "name": "id",
                "type": "string"
              },
              {
                "description": null,
                "name": "provider",
                "type": "string"
              },
              {
                "description": null,
                "name": "results[].index",
                "type": "integer"
              },
              {
                "description": null,
                "name": "results[].relevance_score",
                "type": "number"
              },
              {
                "description": null,
                "name": "results[].document.text",
                "type": "string"
              },
              {
                "description": null,
                "name": "results[].document.image",
                "type": "string"
              },
              {
                "description": null,
                "name": "usage.search_units",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.total_tokens",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.cost",
                "type": "number"
              }
            ],
            "format": "json",
            "schema": {
              "description": "Rerank response containing ranked results",
              "example": {
                "id": "gen-rerank-1234567890-abc",
                "model": "cohere/rerank-v3.5",
                "results": [
                  {
                    "document": {
                      "text": "Paris is the capital of France."
                    },
                    "index": 0,
                    "relevance_score": 0.98
                  }
                ],
                "usage": {
                  "search_units": 1,
                  "total_tokens": 150
                }
              },
              "properties": {
                "id": {
                  "description": "Unique identifier for the rerank response (ORID format)",
                  "example": "gen-rerank-1234567890-abc",
                  "type": "string"
                },
                "model": {
                  "description": "The model used for reranking",
                  "example": "cohere/rerank-v3.5",
                  "type": "string"
                },
                "provider": {
                  "description": "The provider that served the rerank request",
                  "example": "Cohere",
                  "type": "string"
                },
                "results": {
                  "description": "List of rerank results sorted by relevance",
                  "example": [
                    {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    }
                  ],
                  "items": {
                    "description": "A single rerank result",
                    "example": {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    },
                    "properties": {
                      "document": {
                        "description": "The document object echoing the original input (text and/or image)",
                        "properties": {
                          "image": {
                            "description": "The image (URL or data URI) from the original document",
                            "example": "https://example.com/image.png",
                            "type": "string"
                          },
                          "text": {
                            "description": "The document text",
                            "example": "Paris is the capital of France.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "index": {
                        "description": "Index of the document in the original input list",
                        "example": 0,
                        "type": "integer"
                      },
                      "relevance_score": {
                        "description": "Relevance score of the document to the query",
                        "example": 0.98,
                        "format": "double",
                        "type": "number"
                      }
                    },
                    "required": [
                      "index",
                      "relevance_score",
                      "document"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "usage": {
                  "description": "Usage statistics",
                  "example": {
                    "search_units": 1,
                    "total_tokens": 150
                  },
                  "properties": {
                    "cost": {
                      "description": "Cost of the request in credits",
                      "example": 0.001,
                      "format": "double",
                      "type": "number"
                    },
                    "search_units": {
                      "description": "Number of search units consumed (Cohere billing)",
                      "example": 1,
                      "type": "integer"
                    },
                    "total_tokens": {
                      "description": "Total number of tokens used",
                      "example": 150,
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "model",
                "results"
              ],
              "type": "object"
            }
          },
          "schema": {
            "request": {
              "description": "Rerank request input",
              "example": {
                "documents": [
                  "Paris is the capital of France.",
                  "Berlin is the capital of Germany."
                ],
                "model": "cohere/rerank-v3.5",
                "query": "What is the capital of France?",
                "top_n": 3
              },
              "properties": {
                "documents": {
                  "description": "The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models.",
                  "example": [
                    "Paris is the capital of France.",
                    "Berlin is the capital of Germany."
                  ],
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "description": "A structured document with optional text and/or image content. At least one of `text` or `image` must be provided.",
                        "properties": {
                          "image": {
                            "description": "An image associated with the document, as a remote URL (http/https) or a base64-encoded data URI (data:image/...).",
                            "example": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Phytogenic.png",
                            "type": "string"
                          },
                          "text": {
                            "description": "The document text",
                            "example": "AI enables robots to perceive, plan, and act autonomously.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    ],
                    "description": "A document to rerank. Either a plain string, or a structured object with optional `text` and/or `image`."
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "voyageai/rerank-3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProviderPreferences"
                    },
                    {
                      "description": "Provider routing preferences for the request."
                    }
                  ]
                },
                "query": {
                  "description": "The search query to rerank documents against",
                  "example": "What is the capital of France?",
                  "type": "string"
                },
                "session_id": {
                  "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                  "example": "session-1234",
                  "maxLength": 256,
                  "type": "string"
                },
                "top_n": {
                  "description": "Number of most relevant documents to return",
                  "example": 3,
                  "minimum": 1,
                  "type": "integer"
                },
                "trace": {
                  "$ref": "#/components/schemas/TraceConfig"
                },
                "user": {
                  "description": "A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.",
                  "example": "user-1234",
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "query",
                "documents"
              ],
              "type": "object"
            },
            "response": {
              "description": "Rerank response containing ranked results",
              "example": {
                "id": "gen-rerank-1234567890-abc",
                "model": "cohere/rerank-v3.5",
                "results": [
                  {
                    "document": {
                      "text": "Paris is the capital of France."
                    },
                    "index": 0,
                    "relevance_score": 0.98
                  }
                ],
                "usage": {
                  "search_units": 1,
                  "total_tokens": 150
                }
              },
              "properties": {
                "id": {
                  "description": "Unique identifier for the rerank response (ORID format)",
                  "example": "gen-rerank-1234567890-abc",
                  "type": "string"
                },
                "model": {
                  "description": "The model used for reranking",
                  "example": "cohere/rerank-v3.5",
                  "type": "string"
                },
                "provider": {
                  "description": "The provider that served the rerank request",
                  "example": "Cohere",
                  "type": "string"
                },
                "results": {
                  "description": "List of rerank results sorted by relevance",
                  "example": [
                    {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    }
                  ],
                  "items": {
                    "description": "A single rerank result",
                    "example": {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    },
                    "properties": {
                      "document": {
                        "description": "The document object echoing the original input (text and/or image)",
                        "properties": {
                          "image": {
                            "description": "The image (URL or data URI) from the original document",
                            "example": "https://example.com/image.png",
                            "type": "string"
                          },
                          "text": {
                            "description": "The document text",
                            "example": "Paris is the capital of France.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "index": {
                        "description": "Index of the document in the original input list",
                        "example": 0,
                        "type": "integer"
                      },
                      "relevance_score": {
                        "description": "Relevance score of the document to the query",
                        "example": 0.98,
                        "format": "double",
                        "type": "number"
                      }
                    },
                    "required": [
                      "index",
                      "relevance_score",
                      "document"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "usage": {
                  "description": "Usage statistics",
                  "example": {
                    "search_units": 1,
                    "total_tokens": 150
                  },
                  "properties": {
                    "cost": {
                      "description": "Cost of the request in credits",
                      "example": 0.001,
                      "format": "double",
                      "type": "number"
                    },
                    "search_units": {
                      "description": "Number of search units consumed (Cohere billing)",
                      "example": 1,
                      "type": "integer"
                    },
                    "total_tokens": {
                      "description": "Total number of tokens used",
                      "example": 150,
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "model",
                "results"
              ],
              "type": "object"
            }
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "native_endpoint": "rerank",
              "quoted_unit": "/ 1K tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "{\n  \"documents\": [\n    \"Paris is the capital of France.\",\n    \"Berlin is the capital of Germany.\"\n  ],\n  \"model\": \"voyageai/rerank-3\",\n  \"query\": \"What is the capital of France?\",\n  \"top_n\": 3\n}",
            "label": "Retained official request structure; documentary example",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_REQUEST_FILE:?Set your actual JSON request file}\"\nexport AILOOT_REQUEST_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))\nif not isinstance(p,dict): raise SystemExit('Request must be a JSON object')\np['model']='voyageai/rerank-3'\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/rerank \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use your actual request material and retain the complete result",
            "language": "bash",
            "material_policy": "Use real owner-supplied state/questions or query/documents. No invented file ID, document, image URL, job ID or returned result."
          }
        ],
        "family": "rerank",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "rerank",
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Переранжирование",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "rerank",
        "out": null,
        "output": [
          "rerank"
        ],
        "path": "/v1/rerank",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "input_token": 1e-07
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "native_endpoint": "rerank",
              "quoted_unit": "/ 1K tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          }
        ],
        "request_model_id": "voyageai/rerank-3",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000001",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "voyageai/rerank-3",
        "request_model_id": "voyageai/rerank-3",
        "route_label": "Ultra"
      }
    ],
    "name": "VoyageAI by MongoDB: rerank-3",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "public_id": "voyageai/rerank-3",
    "short": "Voyage rerank-3 — редакция Rerank 3 с приоритетом качества для оценки релевантности пары «запрос — документ». Она переупорядочивает найденные текстовые кандидаты, поддерживает инструкции о релевантности на естественном языке и пары до 32 000 токенов для поиска по длинным документам, коду и базам знаний."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Voyage rerank-3 — редакция Rerank 3 с приоритетом качества для оценки релевантности пары «запрос — документ». Она переупорядочивает найденные текстовые кандидаты, поддерживает инструкции о релевантности на естественном языке и пары до 32 000 токенов для поиска по длинным документам, коду и базам знаний.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "d3831f91dc41627a6388f80249500944baaf7ee6e81a0ff815ab4a3a8f1ba714",
    "renderer_sha256": "aa692ffec412026bdeaf316df24a58e6c5083045e5246f6033f898d132afa5ff"
  },
  "sourceRevision": "6ba2a0707567c418c81bccf3d0727f4386461a8ef718dd6b34bdd37e19e15db4"
}
