Google: Gemini Embedding 2
Gemini Embedding 2 отображает текст, изображения, аудио, видео и PDF в общее числовое пространство. Её векторы поддерживают межмодальный поиск, подбор материалов, классификацию и кластеризацию, с гибкой размерностью и лимитом входа 8192 токена.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Gemini Embedding 2 — мультимодальная модель эмбеддингов Google для числового представления текста, изображений, видео, аудио и PDF. Она отображает разные типы медиа в общее пространство, чтобы приложение могло сравнивать их смысл. Результат — вектор чисел, полезный для семантического поиска, подбора документов, рекомендаций, классификации или кластеризации; это не письменный ответ и не сгенерированный медиафайл. Google документирует семантический охват более чем 100 языков.
Для базы знаний создайте векторы исходных фрагментов, сравните с ними запрос пользователя и найдите нужные материалы. Затем отдельная текстовая модель может составить ответ на основе этих источников. В медиаколлекции текстовое описание может искать связанные изображения или видео; изображение также может служить запросом. Сохраняйте связь каждого вектора с исходным контентом, включая ссылку на страницу или клип, чтобы найденный результат можно было проверить и показать в исходном контексте.
Общий лимит входа — 8192 токена. Руководство стабильной модели допускает до шести изображений PNG или JPEG, до 180 секунд аудио MP3 или WAV и до 120 секунд видео MP4 или MOV. Документированные видеокодеки — H264, H265, AV1 и VP9. При обработке видео используется не более 32 кадров: из клипов длительностью до 32 секунд выбирается один кадр в секунду, а из более длинных клипов равномерно выбираются 32 кадра. Звуковая дорожка видео не обрабатывается в этом видеовходе; создайте эмбеддинг звука отдельно, если он важен для поиска.
Вход PDF принимает один файл не более чем с шестью страницами. Для наилучшего качества Google рекомендует одну страницу на PDF. Разделяйте более крупный источник на осмысленные страницы или разделы и сохраняйте их связь с исходным документом. Выбирайте фрагмент, представляющий то, что должно находиться поиском, вместо объединения несвязанных материалов только потому, что они помещаются в лимит. Общая граница токенов по-прежнему действует для запроса со смешанными медиа. Каждая страница PDF расходует 258 визуальных токенов помимо токенов извлечённого текста. В документированном процессе Google контент, превышающий общий лимит 8192 токена, усекается без ошибки.
Размерность выхода гибко меняется от 128 до 3072, со значением по умолчанию 3072 и рекомендуемыми размерами 768, 1536 и 3072. Модель использует Matryoshka Representation Learning, поэтому начальные части вектора остаются полезными при меньшей размерности. Руководство документирует автоматическую нормализацию как стандартных, так и укороченных векторов. Выберите единую размерность для записей и запросов, которые сравнивает приложение; запрошенный размер меняет числовое представление, а не сам исходный контент.
Для задач только с текстом включайте назначение в текст вместо старого поля task_type. Google различает асимметричный поиск и симметричное сравнение. Поисковый запрос использует «task: search result | query: {content}», а исходный документ — «title: {title} | text: {content}»; при отсутствии заголовка используйте «title: none». Задачи ответов на вопросы, проверки фактов и поиска кода имеют собственные префиксы запросов. Для классификации, кластеризации или сходства предложений последовательно используйте одинаковый формат задачи на обеих сторонах. Руководство в целом рекомендует не добавлять префикс задачи к текстовой части объединённого мультимодального представления.
Структура входа определяет, представляет ли результат один объединённый объект или отдельные элементы. Несколько частей, переданных вместе, создают агрегированный эмбеддинг; отдельные объекты Content создают отдельные эмбеддинги для каждой записи. Для публикации с текстом и изображением объединённое представление может отразить их связь. Для записей, которые должны находиться независимо, сохраняйте разделение. Этот выбор влияет на детализацию поиска: один вектор для всей публикации отличается от вектора для каждого фрагмента или изображения.
Руководство указывает, что векторы Gemini Embedding 001 и Gemini Embedding 2 занимают несовместимые пространства и не могут сравниваться напрямую. При переносе коллекции со старой модели требуется заново создать эмбеддинги для нового пространства. Согласуйте выбор модели и размерности со сравниваемыми векторами и храните исходные текст и медиа отдельно от числового индекса. Сходство эмбеддингов — сигнал для поиска, а не фактическое объяснение того, почему документ отвечает на вопрос пользователя.
Для практического каталога создайте общий эмбеддинг фотографии товара и утверждённого описания, если эта пара должна находиться как один объект. Для коллекции документов создайте эмбеддинги целевых фрагментов и сравните их с запросом, отформатированным по назначению, затем покажите исходные фрагменты вместе с результатом поиска. Для аудио или видео выберите эпизод, описывающий искомое событие, и сохраните его исходный временной диапазон. Полезный результат — числовое представление, связанное с исходными доказательными материалами для следующего этапа поиска или анализа приложения.
Ailoot Ultra · Эмбеддинги POST /v1/embeddings google/gemini-embedding-2
google/gemini-embedding-2Начало
Gemini Embedding 2 отображает текст, изображения, аудио, видео и PDF в общее числовое пространство. Её векторы поддерживают межмодальный поиск, подбор материалов, классификацию и кластеризацию, с гибкой размерностью и лимитом входа 8192 токена.
- Допустимые входные данные
- Текст · token_ids
- Результаты
- embedding
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Эмбеддинги POST /v1/embeddings
- Входные данные
text,token_ids- Результат
embedding- Контекст
- 8 192 tokens
- Выходной формат
- json
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения google/gemini-embedding-2 | По умолчанию— |
Полеinput | Типstring|string[]|integer[]|integer[][] | ТребованиеОбязательно | Значения и ограничения Минимум элементов: 1 Условия: Непустой однородный пакет. ID токенов — неотрицательные целые числа. Входной бюджет: Максимум: 8 192 · Текстовая единица: байты 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 | Контракт8192 |
Параметрmultimodal_objects | Контрактfalse |
Параметрmaterial_types | Контрактtext, token_ids |
Жизненный цикл: synchronous_json
Сохраняйте индекс и размерность каждого вектора.
Название мультимодальной модели не означает допуск объектов изображений на этом конкретном маршруте.
Тарифы
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Стандартный тариф При выборе быстрого режима
- Режим flex
- Стандартный тариф При выборе режима flex
- Максимальная интенсивность рассуждений
- Стандартный тариф При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Ставки Ailoot
Цены по конфигурациям
| Конфигурация | Шкала ставок | Плата |
|---|---|---|
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Плата Вход · Входные токены $0.0004 / 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": "google/gemini-embedding-2", "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='google/gemini-embedding-2',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 google/gemini-embedding-2
Псевдонимы путей метода
Используйте пути методов, указанные выше.
Связанные ID для вызова
FAQ · Google: Gemini Embedding 2
- Какие входные данные и результаты доступны?
POST /v1/embeddings·google/gemini-embedding-2:text,token_ids→embedding- Какие поля использует запрос?
POST /v1/embeddings·google/gemini-embedding-2:model,input,encoding_format,provider- Какие ограничения действуют?
POST /v1/embeddings·google/gemini-embedding-2:ctx:8192;input.budget.maximum:8192(байты UTF8);input.min_items:1