OpenAI 聊天完成 API 错误:“无效 URL (POST /chat/v1/completions)”

问题描述 投票:0回答:1

我按照教程制作了一个类似 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 编码的新手(但我不是编码初学者),所以我知道这段代码可能不太好,因为我几乎只是复制并粘贴教程中的代码。

感谢您的帮助!

java android okhttp openai-api chatgpt-api
1个回答
0
投票

你打错字了。

改变这个...

https://api.openai.com/chat/v1/completions

...对此。

https://api.openai.com/v1/chat/completions

请参阅文档

© www.soinside.com 2019 - 2024. All rights reserved.