OpenAI GPT-3.5 “prompt“ argument not working

题意:"OpenAI GPT-3.5 的 `prompt` 参数不起作用"

问题背景:

I am trying to make a flutter app with the openAI api that works like a chatbot, and I want to add a prompt so that the responses are more specialized, like in the openAI playground on their website.

"我正在尝试使用 OpenAI API 制作一个类似聊天机器人的 Flutter 应用,并且我想添加一个提示,以便响应更加专业化,就像在他们网站上的 OpenAI Playground 一样。"

I am testing the API post function with postman and it worked perfectly fine for me before I tried adding a prompt. I assumed that to add a prompt you just have to add a "prompt": line in the body like when you work with the text-davinci model, but when I do that I get this message returned:

"我正在使用 Postman 测试 API 的 POST 功能,它在我尝试添加提示之前一直运行得非常好。我以为要添加提示,只需要像在使用 text-davinci 模型时那样在请求体中添加一行 `"prompt":` 即可,但当我这样做时,我收到了以下消息:"

复制代码
{
    "error": {
        "message": "Unrecognized request argument supplied: prompt",
        "type": "invalid_request_error",
        "param": null,
        "code": null
    }
}

Is there a different way you need to do this with the gpt models, or does the prompt argument just not exist for them?

"使用 GPT 模型时需要采用不同的方法吗,还是说这些模型根本不存在 `prompt` 参数?"

问题解决:

The OPEN AI 3.5-turbo model only supports the newer chat completion API which does not have a 'prompt' json body field.

"OPEN AI 3.5-turbo 模型仅支持较新的聊天完成 API,该 API 没有 `prompt` JSON 请求体字段。"

I would assume you are using the older competion API json body format aginst the newer chat completion API endpoint and that is the reason for your error.

"我认为你可能是使用了较旧的 completion API JSON 请求体格式来访问较新的聊天完成 API 端点,这就是你遇到错误的原因。"

--- update ---

I can reproduce your exact error response with:

"我可以通过以下方式重现你的确切错误响应:"

curl https://api.openai.com/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer $OPENAI_API_KEY" -d '{ "model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "Hello!"}], "prompt": "testing" }'

This is just a modified example from the api link above. Removing the added "prompt" field from the json makes it work fine.

"这只是上述 API 链接中的一个修改示例。移除 JSON 中添加的 `prompt` 字段后,它就能正常工作了。"

So my advice in the comment stands. Figure out what you are sending in the body of your http GET request. It will have a "prompt" field, remove it and any other field that should not be there and it should work.

"所以我在评论中的建议仍然适用。查明你在 HTTP GET 请求的请求体中发送了什么内容。它会有一个 `prompt` 字段,移除它以及任何其他不应该存在的字段,然后它应该就能正常工作了。"

相关推荐
虾条_花吹雪5 小时前
Using Spring for Apache Pulsar:Transactions
ai·spring pulsar
虾条_花吹雪6 小时前
Using Spring for Apache Pulsar:Message Production
java·ai·中间件
PengShuaiD58 小时前
什么是RAG(Retrieval-Augmented Generation)?一文读懂检索增强生成
人工智能·ai·rag
天使day8 小时前
Cursor的使用
java·开发语言·ai
yqcoder8 小时前
7. TCP 和 UDP 的区别
网络·网络协议·http
小眼睛FPGA8 小时前
【RK3568+PG2L50H开发板实验例程】FPGA部分 | 以太网传输实验例程
科技·单片机·嵌入式硬件·ai·fpga开发·fpga
小猫会后空翻10 小时前
HTTPS与DNS
网络协议·http·https
小镇敲码人11 小时前
【实习篇】之Http头部字段之Disposition介绍
网络·网络协议·http
黎相思11 小时前
应用层协议HTTP
网络·网络协议·http