GPT-3 API无效请求错误:您必须提供一个模型参数。

15
我是新手,尝试使用OpenAI的GPT-3 API(使用api.openai.com/v1/completions)来了解如何通过提示获取响应。我正在使用Postman进行操作。 文档指出只有一个必需参数“model”,但是,即使已经提供了,“我”仍然会收到错误消息:“必须提供一个模型参数”。
我做错了什么?

API error screenshot


你是否遇到了同样的问题?下面的解决方案是否解决了你的问题?我尝试了它,但仍然存在相同的问题。 - Jonathan
6
DOH - 使用 POST,而不是 GET。现在一切都好了! - Jonathan
4个回答

17

您可以通过以下方式在Postman中进行POST设置,以使其正常工作:

  1. Leave all items in the Params tab empty

  2. In the Authorization tab, paste your OpenAI API token as the Type Bearer Token (as you likely already did)

  3. In the Headers tab, add key "Content-Type" with value "application/json"

  4. In the Body tab, switch to Raw, and add e.g.

     {  
         "model":"text-davinci-002",
         "prompt":"Albert Einstein was"
     }
    
  5. Hit Send. You'll get back the completions for your prompt.

请注意,您也可以将模型添加到Post URL中,例如https://api.openai.com/v1/engines/text-davinci-002/completions

虽然上述方法可行,但可能没有充分利用Postman UI的功能--毕竟,我们正在原始编辑JSON,而不是利用好的键值输入框。如果您找到了如何使用后者的方法,请告诉我们。

进入图像描述


这里长度是固定的,你能告诉我如何做吗? - Digvijaysinh Gida
1
https://api.openai.com/v1/engines/ 终端已被弃用。 - Rubén

6
我的解决方法是添加content-type头部信息: "content-type:application/json"

postman-headers


2

您需要注意接口的请求类型。如果使用GET请求POST,也会报错。


谢谢你的回答,是的,这就是我遇到的问题,错误信息让我感到困惑,它可以简单地是一个消息,比如“不支持GET方法”。 - tim

0

来自

    response = openai.Completion.create(
    engine="text-davinci-003",
    prompt=prompt,
    max_tokens=100,
    n=1,
    stop=None,
    temperature=0.3,
    presence_penalty=2
    )
    answer = response.choices[0].text.strip()

    messages=dict(role="user", content=prompt)
    response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[messages],
    max_tokens=100,
    n=1,
    stop=None,
    temperature=0.3,
    presence_penalty=2
    )
    answer = response['choices'][0]['message']['content']

您的回答可以通过添加更多支持信息来改进。请进行[编辑]以添加进一步细节,如引用或文档,以便他人确认您的答案是否正确。您可以在帮助中心中找到有关编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接