Как получить описание изображения от OpenAI
Воспользуйтесь этим способом, чтобы получить текстовое описание ранее отправленной в бот картинки.
1. Добавьте Сообщение. В тексте напишите, что пользователь должен отправить изображение.
2. Добавьте Ввод от пользователя для того, чтобы записать это изображение в переменные. Тип ожидаемых данных поменяйте на Файл.
В примере Имя переменной image, но вы можете выбрать другое название. Если будете использовать свое название, то не забудьте поменять его при дальнейшем выводе в Теле запроса, о котором мы расскажем позже.
3. Добавьте еще одно Сообщение или Кнопки с подсказками, которые отправят боту сообщение с кнопки. Обычные Кнопки в этом случае не подойдут, т.к. они не имитируют ввод от пользователя.
Сообщение, которое пользователь должен отправить, будет примерно таким: «Что изображено на этой картинке?». Это значит, что пользователь отправит промпт, который применится к картинке, которую он только что отправил.
4. Добавьте Ввод от пользователя, куда этот промпт запишется.
В примере Имя переменной prompt, вы можете использовать это или другое наименование. Если будете использовать свое название для переменной, то не забудьте поменять его при дальнейшем выводе в Теле запроса, о котором идет речь в следующем пункте.
5. Добавьте компонент Запрос для того, чтобы данные ушли в OpenAI:
- выберите метод запроса POST
- добавьте URL запроса:
https://api.openai.com/v1/chat/completions
- добавьте Тело запроса:
{ "model": "gpt-4o-mini", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "{{prompt}}" }, { "type": "image_url", "image_url": { "url": "{{image}}", "detail": "low" } } ] } ], "max_tokens": 300 }
- если вы использовали свои названия переменных во Вводе от пользователя, то поменяйте их. Если ваши переменные называются как в этом примере — image и prompt, то менять ничего не нужно,
- параметр detail отвечает за качество картинки, которая отправится в OpenAI. Качество может быть low, high, или auto. Без указания данного параметра будет использоваться auto. С параметром для низкого разрешения low в OpenAI отправится изображение более низкого качества и потратится меньшее количество токенов чем при указании high. Подробнее об использовании параметра detail можно узнать в официальной документации OpenAI →
- в Заголовки запроса добавьте новый Ключ: Authorization, Значение должно быть Bearer, затем ваш токен из OpenAI.
Пример Значения:
Bearer sk-12aBCdEfGhiJkLmnOPqRS3TuvwXYzqWER7tYUIO456OPASdf
6. Добавьте Сообщение, в котором будет выводится ответ:
{{last_request.choices.[0].message.content}}
Так можно вывести количество токенов потраченных при обработке последнего запроса:
{{last_request.usage.total_tokens}}
7. Сохраните изменения.
Готово.