ym88659208ym87991671
Распознавание изображений | Документация для разработчиков

Распознавание изображений

Обновлено 3 октября 2024

Модели GigaChat умеют распознавать изображения и использовать их при генерации ответов. Для этого вы можете загрузить необходимые файлы изображений в хранилище и передать запрос с идентификатором файла в выбранную модель GigaChat. При генерации ответа, модель будет учитывать указанное изображение.

Работа с хранилищем файлов

Хранилище файлов позволяет получить идентификатор файла, который можно использовать при запросе к модели. Для работы с хранилищем GigaChat API предоставляет методы:

Загрузка файла в хранилище

Для загрузки файла в хранилище используйте метод POST /files. Загруженные файлы будут доступны только вам.

Поддерживаемые форматы изображений:

ФорматMIME-тип
jpgimage/jpg
pngimage/png
tiffimage/tiff
bmpimage/bmp

Максимальный размер одного файла — 15 Мб. Максимальный размер запроса — 20 Мб.

Чтобы модель использовала файл для генерации, укажите его идентификатор в массиве attachments, в запросе на генерацию POST /chat/completions.

Пример запроса для загрузки файлов:

```sh
curl --location --request POST 'https://gigachat.devices.sberbank.ru/api/v1/files' \
--header 'Authorization: Bearer <токе_доступа>' \
--form 'file=@"<путь_к_файлу>/example.jpeg"' \
--form 'purpose="general"'
```

В запросе обязательно нужно указать значение поля purpose="general". Это позволит использовать файл в запросах на генерацию ответов.

В ответ вы получите объект с описанием файла:

{
"bytes": 120000,
"created_at": 1677610602,
"filename": "file123",
"id": "6f0b1291-c7f3-43c6-bb2e-9f3efb2dc98e",
"object": "file",
"purpose": "general",
"access_policy": "private"
}

Описание параметров — в справке API.

Получение информации о файлах

Для получения информации о доступных в хранилище файлах GigaChat API предоставляет два метода: GET /files и GET /files/{file}.

Для получения списка всех доступных вам файлов используйте метод GET /files:

```sh
curl -L -X GET 'https://gigachat.devices.sberbank.ru/api/v1/files' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <токен_доступа>'
```

Для получения информации об отдельном файле используйте метод GET /files/{file}:

```sh
curl -L -X GET 'https://gigachat.devices.sberbank.ru/api/v1/files/:file' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <токен_доступа>'
```

Удаление файла из хранилища

Для удаления файла из хранилища используйте метод GET /files/{file}/delete. В параметрах пути укажите идентификатор файла, который был получен при его загрузке в хранилище:

```sh
curl -L -X POST 'https://gigachat.devices.sberbank.ru/api/v1/files/:file/delete' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <токен_доступа>'
```

После удаления файл нельзя будет использовать для генерации.

Использование изображения для генерации

После загрузки файла в хранилище и получения его идентификатора, вы можете использовать его в запросах на генерацию.

Для этого передайте идентификаторы изображений, которые нужно использовать для генерации, в массиве attachments.

В одном сообщении (объект в массиве messages) можно передать только одно изображение. В одном запросе можно передать до 10 изображений, независимо от количества сообщений.

```sh
curl -L -X POST 'https://gigachat.devices.sberbank.ru/api/v1/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <токен_доступа>' \
--data-raw '{
"model": "GigaChat",
"messages": [
{
"role": "user",
"content": "Что изображено на рисунке?",
"attachments": [
"80e0bcd5-2b78-4fa7-8783-903995f56b4b"
]
}
],
"stream": false,
"update_interval": 0
}'
```

Смотрите также

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.