Эмбеддинги — это числовое представление входного текста, открывающее множество уникальных возможностей применения, таких как кластеризация, измерение сходства и поиск информации. Для ознакомления с ними обратитесь к руководству по эмбеддингам .
В отличие от генеративных моделей ИИ, создающих новый контент, модель Gemini Embedding предназначена только для преобразования формата ваших входных данных в числовое представление. Хотя Google отвечает за предоставление модели встраивания, которая преобразует формат ваших входных данных в запрошенный числовой формат, пользователи сохраняют полную ответственность за вводимые ими данные и полученные в результате встраивания. Используя модель Gemini Embedding, вы подтверждаете, что обладаете необходимыми правами на любой загружаемый вами контент. Не создавайте контент, нарушающий права интеллектуальной собственности или права на неприкосновенность частной жизни других лиц. Использование вами этого сервиса регулируется нашей Политикой запрещенного использования и Условиями использования Google .
Метод: models.embedContent
Генерирует вектор текстового встраивания из входного Content , используя указанную модель встраивания Gemini .
Конечная точка
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:embedContentПараметры пути
string modelОбязательно. Имя ресурса модели. Оно служит идентификатором для используемой модели.
Это имя должно совпадать с именем модели, возвращаемым методом models.list .
Формат: models/{model} Он принимает вид models/{model} .
Текст запроса
Тело запроса содержит данные следующей структуры:
contentobject ( Content ) Обязательно. Содержимое для встраивания. Учитываться будут только поля parts.text .
taskTypeenum ( TaskType ) Необязательно. Необязательный тип задачи, для которой будут использоваться эмбеддинги. Не поддерживается в более ранних моделях ( models/embedding-001 ).
string title Необязательно. Необязательный заголовок для текста. Применимо только в том случае, если TaskType имеет значение RETRIEVAL_DOCUMENT .
Примечание: указание title для RETRIEVAL_DOCUMENT обеспечивает более высокое качество векторных представлений для поиска.
outputDimensionalityinteger Необязательный параметр. Необязательная уменьшенная размерность для выходного векторного представления. Если задано, избыточные значения в выходном векторном представлении будут обрезаны с конца. Поддерживается только более новыми моделями, выпущенными с 2024 года. Вы не можете установить это значение, если используете более раннюю модель ( models/embedding-001 ).
Пример запроса
Python
Node.js
Идти
Оболочка
Ответный текст
В случае успеха тело ответа будет содержать экземпляр класса EmbedContentResponse .
Метод: models.batchEmbedContents
Генерирует несколько векторов встраивания из входного Content , которое представляет собой набор строк, представленных в виде объектов EmbedContentRequest .
Конечная точка
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:batchEmbedContentsПараметры пути
string modelОбязательно. Имя ресурса модели. Оно служит идентификатором для используемой модели.
Это имя должно совпадать с именем модели, возвращаемым методом models.list .
Формат: models/{model} Он принимает вид models/{model} .
Текст запроса
Тело запроса содержит данные следующей структуры:
requests[]object ( EmbedContentRequest ) Обязательно. Запросы на встраивание для пакета. Модель в каждом из этих запросов должна соответствовать модели, указанной в BatchEmbedContentsRequest.model .
Пример запроса
Python
Node.js
Идти
Оболочка
Ответный текст
Ответ на запрос BatchEmbedContentsRequest .
В случае успеха тело ответа содержит данные следующей структуры:
embeddings[]object ( ContentEmbedding )Только выходные данные. Эмбеддинги для каждого запроса в том же порядке, в котором они были предоставлены в пакетном запросе.
| JSON-представление |
|---|
{
"embeddings": [
{
object ( |
Метод: models.asyncBatchEmbedContent
Добавляет в очередь пакет запросов models.embedContent для пакетной обработки. У нас есть обработчик models.batchEmbedContents в GenerativeService , но он был синхронизированным. Поэтому мы назвали этот обработчик Async , чтобы избежать путаницы.
Конечная точка
posthttps: / /generativelanguage.googleapis.com /v1beta /{batch.model=models /*}:asyncBatchEmbedContentПараметры пути
batch.modelstring Обязательно. Название Model , которая будет использоваться для генерации автозавершения.
Формат: models/{model} . Он принимает вид models/{model} .
Текст запроса
Тело запроса содержит данные следующей структуры:
batch.namestringТолько вывод. Идентификатор. Имя ресурса пакета.
Формат: batches/{batchId} .
batch.displayNamestringОбязательно. Заданное пользователем имя для этой партии.
batch.inputConfigobject ( InputEmbedContentConfig )Обязательно. Введите конфигурацию экземпляров, на которых выполняется пакетная обработка.
batch.outputobject ( EmbedContentBatchOutput )Только вывод. Результат пакетного запроса.
batch.createTimestring ( Timestamp format)Только вывод. Время создания пакета.
Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .
batch.endTimestring ( Timestamp format)Только выходные данные. Время завершения пакетной обработки.
Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .
batch.updateTimestring ( Timestamp format)Только вывод. Время последнего обновления пакета.
Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .
batch.batchStatsobject ( EmbedContentBatchStats )Только вывод. Статистика по партии.
batch.stateenum ( BatchState )Только вывод. Состояние пакета.
batch.prioritystring ( int64 format)Необязательный параметр. Приоритет партии. Партии с более высоким приоритетом будут обрабатываться раньше партий с более низким приоритетом. Допускаются отрицательные значения. Значение по умолчанию — 0.
Ответный текст
В случае успеха тело ответа содержит экземпляр Operation .
EmbedContentResponse
Ответ на запрос EmbedContentRequest .
embeddingobject ( ContentEmbedding )Только вывод. Встраивание, сгенерированное на основе входного содержимого.
| JSON-представление |
|---|
{
"embedding": {
object ( |
Встраивание контента
Список чисел с плавающей запятой, представляющих собой векторное представление.
values[]numberЗначения встраивания.
shape[]integerВ этом поле хранится форма тензора мягких токенов (например, [1, 1, 256, 2048]).
| JSON-представление |
|---|
{ "values": [ number ], "shape": [ integer ] } |
TaskType
Тип задачи, для которой будет использоваться векторное представление.
| Перечисления | |
|---|---|
TASK_TYPE_UNSPECIFIED | Значение не задано, по умолчанию будет использоваться одно из других значений перечисления. |
RETRIEVAL_QUERY | Указывает, что данный текст является поисковым запросом в контексте поиска/извлечения информации. |
RETRIEVAL_DOCUMENT | Указывает, что данный текст является документом из корпуса, в котором ведется поиск. |
SEMANTIC_SIMILARITY | Указывает, какой текст будет использоваться для STS (Self-Through Text Scheme). |
CLASSIFICATION | Указывает, что данный текст будет засекречен. |
CLUSTERING | Указывает, что эмбеддинги будут использоваться для кластеризации. |
QUESTION_ANSWERING | Указывает, что данный текст будет использоваться для ответа на вопросы. |
FACT_VERIFICATION | Указывает, что данный текст будет использован для проверки фактов. |
CODE_RETRIEVAL_QUERY | Указывает, что данный текст будет использоваться для извлечения кода. |
EmbedContentBatch
- JSON-представление
- InputEmbedContentConfig
- InlinedEmbedContentRequests
- InlinedEmbedContentRequest
- EmbedContentBatchOutput
- InlinedEmbedContentResponses
- InlinedEmbedContentResponse
- EmbedContentBatchStats
Ресурс, представляющий собой пакет запросов EmbedContent .
string model Обязательно. Название Model , которая будет использоваться для генерации автозавершения.
Формат: models/{model} .
string nameТолько вывод. Идентификатор. Имя ресурса пакета.
Формат: batches/{batchId} .
displayNamestringОбязательно. Заданное пользователем имя для этой партии.
inputConfigobject ( InputEmbedContentConfig )Обязательно. Введите конфигурацию экземпляров, на которых выполняется пакетная обработка.
outputobject ( EmbedContentBatchOutput )Только вывод. Результат пакетного запроса.
createTimestring ( Timestamp format)Только вывод. Время создания пакета.
Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .
endTimestring ( Timestamp format)Только выходные данные. Время завершения пакетной обработки.
Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .
updateTimestring ( Timestamp format)Только вывод. Время последнего обновления пакета.
Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .
batchStatsobject ( EmbedContentBatchStats )Только вывод. Статистика по партии.
stateenum ( BatchState )Только вывод. Состояние пакета.
prioritystring ( int64 format)Необязательный параметр. Приоритет партии. Партии с более высоким приоритетом будут обрабатываться раньше партий с более низким приоритетом. Допускаются отрицательные значения. Значение по умолчанию — 0.
| JSON-представление |
|---|
{ "model": string, "name": string, "displayName": string, "inputConfig": { object ( |
InputEmbedContentConfig
Настраивает входные данные для пакетного запроса.
sourceUnion typesource может быть только одним из следующих: string fileName Имя File , содержащего входные запросы.
requestsobject ( InlinedEmbedContentRequests )Запросы, подлежащие обработке в пакетном режиме.
| JSON-представление |
|---|
{
// source
"fileName": string,
"requests": {
object ( |
InlinedEmbedContentRequests
Запросы, подлежащие обработке в пакетном режиме, если они указаны в запросе на создание пакета.
requests[]object ( InlinedEmbedContentRequest )Обязательно. Запросы, подлежащие обработке в пакетном режиме.
| JSON-представление |
|---|
{
"requests": [
{
object ( |
InlinedEmbedContentRequest
Запрос, подлежащий обработке в пакетном режиме.
requestobject ( EmbedContentRequest )Обязательно. Запрос, подлежащий обработке в пакетном режиме.
metadataobject ( Struct format)Необязательно. Метаданные, которые будут связаны с запросом.
| JSON-представление |
|---|
{
"request": {
object ( |
EmbedContentBatchOutput
Результат пакетного запроса. Он возвращается в поле AsyncBatchEmbedContentResponse или EmbedContentBatch.output .
outputUnion typeoutput пакетного запроса может быть только один из следующих вариантов: responsesFilestring Только вывод. Идентификатор файла, содержащего ответы. Файл будет представлять собой JSONL-файл с одним ответом на строку. Ответы будут представлять собой сообщения EmbedContentResponse отформатированные как JSON. Ответы будут записываться в том же порядке, что и входные запросы.
inlinedResponsesobject ( InlinedEmbedContentResponses )Только вывод. Ответы на запросы в пакете. Возвращается, если пакет был сформирован с использованием встроенных запросов. Ответы будут в том же порядке, что и входные запросы.
| JSON-представление |
|---|
{
// output
"responsesFile": string,
"inlinedResponses": {
object ( |
InlinedEmbedContentResponses
Ответы на запросы в пакете.
inlinedResponses[]object ( InlinedEmbedContentResponse )Только выходные данные. Ответы на запросы в пакете.
| JSON-представление |
|---|
{
"inlinedResponses": [
{
object ( |
InlinedEmbedContentResponse
Ответ на отдельный запрос в пакете.
metadataobject ( Struct format)Только вывод. Метаданные, связанные с запросом.
outputUnion typeoutput запроса может быть только один из следующих вариантов: errorobject ( Status )Только вывод. Ошибка, возникшая при обработке запроса.
responseobject ( EmbedContentResponse )Только вывод. Ответ на запрос.
| JSON-представление |
|---|
{ "metadata": { object }, // output "error": { object ( |
EmbedContentBatchStats
Статистика по партии.
requestCountstring ( int64 format)Только вывод. Количество запросов в пакете.
successfulRequestCountstring ( int64 format)Только вывод. Количество успешно обработанных запросов.
failedRequestCountstring ( int64 format)Только вывод. Количество запросов, которые не были обработаны.
pendingRequestCountstring ( int64 format)Только вывод. Количество запросов, ожидающих обработки.
| JSON-представление |
|---|
{ "requestCount": string, "successfulRequestCount": string, "failedRequestCount": string, "pendingRequestCount": string } |