Sentence Transformers: all-MiniLM-L12-v2
Sentence Transformers all-MiniLM-L12-v2 кодирует предложения и короткие абзацы в 384-мерные векторы для поиска, оценки сходства и кластеризации. Эталонный рецепт использует усредняющий пулинг и нормализацию с обрезкой по умолчанию на 256 подсловных единицах.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
all-MiniLM-L12-v2 — кодировщик Sentence Transformers для предложений и коротких абзацев. Он создаёт один 384-мерный плотный вектор на текст для семантического поиска, поиска информации, кластеризации и оценки сходства предложений. Модель использует основу MiniLM-L12-H384-uncased и дообучена методом контрастивного обучения на коллекции из миллиарда пар предложений.
Кодируйте единицу, которую хотите найти
Используйте предложение или короткий абзац, выражающий одну полезную мысль. Для коллекции описаний продуктов сохраняйте характеристику и условие, отличающие товар: «Адаптер подключает проводную гарнитуру к порту USB-C» информативнее, чем «Аудиоаксессуар». Храните идентификатор записи и исходное описание рядом с её вектором.
Поисковый запрос затем можно сравнивать с закодированными описаниями. Проверяйте возвращённых кандидатов на точные требования, например тип разъёма или совместимость устройства, до представления окончательного выбора. Вектор представляет смысл текста; окружающее поисковое приложение извлекает соответствующие записи.
Усредняющий пулинг и нормализованные векторы
Опубликованный пример кодирования усредняет представления токенов с маской внимания, поэтому позиции заполнения не вносят вклад в среднее. Затем он применяет L2-нормализацию. Эти этапы являются частью эталонного рецепта получения вектора предложения, а не инструкцией брать произвольный токен из базового трансформера.
Сохраняйте согласованную конфигурацию модели, пулинга и нормализации для индексированных текстов и новых запросов. Полученные представления из 384 компонентов можно сравнивать косинусным сходством. Храните запись этой конфигурации вместе с коллекцией; другой 384-мерный кодировщик не становится совместимым только из-за одинаковой длины векторов.
Длина входа по умолчанию и область обучения
Производитель задаёт обрезку по умолчанию после 256 подсловных единиц. Это предел токенизатора, а не число обычных слов или символов. Для более длинной записи выбирайте связные короткие разделы и сохраняйте заголовок или идентифицирующую деталь, необходимую для интерпретации каждого.
Процедура обучения модели использовала последовательности до 128 токенов. Эта настройка обучения отдельна от опубликованной настройки по умолчанию на 256 подсловных единиц при кодировании. Фрагмент, помещающийся в предел по умолчанию, всё равно может значительно отличаться от материала коротких предложений, использованного при обучении, поэтому оценивайте длинные или специальные описания на репрезентативных примерах.
Процессы сравнения сходства и кластеризации
Для набора сообщений поддержки эмбеддинги могут давать числовые входы этапу группировки. Проверяйте несколько сообщений из каждой предлагаемой группы и сообщения рядом с её границей до присвоения понятной человеку метки. Для проверки дублирующегося содержимого находите похожие записи и сравнивайте реальные формулировки: два фрагмента могут обсуждать одну тему, но давать разные инструкции.
Это конкретное издание L12-v2 — англоязычный профиль эмбеддингов предложений. Оно отличается от all-MiniLM-L6-v2 и контрольных точек paraphrase-MiniLM. Общие имена семейств не переносят их конфигурацию последовательности или рецепт пулинга. Используйте компактные плотные векторы вместе с исходными записями и оценкой конкретной задачи, вместо трактовки значения сходства как проверенного ответа или окончательного редакторского решения.
Ailoot Ultra · Эмбеддинги POST /v1/embeddings sentence-transformers/all-minilm-l12-v2
sentence-transformers/all-minilm-l12-v2
sentence-transformers/all-minilm-l12-v2Начало
Sentence Transformers all-MiniLM-L12-v2 кодирует предложения и короткие абзацы в 384-мерные векторы для поиска, оценки сходства и кластеризации. Эталонный рецепт использует усредняющий пулинг и нормализацию с обрезкой по умолчанию на 256 подсловных единицах.
- Допустимые входные данные
- Текст · token_ids
- Результаты
- embedding
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Эмбеддинги POST /v1/embeddings
- Входные данные
text,token_ids- Результат
embedding- Выходной формат
- json
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения sentence-transformers/all-minilm-l12-v2 | По умолчанию— |
Поле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/all-minilm-l12-v2", "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/all-minilm-l12-v2',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/all-minilm-l12-v2
Псевдонимы путей метода
Используйте пути методов, указанные выше.
Связанные ID для вызова
FAQ · Sentence Transformers: all-MiniLM-L12-v2
- Какие входные данные и результаты доступны?
POST /v1/embeddings·sentence-transformers/all-minilm-l12-v2:text,token_ids→embedding- Какие поля использует запрос?
POST /v1/embeddings·sentence-transformers/all-minilm-l12-v2:model,input,encoding_format,provider- Какие ограничения действуют?
POST /v1/embeddings·sentence-transformers/all-minilm-l12-v2:input.budget.maximum:512(байты UTF8);input.min_items:1