API Gemini поддерживает загрузку медиафайлов отдельно от ввода в подсказку, что позволяет повторно использовать ваши медиафайлы в нескольких запросах и нескольких подсказках. Подробнее см. в руководстве «Подсказки с медиафайлами» .
Метод: media.upload
Загружает данные в ragStore, выполняет предварительную обработку и разбивает на фрагменты перед сохранением в документе RagStore.
Конечная точка
https: / /generativelanguage.googleapis.com /upload /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
https: / /generativelanguage.googleapis.com /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
Параметры пути
string
ragStoreName
Обязательно. Неизменяемо. Имя RagStore
, в который нужно загрузить файл. Пример: ragStores/my-rag-store-123
Имя имеет вид ragStores/{ragstore}
.
Текст запроса
Тело запроса содержит данные со следующей структурой:
string
displayName
Необязательно. Отображаемое имя созданного документа.
object ( CustomMetadata )
customMetadata[]
Пользовательские метаданные, которые будут связаны с данными.
object ( ChunkingConfig )
chunkingConfig
Необязательно. Конфигурация, указывающая сервису, как разбивать данные на фрагменты. Если не указано, сервис будет использовать параметры по умолчанию.
string
mimeType
Необязательно. MIME-тип данных. Если не указан, он будет определён на основе загруженного контента.
Тело ответа
Это копия google.longrunning.Operation. Нам нужно её скопировать, поскольку для взаимодействия со scotty необходимо добавить специфичное для scotty поле, которое невозможно добавить в протокол операции верхнего уровня.
В случае успеха тело ответа содержит данные со следующей структурой:
string
name
Имя, назначенное сервером, уникально только в пределах той же службы, которая его изначально возвращает. Если вы используете HTTP-сопоставление по умолчанию, name
должно быть именем ресурса, заканчивающимся на operations/{unique_id}
.
object
metadata
Метаданные, специфичные для сервиса, связанные с операцией. Обычно они содержат информацию о ходе выполнения и общие метаданные, такие как время создания. Некоторые сервисы могут не предоставлять такие метаданные. Любой метод, возвращающий длительную операцию, должен документировать тип метаданных, если таковой имеется.
Объект, содержащий поля произвольного типа. Дополнительное поле "@type"
содержит URI, идентифицирующий тип. Пример: { "id": 1234, "@type": "types.example.com/standard/id" }
.
done
boolean
Если значение равно false
, это означает, что операция всё ещё выполняется. Если true
, операция завершена и доступен либо error
, либо response
.
result
Union type
error
, так и допустимым response
. Если done
== false
, ни error
, ни response
не устанавливаются. Если done
== true
, может быть установлен только один из вариантов: error
или response
. Некоторые службы могут не предоставлять результат. result
может быть только одним из следующих: object ( Status )
error
Ошибочный результат операции в случае сбоя или отмены.
object
response
Обычный, успешный ответ операции. Если исходный метод не возвращает данных об успешном выполнении, например, Delete
, ответом будет google.protobuf.Empty
. Если исходный метод — стандартный Get
/ Create
/ Update
, ответом должен быть ресурс. Для других методов ответ должен иметь тип XxxResponse
, где Xxx
— имя исходного метода. Например, если имя исходного метода — TakeSnapshot()
, выводимый тип ответа — TakeSnapshotResponse
.
Объект, содержащий поля произвольного типа. Дополнительное поле "@type"
содержит URI, идентифицирующий тип. Пример: { "id": 1234, "@type": "types.example.com/standard/id" }
.
JSON-представление |
---|
{
"name": string,
"metadata": {
"@type": string,
field1: ...,
...
},
"done": boolean,
// result
"error": {
object ( |
ChunkingConfig
Параметры, сообщающие сервису, как разбить файл на части. Навеяно google3/cloud/ai/platform/extension/lib/retrieval/config/chunker_config.proto
Union type
config
config
может быть только одной из следующих: whiteSpaceConfig
object ( WhiteSpaceConfig
)
Конфигурация фрагментации белого пространства.
JSON-представление |
---|
{
// config
"whiteSpaceConfig": {
object ( |
WhiteSpaceConfig
Конфигурация для алгоритма разбиения на фрагменты с помощью пробелов [разделители — пробелы].
maxTokensPerChunk
integer
Максимальное количество токенов в блоке. Для этого алгоритма разбиения на блоки токены определяются как слова. Примечание: мы определяем токены как слова, разделённые пробелами, а не как результат работы токенизатора. Контекстное окно последней модели встраивания Gemini по состоянию на 17.04.2025 в настоящее время составляет 8192 токена. Мы предполагаем, что среднее слово состоит из 5 символов. Поэтому мы устанавливаем верхний предел 2**9, что составляет 512 слов, или 2560 токенов, в худшем случае предполагая, что на токен приходится один символ. Это консервативная оценка, призванная предотвратить переполнение контекстного окна.
maxOverlapTokens
integer
Максимальное количество перекрывающихся токенов между двумя соседними фрагментами.
JSON-представление |
---|
{ "maxTokensPerChunk": integer, "maxOverlapTokens": integer } |
Метод: files.get
Получает метаданные для указанного File
.
Конечная точка
получитьhttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
Параметры пути
string
name
Обязательно. Имя File
, который нужно получить. Пример: files/abc-123
Имя имеет вид files/{file}
.
Текст запроса
Тело запроса должно быть пустым.
Пример запроса
Питон
Node.js
Идти
Оболочка
Тело ответа
В случае успеха тело ответа содержит экземпляр File
.
Метод: files.list
Перечисляет метаданные File
, принадлежащих запрашивающему проекту.
Конечная точка
получитьhttps: / /generativelanguage.googleapis.com /v1beta /files
Параметры запроса
pageSize
integer
Необязательно. Максимальное количество File
, возвращаемых на страницу. Если не указано, по умолчанию 10. Максимальный pageSize
— 100.
string
pageToken
Необязательно. Токен страницы из предыдущего вызова files.list
.
Текст запроса
Тело запроса должно быть пустым.
Пример запроса
Питон
Node.js
Идти
Оболочка
Тело ответа
Ответ для files.list
.
В случае успеха тело ответа содержит данные со следующей структурой:
files[]
object ( File
)
Список File
s.
string
nextPageToken
Токен, который можно отправить как pageToken
в последующий вызов files.list
.
JSON-представление |
---|
{
"files": [
{
object ( |
Метод: files.delete
Удаляет File
.
Конечная точка
удалитьhttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
Параметры пути
string
name
Обязательно. Имя File
для удаления. Пример: files/abc-123
Имя имеет вид files/{file}
.
Текст запроса
Тело запроса должно быть пустым.
Пример запроса
Питон
Node.js
Идти
Оболочка
Тело ответа
В случае успеха тело ответа представляет собой пустой объект JSON.
Ресурс REST: файлы
Ресурс: Файл
Файл загружен в API. Следующий идентификатор: 15.
string
name
Неизменяемый. Идентификатор. Имя ресурса File
. Идентификатор (имя без префикса «files/») может содержать до 40 символов, включая строчные буквы, цифры или дефисы (-). Идентификатор не может начинаться или заканчиваться дефисом. Если при создании имя пустое, будет сгенерировано уникальное имя. Пример: files/123-456
string
displayName
Необязательно. Удобное для восприятия отображаемое имя File
. Длина отображаемого имени не должна превышать 512 символов, включая пробелы. Пример: «Welcome Image»
string
mimeType
Только вывод. MIME-тип файла.
string ( int64 format)
sizeBytes
Только вывод. Размер файла в байтах.
createTime
string ( Timestamp
format)
Только вывод. Отметка времени создания File
.
Использует 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"
.
updateTime
string ( Timestamp
format)
Только вывод. Отметка времени последнего обновления File
.
Использует 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"
.
expirationTime
string ( Timestamp
format)
Только вывод. Временная метка, указывающая, когда File
будет удалён. Устанавливается только в том случае, если срок действия File
истекает.
Использует 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"
.
sha256Hash
string ( bytes format)
Только вывод. SHA-256 хэш загруженных байтов.
Строка в кодировке base64.
string
uri
Только вывод. URI File
.
string
downloadUri
Только вывод. URI загрузки File
.
state
enum ( State
)
Только вывод. Состояние обработки файла.
source
enum ( Source
)
Источник файла.
object ( Status )
error
Только вывод. Статус ошибки, если обработка файла не удалась.
metadata
Union type
metadata
могут быть только одними из следующих:object ( VideoFileMetadata )
videoMetadata
Только вывод. Метаданные для видео.
JSON-представление |
---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "downloadUri": string, "state": enum ( |
ВидеофайлМетаданные
Метаданные для File
.
videoDuration
string ( Duration
format)
Продолжительность видео.
Длительность в секундах, содержащая до девяти знаков после запятой, заканчивается на « s
». Пример: "3.5s"
.
JSON-представление |
---|
{ "videoDuration": string } |
Состояние
Состояния жизненного цикла файла.
Перечисления | |
---|---|
STATE_UNSPECIFIED | Значение по умолчанию. Используется, если состояние не указано. |
PROCESSING | Файл обрабатывается и пока не может быть использован для вывода. |
ACTIVE | Файл обработан и доступен для вывода. |
FAILED | Файл не удалось обработать. |
Источник
Перечисления | |
---|---|
SOURCE_UNSPECIFIED | Используется, если источник не указан. |
UPLOADED | Указывает, что файл загружен пользователем. |
GENERATED | Указывает, что файл создан Google. |
REGISTERED | Указывает, что файл зарегистрирован, т. е. является файлом Google Cloud Storage. |
Статус
Тип Status
определяет логическую модель ошибок, подходящую для различных сред программирования, включая REST API и RPC API. Он используется в gRPC . Каждое сообщение Status
содержит три фрагмента данных: код ошибки, сообщение об ошибке и сведения об ошибке.
Дополнительную информацию об этой модели ошибок и о том, как с ней работать, можно найти в Руководстве по проектированию API .
code
integer
Код состояния, который должен быть значением перечисления google.rpc.Code
.
string
message
Сообщение об ошибке для разработчика, которое должно быть на английском языке. Любое сообщение об ошибке для пользователя должно быть локализовано и отправлено в поле google.rpc.Status.details
или локализовано клиентом.
details[]
object
Список сообщений с подробностями об ошибках. Существует общий набор типов сообщений, которые могут использовать API.
Объект, содержащий поля произвольного типа. Дополнительное поле "@type"
содержит URI, идентифицирующий тип. Пример: { "id": 1234, "@type": "types.example.com/standard/id" }
.
JSON-представление |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |