Sentence Transformers: multi-qa-mpnet-base-dot-v1
Sentence Transformers multi-qa-mpnet-base-dot-v1 кодирует вопросы и фрагменты в 768-мерные векторы для семантического поиска. Она использует CLS-пулинг и ненормализованные эмбеддинги для оценивания скалярным произведением с входным лимитом 512 подсловных единиц.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
multi-qa-mpnet-base-dot-v1 — модель Sentence Transformers для поиска текстовых фрагментов по вопросу или запросу. При её обучении использовались около 215 миллионов пар «вопрос–ответ». Каждый вход превращается в 768-мерный плотный вектор; CLS-пулинг и оценивание скалярным произведением определяют это конкретное издание.
Подготовьте вопрос и кандидатные фрагменты
Сформулируйте запрос как информационную потребность, а записи корпуса подготовьте как читаемые текстовые фрагменты. Например, вопрос об изменении адреса доставки можно сравнить с отдельными абзацами об изменении адреса, отмене заказа и отслеживании доставки. Сохраняйте нужные условия во фрагменте об изменении адреса, включая то, отправлен ли заказ уже.
Кодируйте запрос и фрагменты этой же моделью. Опубликованный пример делает это напрямую, без префикса query/document, и сортирует фрагменты по оценкам скалярного произведения. Сохраняйте связь каждого вектора с исходным фрагментом и идентификатором документа, чтобы ранжированный результат показывал реально проиндексированный материал.
CLS-пулинг и издание со скалярным произведением
Эталонный рецепт модели берёт представление первого токена — это называется CLS-пулингом. Техническая таблица прямо указывает, что эмбеддинги не нормализованы, и называет скалярное произведение подходящей функцией оценивания. Сохраняйте этот рецепт при настройке коллекции и стороны запросов.
L2-нормализация этих векторов меняет геометрию оценивания. Нормализованный профиль all-mpnet-base-v2 использует другой рецепт и является отдельной контрольной точкой, несмотря на общее семейство MPNet и выход из 768 компонентов. Храните точное издание и функцию сравнения вместе с коллекцией, вместо выбора только по длине вектора.
Ограничение длины и более длинные фрагменты
Указанный входной лимит — 512 подсловных единиц; более длинный текст обрезается. Производитель также отмечает, что обучающие входы достигали только 250 подсловных единиц и более длинный текст может работать хуже. Поэтому принимаемая токенизатором длина и оговорка о длине обучения описывают разные практические границы.
Для большой справочной статьи готовьте короткие разделы, отвечающие на конкретные вопросы. Сохраняйте заголовок, когда он обозначает тему, и правило вместе с исключением, необходимым для правильного прочтения. Один вход на целую страницу может потерять поздний материал из-за обрезки, а слишком маленький фрагмент — условие, которое делает его полезным.
Используйте ранжирование в поиске и RAG
Плотные векторы поддерживают первый этап поиска. Возвращайте кандидатные фрагменты с наибольшими оценками и ссылками на источники, затем проверяйте, отвечают ли они на реальный вопрос. В процессе RAG передавайте эти фрагменты этапу подготовки ответа как исходный материал; сам поиск не составляет ответ.
Используйте репрезентативные вопросы с известными релевантными фрагментами для выбора количества результатов и оценки ранжирования. Включайте примеры с похожей лексикой, но разными намерениями, например изменение адреса и просмотр текущего адреса. Интерпретируйте оценки относительно кандидатов при одной модели и настройке оценивания, а не как калиброванные вероятности правильности.
Полезный выход этой контрольной точки — пространство эмбеддингов вопросов и фрагментов для семантического поиска. Её ненормализованные векторы, CLS-пулинг, оценка скалярным произведением и опубликованная оговорка о длинных входах — детали, которые нужно сохранять при подготовке и использовании результатов.
Ailoot Ultra · Эмбеддинги POST /v1/embeddings sentence-transformers/multi-qa-mpnet-base-dot-v1
sentence-transformers/multi-qa-mpnet-base-dot-v1
sentence-transformers/multi-qa-mpnet-base-dot-v1Начало
Sentence Transformers multi-qa-mpnet-base-dot-v1 кодирует вопросы и фрагменты в 768-мерные векторы для семантического поиска. Она использует CLS-пулинг и ненормализованные эмбеддинги для оценивания скалярным произведением с входным лимитом 512 подсловных единиц.
- Допустимые входные данные
- Текст · token_ids
- Результаты
- embedding
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Эмбеддинги POST /v1/embeddings
- Входные данные
text,token_ids- Результат
embedding- Выходной формат
- json
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения sentence-transformers/multi-qa-mpnet-base-dot-v1 | По умолчанию— |
Полеinput | Типstring|string[]|integer[]|integer[][] | ТребованиеОбязательно | Значения и ограничения Минимум элементов: 1 Условия: Непустой однородный пакет. ID токенов — неотрицательные целые числа. Входной бюджет: Максимум: 512 · Текстовая единица: байты 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 | Контракт512 |
Параметрmultimodal_objects | Контрактfalse |
Параметрmaterial_types | Контрактtext, token_ids |
Жизненный цикл: synchronous_json
Сохраняйте индекс и размерность каждого вектора.
Название мультимодальной модели не означает допуск объектов изображений на этом конкретном маршруте.
Тарифы
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Ставки Ailoot
Цены по конфигурациям
| Конфигурация | Шкала ставок | Плата |
|---|---|---|
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Плата Вход · Входные токены $0.00001 / 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": "sentence-transformers/multi-qa-mpnet-base-dot-v1", "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='sentence-transformers/multi-qa-mpnet-base-dot-v1',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 sentence-transformers/multi-qa-mpnet-base-dot-v1
Псевдонимы путей метода
Используйте пути методов, указанные выше.
Связанные ID для вызова
FAQ · Sentence Transformers: multi-qa-mpnet-base-dot-v1
- Какие входные данные и результаты доступны?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:text,token_ids→embedding- Какие поля использует запрос?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:model,input,encoding_format,provider- Какие ограничения действуют?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:input.budget.maximum:512(байты UTF8);input.min_items:1