我与你们分享以下代码,使用 R 语言通过 POST 请求从 OpenAI Chat Completions 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")
这是结果:
Response [https://api.openai.com/v1/chat/completions]Date: 2023-03-02 16:28Status: 400Content-Type: application/jsonSize: 158 B{“error”: {“message”: “‘user’ is not of type ‘object’ – ‘messages.0’”,“type”: “invalid_request_error”,“param”: null,“code”: null}}
所以用户和内容部分不起作用,但模型部分是工作的。
非常感谢!
在 Postman 中,我有这个 JSON 可以工作,但在 R 中无法使其工作:
{ "model":"gpt-3.5-turbo", "messages":[ { "role":"user", "content":"Hello!" } ]}
回答:
如果你运行 test.r
,OpenAI API 将返回以下完成内容:
[1] “\n\nHello! How may I assist you today?”
test.r
library(httr)library(jsonlite)OPENAI_API_KEY <- "sk-xxxxxxxxxxxxxxxxxxxx"param <- list(model = "gpt-3.5-turbo", messages = list(list(role = "user", content = "Hello")) ) result <- POST("https://api.openai.com/v1/chat/completions", body = param, add_headers("Authorization" = paste("Bearer", OPENAI_API_KEY)), encode = "json")response_content <- fromJSON(rawToChar(result$content))print(response_content$choices[[1]]$content)