Как получить описание изображения от 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. Сохраните изменения.

Готово.

В начало ↑