Ошибка API OpenAI ChatGPT (gpt-3.5-turbo) 400: «пользователь» не относится к типу «объект»

Я делюсь с вами своим кодом ниже, чтобы получить ответ на запрос POST с помощью R от OPENAI chatgpt api:

      param <- list(model = "gpt-3.5-turbo",
              messages = c("role" = "user", 
                           "content" = "Hello"))

result <- POST("https://api.openai.com/v1/chat/completions",
               body = param,
               add_headers(Authorization=openai_secret_key),
               encode = "json")

Вот результат:

Ответ [https://api.openai.com/v1/chat/completions] Дата: 2023-03-02 16:28 Статус: 400 Тип содержимого: application/json Размер: 158 B { "ошибка": { "сообщение ”: “'user' не относится к типу 'object' - 'messages.0'”, “type”: “invalid_request_error”, “param”: null, “code”: null } }

Таким образом, пользователь и часть контента не работают, но модель работает.

Большое спасибо

В почтальоне у меня работает этот JSON, но я не могу заставить его работать в R

      {
   "model":"gpt-3.5-turbo",
   "messages":[
      {
         "role":"user",
         "content":"Hello!"
      }
   ]
}

РЕДАКТИРОВАТЬ 1

Итак, я добавилtoJSON()к параметру сообщений, как было предложено:

      result <- POST("https://api.openai.com/v1/chat/completions",
               body = list(model = "gpt-3.5-turbo",messages = toJSON(list(role="user", content="Hello!"))), 
               add_headers(Authorization=openai_secret_key),
               encode = "json")

У меня сейчас такой ответ:

Ответ [https://api.openai.com/v1/chat/completions] Дата: 03.03.2023, 12:37 Статус: 400 Тип содержимого: application/json Размер: 197 B { "ошибка": { "сообщение ": "'{"role":["user"],"content":["Hello!"]}' не имеет типа 'array' - 'messages'", "type": "invalid_request_error", "param ": null, "код": null } }


РЕДАКТИРОВАТЬ 2

После преобразования всего списка в JSON:

      param <- list(model = "gpt-3.5-turbo",messages = c("role" = "user", "content" = "Hello"))

param_json_str <- toJSON(param)

У меня сейчас такая ошибка:

Ответ [https://api.openai.com/v1/chat/completions] Дата: 03.03.2023, 13:50 Статус: 400 Content-Type: application/json; charset=utf-8 Size: 167 B { "error": { "message": "вы должны указать параметр модели", "type": "invalid_request_error", "param": null, "code": null } }

Наконец, для меня работает помещение параметра messages во вложенный список без преобразования его в JSON:

param <- list(model = "gpt-3.5-turbo", messages = list(list(role = "user", content = "Hello")))

результат <- POST("https://api.openai.com/v1/chat/completions",body = param,add_headers(Authorization=openai_secret_key),encode = "json")

Вот результат:

Ответ [https://api.openai.com/v1/chat/completions] Дата: 03.03.2023, 16:46 Статус: 200 Тип контента: application/json Размер: 323 B {"id":"chatcmpl-6q2plai2vjk48HMZPoiAMSRzeaFw7", "объект": "chat.completion", "создан": 1677861969, "модель": "gpt-3.5-turbo-0301", "использование": {"prompt_tokens": 8, "completion_tokens": 11, "total_tokens":19},"choices":[{"message":{"role":"помощник","content":"\n\nЗдравствуйте! Как я могу

0 ответов

Другие вопросы по тегам