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