models

VoyageAI by MongoDB: voyage-code-4

Markdown · JSON

VoyageAI by MongoDB: voyage-code-4

Voyage AI voyage-code-4 — модель эмбеддингов кода для поиска нужных исходников по вопросам, описаниям проблем и целям программирующего агента. Поддерживает входы до 32 000 токенов и размерности 256, 512, 1024 или 2048, представления с плавающей точкой и квантованные представления.

О модели

Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.

voyage-code-4 — специализированная модель эмбеддингов кода от Voyage AI для поиска по репозиториям и подбора материалов программирующими агентами. Она помогает находить нужные исходники, когда отправная точка — вопрос, симптом или описание задачи, а не известный идентификатор. Модель представляет код и текстовую информацию числовыми векторами для поиска; она не редактирует репозиторий и не генерирует исправление.

Ищите код по исследуемой проблеме

Производитель описывает обучающий корпус, отобранный из завершённых pull request и связывающий запросы на естественном языке с кодом. Это существенное отличие от обучающих примеров, построенных главным образом вокруг исходных файлов и их строк документации: поиск может начинаться с поведения, которое требуется исследовать.

Подготовьте запрос, например: «Найди, где пустой результат приводит к тому, что успешная операция отмечается как неудачная». Индексируйте читаемые участки исходников вместе с путями файлов и относящимися к ним комментариями. Сохраняйте окружающие функцию условия, если они объясняют её поведение. Возвращённый кандидат должен вести читателя или агента к участку исходников, который он представляет.

Семантический поиск может дополнять точный поиск по идентификаторам и полнотекстовый поиск. Если имя функции уже известно, точный поиск остаётся полезным. Если известен только симптом, векторный поиск может предложить кандидатов для проверки и уточнения другим запросом.

Роли запроса и документа

Рекомендации Voyage по поиску различают запрос и документ корпуса с помощью типов входа query/document. Для поиска кода используйте описание проблемы или задачи как запрос, а индексируемые исходники или документацию — как документ. Опубликованный пример добавляет при создании эмбеддингов инструкции поиска для соответствующей роли.

Сохраняйте исходное форматирование кода, имена и относящуюся к нему документацию отдельно от вектора. Для участка исходников храните путь файла и расположение; для руководства по программированию — заголовок. После поиска проверьте сам код и вызывающие его участки, прежде чем выбирать правку. Релевантность кандидата не доказывает, что он является единственной причиной заявленной проблемы.

Контекст и варианты представления

Опубликованная длина контекста этой конкретной модели — 32 000 токенов. Эмбеддинг по умолчанию имеет размерность 1024; размерности 256, 512 и 2048 также поддерживаются благодаря обучению Matryoshka. В анонсе документированы 32-битные представления с плавающей точкой, знаковые и беззнаковые 8-битные целочисленные и бинарные представления.

Выберите одну размерность и представление для коллекции и сохраните их в её метаданных. Векторы с плавающей точкой и квантованные представления требуют соответствующей обработки при хранении и сравнении. Бинарное представление кодирует информацию вектора иначе, чем список обычных координат с плавающей точкой; сохраняйте это различие при подготовке результатов для поиска.

Для длинного файла выбирайте связные участки, расположение которых в исходниках можно восстановить. Функции может требоваться соседнее определение типа или комментарий для объяснения условия, тогда как целый слишком большой файл может содержать несвязанные материалы. Согласуйте участок с задачей поиска, а не считайте максимальный контекст предпочтительным размером фрагмента.

Используйте найденные исходники как доказательную основу

Практический процесс программирующего агента находит исходники-кандидаты, читает эти файлы, следует по нужным ссылкам и сужает поиск по мере исследования. Найденный текст становится контекстом для этапа рассуждения или редактирования. Сохраняйте его связь с индексированной ревизией репозитория, чтобы проверять кандидата по правильным исходникам.

Особенность версии voyage-code-4 — внимание к поиску кода по описанию проблемы, который используют программирующие агенты, вместе с гибкими размерностями и представлениями. Её выход — вектор для поиска, тогда как диагностика, редактирование и проверка остаются отдельными задачами, опирающимися на реальный репозиторий.

Ailoot Ultra · Эмбеддинги POST /v1/embeddings voyageai/voyage-code-4

voyageai/voyage-code-4

VoyageAI by MongoDB /voyageai/voyage-code-4

Начало

Voyage AI voyage-code-4 — модель эмбеддингов кода для поиска нужных исходников по вопросам, описаниям проблем и целям программирующего агента. Поддерживает входы до 32 000 токенов и размерности 256, 512, 1024 или 2048, представления с плавающей точкой и квантованные представления.

Допустимые входные данные
Текст · token_ids
Результаты
embedding

Доступно в Ailoot · входные данные и методы

Ailoot Ultra · Эмбеддинги POST /v1/embeddings
Входные данные
text, token_ids
Результат
embedding
Контекст
32 000 tokens
Выходной формат
json
ПолеТипТребованиеЗначения и ограниченияПо умолчанию
ПолеmodelТипstringТребованиеОбязательноЗначения и ограничения
voyageai/voyage-code-4
По умолчанию—
Поле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 · Эмбеддинги

curlPython SDK
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-code-4", "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-code-4',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-code-4

Псевдонимы путей метода

Используйте пути методов, указанные выше.

Связанные ID для вызова

voyageai/voyage-code-4

FAQ · VoyageAI by MongoDB: voyage-code-4
Какие входные данные и результаты доступны?

POST /v1/embeddings · voyageai/voyage-code-4: text, token_ids → embedding

Какие поля использует запрос?

POST /v1/embeddings · voyageai/voyage-code-4: model, input, encoding_format, provider

Какие ограничения действуют?

POST /v1/embeddings · voyageai/voyage-code-4: ctx: 32000; input.budget.maximum: 32000 (байты UTF8); input.min_items: 1

Подробнее

Подключите Ailoot к Claude Code, OpenCode, Hermes или своему приложению.

Компания и портфель её проектов

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

Покупайте токены со скидкой.

Скидка по подписке для регулярной работы. Промокоды — до 50% на покупку токенов.

Подписка
Выберите тариф со скидкой для своих регулярных запросов.
Промокод до 50%
Введите код при покупке. Цена пересчитается с учётом действующей акции.
Расходы в истории
Модель, токены и сумма сохраняются для каждого запроса.

Выбрать подписку · Посмотреть цены моделей

Подключайте API к продукту, который вы продаёте.

SaaS, приложения и боты — по оферте и лицензионному договору Ailoot. Для перепродажи запросите реселлерскую лицензию.

Коммерческое приложение
Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.
Лицензия для реселлера
Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.
Документы на сайте
Оферта, лицензионный договор и политика обработки данных доступны до подключения.

Запросить реселлерскую лицензию · Оферта и лицензионный договор