VoyageAI by MongoDB: voyage-4-large
voyage-4-large — текстовая модель эмбеддингов от Voyage AI с архитектурой mixture-of-experts для поиска общего назначения и многоязычного поиска. Её векторы используют общее пространство семейства Voyage 4: по эмбеддингам корпуса от Large можно искать совместимыми эмбеддингами запросов от других моделей семейства.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
voyage-4-large — флагманская модель текстовых эмбеддингов Voyage AI в семействе Voyage 4. Она представляет исходные фрагменты и запросы числовыми векторами для общего и многоязычного поиска. Две отличительные черты — архитектура со смесью экспертов и общее пространство эмбеддингов voyage-4-large, voyage-4, voyage-4-lite и voyage-4-nano.
Общее пространство: отдельный выбор для корпуса и запросов
Производитель описывает асимметричный поиск: документы кодируются voyage-4-large, а другая модель семейства Voyage 4 готовит векторы запросов. Например, по корпусу Large можно искать запросами voyage-4. Это позволяет выбирать разные модели для двух сторон поиска в документированном совместимом пространстве.
Практическая коллекция может использовать Large для устойчивых документных фрагментов и независимо выбирать модель запросов. Документы кодируются при создании или обновлении корпуса, запросы — по мере поиска пользователями. Анонс семейства описывает смену модели запросов внутри совместимого семейства без повторной векторизации корпуса только ради этой смены. Сравнивайте векторы одинаковой размерности в представлениях, которые поисковая система может совместно интерпретировать.
Эмбеддинги со смесью экспертов
Плотный полносвязный слой обрабатывает каждый токен полным набором параметров. Описанный для voyage-4-large подход MoE использует маршрутизатор и экспертные полносвязные сети, выбирая экспертов для каждого токена. Это отделяет общую ёмкость модели от параметров, активных для конкретного токена. Voyage сообщает для архитектуры MoE долю активации 1/10 с маршрутизацией top-k.
Техническое объяснение также описывает два решения разработки. Ёмкость эксперта влияет на обход его слоя избыточными токенами по остаточному пути; команда выбрала максимально достижимый коэффициент ёмкости, чтобы избежать потери качества поиска. На последнем этапе обучения параметры маршрутизатора фиксируются до слияния моделей, чтобы интерполяция исходных моделей не меняла обученную маршрутизацию выбора экспертов. Это характеристики подготовки модели, отдельные от длины текста или усечения при подготовке входа.
Размерности и представление выхода
Официальная таблица задаёт окно контекста 32,000 токенов и эмбеддинги на 256, 512, 1024 или 2048 измерений, с 1024 по умолчанию. Семейство использует обучение Matryoshka для вложенных размеров представлений и варианты квантования: 32-битную плавающую точку, знаковые или беззнаковые 8-битные целые и упакованный двоичный выход.
При двоичном выходе длина возвращённого списка байтов — одна восьмая выбранной размерности, поскольку каждый байт содержит восемь битов эмбеддинга. Храните выбор размерности и типа данных вместе с индексом, используйте способ сравнения, поддерживающий представление. Уменьшенный или сжатый вектор меняет представление поиска; перед выбором для коллекции оцените релевантные фрагменты по реальным вопросам.
Подготовьте документы и запросы
Voyage рекомендует роль document для фрагментов корпуса и роль query для поисковых формулировок. Выбор роли добавляет соответствующую инструкцию поиска перед кодированием. Сохраняйте полезный заголовок, условия и местоположение источника, затем храните вектор с оригинальным текстом и устойчивым идентификатором.
Для технической коллекции вопрос о типе сбоя должен вести к фрагменту, описывающему этот сбой и его условия. Для многоязычной коллекции сохраняйте язык источника и оценивайте вопросы и терминологию пользователей. Выпуск охватывает технические документы, диалоги, длинные документы, код, право, финансы и веб-текст. Эмбеддинг находит материалы-кандидаты; следующий переранжировщик или этап ответа использует оригинальный текст.
Ограничения контекста, пакета и усечения
Текущее руководство допускает до 1,000 строк и 120,000 входных токенов всего в запросе voyage-4-large. Это отличается от лимита пакета voyage-4, при одинаковом окне 32,000 токенов на текст. Усечение по умолчанию сокращает слишком длинный вход; отключение усечения возвращает ошибку для слишком длинного текста.
Осознанно выбирайте границы фрагментов с ответом, чтобы длинный источник не терял важное уточнение на усечённом конце. Сохраняйте связь с источником в поисковых результатах и изучайте фактический текст кандидата, не считая близость вектора проверкой содержания. Совместимость общего пространства относится к документированному текстовому семейству Voyage 4; обработка контекстуализированных фрагментов, эмбеддинги изображений и видео и последующие редакции остаются отдельными процессами конкретных моделей.
Ailoot Ultra · Эмбеддинги POST /v1/embeddings voyageai/voyage-4-large
voyageai/voyage-4-largeНачало
voyage-4-large — текстовая модель эмбеддингов от Voyage AI с архитектурой mixture-of-experts для поиска общего назначения и многоязычного поиска. Её векторы используют общее пространство семейства Voyage 4: по эмбеддингам корпуса от Large можно искать совместимыми эмбеддингами запросов от других моделей семейства.
- Допустимые входные данные
- Текст · token_ids
- Результаты
- embedding
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Эмбеддинги POST /v1/embeddings
- Входные данные
text,token_ids- Результат
embedding- Контекст
- 32 000 tokens
- Выходной формат
- json
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения voyageai/voyage-4-large | По умолчанию— |
Полеinput | Типstring|string[]|integer[]|integer[][] | ТребованиеОбязательно | Значения и ограничения Минимум элементов: 1 Условия: Непустой однородный пакет. ID токенов — неотрицательные целые числа. Входной бюджет: Максимум: 32 000 · Текстовая единица: байты UTF8 · Единица токенов: элементы массива токенов | По умолчанию— |
Полеencoding_format | Типstring | ТребованиеНеобязательно | Значения и ограничения float | По умолчаниюfloat |
Полеdimensions | Типinteger | ТребованиеНе поддерживается | Значения и ограничения Минимум: 1 | По умолчанию— |
Полеuser | Типjson_value | ТребованиеНеобязательно | Значения и ограничения Условия: Source допускает это поле метаданных JSON; точная семантика у исходного поставщика зависит от модели. | По умолчанию— |
Полеsession_id | Типjson_value | ТребованиеНеобязательно | Значения и ограничения Условия: Source допускает это поле метаданных JSON; точная семантика у исходного поставщика зависит от модели. | По умолчанию— |
Полеtrace | Типjson_value | ТребованиеНеобязательно | Значения и ограничения Условия: Source допускает это поле метаданных JSON; точная семантика у исходного поставщика зависит от модели. | По умолчанию— |
Полеprovider | Типobject | ТребованиеНеобязательно | Значения и ограничения Условия: provider.options отклоняется | По умолчанию— |
Сочетания входных материалов
text_to_embedding
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, input |
Параметрinput_shapes | Контрактstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Параметрencoding_format | Контрактfloat |
Параметрdimensions_override | Контрактfalse |
Параметрmax_input_budget_units | Контракт32000 |
Параметрmultimodal_objects | Контрактfalse |
Параметрmaterial_types | Контрактtext, token_ids |
Жизненный цикл: synchronous_json
Сохраняйте индекс и размерность каждого вектора.
Название мультимодальной модели не означает допуск объектов изображений на этом конкретном маршруте.
Тарифы
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Стандартный тариф При выборе быстрого режима
- Режим flex
- Стандартный тариф При выборе режима flex
- Максимальная интенсивность рассуждений
- Стандартный тариф При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Ставки Ailoot
Цены по конфигурациям
| Конфигурация | Шкала ставок | Плата |
|---|---|---|
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Плата Вход · Входные токены $0.00024 / 1K токенов Выход · Выходные токены $0 / 1K токенов Вход · Чтение кэша — / 1K токенов Вход · Запись в кэш — / 1K токенов Вход · Запись в кэш, 1 час — / 1K токенов |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Примеры запросов
Ailoot Ultra · Эмбеддинги
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "voyageai/voyage-4-large", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='voyageai/voyage-4-large',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Получить и сохранить результаты
Ailoot Ultra · Эмбеддинги
json
Сохраняйте все готовые результаты
Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.
Сохраняйте каждый вектор с его индексом. Число векторов должно совпадать с числом входных элементов; размерности должны быть согласованы.
Если нужно проверить исходный ответ
Отдельный эндпоинт заданий эмбеддингов не вводится.
Поля ответа
| Поле | Тип |
|---|---|
Полеobject | Типstring |
Полеmodel | Типstring |
Полеdata[].index | Типinteger |
Полеdata[].embedding | Типfinite float[] |
Полеusage | Типobject |
Ошибки и дальнейшие шаги
| Ответ | Условие | Следующий шаг |
|---|---|---|
Ответ400 · invalid_request_error | УсловиеНеверные обязательные поля, представление материалов или значение параметра | Следующий шагИсправьте указанные поля перед новым запросом на создание. |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra voyageai/voyage-4-large
Псевдонимы путей метода
Используйте пути методов, указанные выше.
Связанные ID для вызова
FAQ · VoyageAI by MongoDB: voyage-4-large
- Какие входные данные и результаты доступны?
POST /v1/embeddings·voyageai/voyage-4-large:text,token_ids→embedding- Какие поля использует запрос?
POST /v1/embeddings·voyageai/voyage-4-large:model,input,encoding_format,provider- Какие ограничения действуют?
POST /v1/embeddings·voyageai/voyage-4-large:ctx:32000;input.budget.maximum:32000(байты UTF8);input.min_items:1