BAAI: bge-m3
BAAI BGE-M3 поддерживает плотный, разреженный лексический и многовекторный поиск более чем на 100 языках. Плотный выход имеет 1024 измерения, а окно в 8192 токена вмещает как предложения, так и более длинные документы без обязательной инструкции к поисковому запросу.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
BGE-M3 — многоязычная поисковая модель BAAI, созданная вокруг трёх видов универсальности: нескольких поисковых функций, нескольких языков и разных длин входа. Производитель документирует поддержку более ста языков и входов до 8192 токенов. Единая модель может предоставлять плотные векторы, разреженные лексические веса и многовекторные представления, поэтому в поиске можно выбирать или сочетать несколько видов свидетельств.
Три представления для поиска
Плотный режим отображает текст в один 1024-мерный вектор. Он поддерживает сравнение смысла, представленного запросом и фрагментом. Разреженный режим назначает веса присутствующим в тексте токенам для лексического сопоставления. Многовекторный режим представляет текст несколькими векторами и использует взаимодействие в стиле ColBERT для сравнения запроса и документа на более детальном уровне.
Эти выходы имеют разные роли в поисковом индексе. Плотный вектор предоставляет одно представление фрагмента; разреженное отображение весов токенов сохраняет лексические сигналы; несколько векторов дают другую структуру сравнения. Примеры производителя показывают возврат выбранных представлений и вычисление оценок для пар текстов. Рассматривайте выбранное представление и метод оценивания как осознанную часть поисковой задачи.
Многоязычный текст и подготовка входа
BGE-M3 не требует добавления поисковой инструкции, использовавшейся ранними моделями BGE. Готовьте запрос и реальные исходные фрагменты напрямую. Многоязычная коллекция знаний может сохранять каждый фрагмент на исходном языке с идентификатором документа и локалью. Используйте реальные вопросы пользователей из целевого сочетания языков при проверке результатов.
Практическая задача — искать пояснения правил, помощь по продукту или техническую документацию на нескольких языках. Сохраняйте имена, номера моделей и термины, важные для вопроса. Лексическое представление может помогать сохранять совпадение по этим терминам, а плотное — предоставлять семантические свидетельства. Извлечённый фрагмент должен включать текст и местоположение источника, которые читатель может проверить.
Более длинные документы и размер фрагментов
Входное окно 8192 токена позволяет модели представлять материал от коротких предложений до более длинных документов. Выбирайте размер фрагментов вокруг ответа, который должен вернуть поиск. Целый раздел может сохранять определение и его исключения; меньший фрагмент может облегчить нахождение конкретной инструкции. Длинное окно делает эти варианты возможными, но вектор остаётся связанным с реально закодированным материалом.
Сохраняйте связь каждого фрагмента с родительским документом и версией. Для длинного отчёта сохраняйте заголовок и окружающее объяснение соответствующего показателя или вывода. Не полагайтесь только на заголовок результата поиска, когда свидетельства находятся в основном тексте. Если источник меняется, сохраняйте достаточно метаданных для обновления соответствующих поисковых представлений.
Гибридные оценки и последующее использование
Производитель рекомендует гибридный поиск с последующим отдельным этапом перерангирования. Его примеры вычисляют плотные, разреженные и многовекторные оценки и формируют взвешенные комбинации. Выбирайте комбинацию с учётом вопросов и словаря коллекции; вес из примера не является универсальной настройкой для любого корпуса.
Полезный результат — набор кандидатов с доступными исходными фрагментами и зафиксированными представлением и методом ранжирования. Отдельный реранкер может уточнить этот набор, а отдельный этап генерации текста — использовать содержимое фрагментов. Разреженные и многовекторные возможности BGE-M3 — режимы модели у производителя; плотный эмбеддинг, лексический вывод и оценка пары являются разными артефактами, а не взаимозаменяемыми массивами.
Ailoot Ultra · Эмбеддинги POST /v1/embeddings baai/bge-m3
baai/bge-m3Начало
BAAI BGE-M3 поддерживает плотный, разреженный лексический и многовекторный поиск более чем на 100 языках. Плотный выход имеет 1024 измерения, а окно в 8192 токена вмещает как предложения, так и более длинные документы без обязательной инструкции к поисковому запросу.
- Допустимые входные данные
- Текст · token_ids
- Результаты
- embedding
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Эмбеддинги POST /v1/embeddings
- Входные данные
text,token_ids- Результат
embedding- Контекст
- 8 194 tokens
- Выходной формат
- json
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения baai/bge-m3 | По умолчанию— |
Полеinput | Типstring|string[]|integer[]|integer[][] | ТребованиеОбязательно | Значения и ограничения Минимум элементов: 1 Условия: Непустой однородный пакет. ID токенов — неотрицательные целые числа. Входной бюджет: Максимум: 8 194 · Текстовая единица: байты 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 | Контракт8194 |
Параметрmultimodal_objects | Контрактfalse |
Параметрmaterial_types | Контрактtext, token_ids |
Жизненный цикл: synchronous_json
Сохраняйте индекс и размерность каждого вектора.
Название мультимодальной модели не означает допуск объектов изображений на этом конкретном маршруте.
Тарифы
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Стандартный тариф При выборе быстрого режима
- Режим flex
- Стандартный тариф При выборе режима flex
- Максимальная интенсивность рассуждений
- Стандартный тариф При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Ставки Ailoot
Цены по конфигурациям
| Конфигурация | Шкала ставок | Плата |
|---|---|---|
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Плата Вход · Входные токены $0.00004 / 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": "baai/bge-m3", "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='baai/bge-m3',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 baai/bge-m3
Псевдонимы путей метода
Используйте пути методов, указанные выше.
Связанные ID для вызова
FAQ · BAAI: bge-m3
- Какие входные данные и результаты доступны?
POST /v1/embeddings·baai/bge-m3:text,token_ids→embedding- Какие поля использует запрос?
POST /v1/embeddings·baai/bge-m3:model,input,encoding_format,provider- Какие ограничения действуют?
POST /v1/embeddings·baai/bge-m3:ctx:8194;input.budget.maximum:8194(байты UTF8);input.min_items:1