我按照教程制作了一个类似 ChatGPT 的应用程序,但收到了此错误:
Failed to load response due to {
'error' : {
'message' : 'Invalid URL (POST /chat/v1/completions)',
'type':'invalid_request_error',
'param':null,
'code':null
}
}
这是我的代码:
JSONObject jsonBody = new JSONObject();
try {
jsonBody.put("model", "gpt-3.5-turbo");
jsonBody.put("messages", question);
jsonBody.put("max_tokens", 4000);
jsonBody.put("temperature", 0);
} catch (JSONException e) {
throw new RuntimeException(e);
}
RequestBody body = RequestBody.create(jsonBody.toString(),JSON);
Request request = new Request.Builder()
.url("https://api.openai.com/chat/v1/completions")
.addHeader("Authorization", "Bearer HIDDEN_KEY")
.addHeader("Content-Type", "application/json")
.post(body)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(@NonNull Call call, @NonNull IOException e) {
addResponse("Failed to load response due to pd "+e.getMessage());
}
@Override
public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
if(response.isSuccessful()){
JSONObject jsonObject = null;
try {
jsonObject = new JSONObject(response.body().string());
JSONArray jsonArray = jsonObject.getJSONArray("choices");
String result = jsonArray.getJSONObject(0).getString("message");
addResponse(result.trim());
} catch (JSONException e) {
throw new RuntimeException(e);
}
}else{
addResponse("Failed to load response due to "+response.body().string());
}
}
我尝试更改模型,删除 URL 中的
\chat\
并直接在 URL 中发送提示。
我是应用程序制作和 Java 编码的新手(但我不是编码初学者),所以我知道这段代码可能不太好,因为我几乎只是复制并粘贴教程中的代码。
感谢您的帮助!
你打错字了。
改变这个...
https://api.openai.com/chat/v1/completions
...对此。
https://api.openai.com/v1/chat/completions
请参阅文档。