Как правильно отправить изображение для API OpenAI?

Чтобы правильно отправить изображение для API OpenAI, вам потребуется выполнить несколько шагов. Ниже я пошагово объясню, как это сделать с использованием языка программирования Python.

Шаг 1: Установка зависимостей
Прежде чем начать, убедитесь, что у вас установлены зависимости requests и base64. Вы можете установить их с помощью следующей команды pip:

pip install requests base64

Шаг 2: Загрузка и кодирование изображения
Перед отправкой изображения вам нужно загрузить его с диска или из другого источника. Допустим, что ваше изображение находится в файле с именем "image.jpg". Вы можете воспользоваться следующим кодом для загрузки и кодирования изображения:

import base64

with open("image.jpg", "rb") as image_file:
    encoded_image = base64.b64encode(image_file.read()).decode("utf-8")

Шаг 3: Создание POST-запроса к API OpenAI
Теперь, когда у вас есть закодированное изображение, вы можете создать POST-запрос к API OpenAI. Ваш код будет выглядеть примерно так:

import requests

url = "https://api.openai.com/v1/engines/davinci-codex/completions"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
}
data = {
    "prompt": "Generate a caption for the image:",
    "max_tokens": 100,
    "temperature": 0.8,
    "top_p": 1.0,
    "n": 1,
    "inputs": {
        "image": encoded_image
    }
}

response = requests.post(url, headers=headers, json=data)

Важно заметить, что вам также потребуется заменить "YOUR_API_KEY" на ваш собственный ключ API OpenAI.

Шаг 4: Обработка ответа
Последний шаг - обработка ответа от API OpenAI. В переменной response у вас будет ответ в формате JSON. Вы можете распарсить его и извлечь нужные данные. Например, чтобы получить сгенерированный текст, можно использовать следующий код:

import json

response_data = json.loads(response.text)
caption = response_data["choices"][0]["text"]

В данном примере мы получаем первый текстовый вариант из списка choices.

Вот и все! Теперь у вас есть подробный план для правильной отправки изображения в API OpenAI с использованием Python.