OpenAI GPT-3 API error: “You must provide a model parameter“

题意:OpenAI GPT-3 API 错误:"你必须提供一个模型参数"

问题背景:

I am trying to POST a question to openAI API via SWIFT. It works fine, if I use the same payload via Postman, but in the Xcode-Condole I got the following response from openAI:

我正在尝试通过 Swift 向 OpenAI API 发送一个 POST 请求。如果我在 Postman 中使用相同的负载,它工作正常,但在 Xcode 控制台中,我从 OpenAI 收到了以下响应:

Swift 复制代码
Response data string:
{
     "error": {
         "message": "you must provide a model parameter",
         "type": "invalid_request_error",
         "param": null,
         "code": null
    }
 }

This is my code: 以下是我的代码

Swift 复制代码
 func getActivityAnalysis(){
    
    let url = URL(string: "https://api.openai.com/v1/completions")
    guard let requestUrl = url else { fatalError() }
    
    // Prepare URL Request Object
    var request = URLRequest(url: requestUrl)
    request.setValue("Bearer blaaaablaa", forHTTPHeaderField: "Authorization")
    request.httpMethod = "POST"
    
    
    let prompt = "just a test"
    let requestBody = OpenAIRequest(model: "text-davinci-003", prompt: prompt, max_tokens: 300, temperature: 0.5)
    
    let encoder = JSONEncoder()
    encoder.outputFormatting = .prettyPrinted
    let data = try! encoder.encode(requestBody)
    print(String(data: data, encoding: .utf8)!)
    
     
    // Set HTTP Request Body
    request.httpBody = data
    
    print("\(request.httpMethod!) \(request.url!)")
    print(request.allHTTPHeaderFields!)
    print(String(data: request.httpBody ?? Data(), encoding: .utf8)!)
    
    
    
    // Perform HTTP Request
    let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
            
            // Check for Error
            if let error = error {
                print("Error took place \(error)")
                return
            }
     
            // Convert HTTP Response Data to a String
            if let data = data, let dataString = String(data: data, encoding: .utf8) {
                print("Response data string:\n \(dataString)")
                self.openAIResponse = dataString
            }
    }
    task.resume()
    
}`

If I print the http request, it seems fine for me as well:

如果我打印出 HTTP 请求,它看起来也没有问题:

Swift 复制代码
 POST https://api.openai.com/v1/completions
 ["Authorization": "Bearer blaaaaa"]
 {
    "temperature" : 0.5,
    "model" : "text-davinci-003",
    "prompt" : "just a test",
    "max_tokens" : 300
 }

I tried to use the same payload in my Postman request. It worked fine here. I also tried to use different encodings, but it always throws the same error.

我尝试在 Postman 请求中使用相同的负载,它在这里工作正常。我还尝试了不同的编码方式,但总是抛出相同的错误。

Not sure, what I am doing wrong. Maybe someone can help?

不确定我哪里做错了。也许有人能帮忙?

Thank you in advance. 提前感谢你。

问题解决:

Your HTTP request reveals the problem. You need to add 'Content-Type: application/json'.

According to GeeksforGeeks:

你的 HTTP 请求暴露了问题。你需要添加 `'Content-Type: application/json'`。

根据 GeeksforGeeks 的说法:

Content-Type is an HTTP header that is used to indicate the media type of the resource and in the case of responses, it tells the browser about what actually content type of the returned content is.

相关推荐
yalipf35 分钟前
chatgpt调研-强化学习训练资源
chatgpt
CypressTel1 小时前
OpenAI推出ChatGPT Work:AI开始从“回答问题”走向“完成工作”——赛柏特AI快讯
人工智能·chatgpt
yyyyyuanxian2 小时前
一次 ChatGPT Plus 订阅经历:网页端支付受限后,我在 iPhone 内购页完成了订阅
人工智能·chatgpt·iphone·chatgpt plus
LaughingZhu3 小时前
Product Hunt 每日热榜 | 2026-07-17
前端·数据库·人工智能·经验分享·mysql·chatgpt·html
Ai拆代码的曹操18 小时前
从敲下命令到 Agent 就绪:opencode bootstrap 源码拆解
openai·ai编程
木西21 小时前
自动化工程实践:基于 DeepSeek 与 Hardhat 的 Web3 技术长文生成 Skill 实现
openai·agent·deepseek
云逸_21 小时前
Cinder:基于 Swift Macro 与 Mach-O Section 的解耦注册机制
ios·swift
不爱记笔记21 小时前
音视频内容如何纳入Obsidian知识库?分享一套完整的输入层解决方案
人工智能·ai·chatgpt·音视频·知识库·知识管理·obsidian
末代iOS程序员华仔1 天前
从 Figma 到上架:使用 Codex 与 MCP 全流程实现 AI 聊天 App
flutter·ios·swift
NebulaData1 天前
GPT-5.6三档模型全线发布,Codex并入ChatGPT迈入Agent时代
人工智能·gpt·chatgpt