Я следовал руководству по созданию приложения 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());
}
}
Я попытался изменить модель, удалив \chat\ в URL-адресе и отправить приглашение прямо в URL-адрес.
Я новичок в создании приложений и кодировании Java (но я не новичок в кодировании), поэтому я понимаю, что, возможно, этот код не очень хорош, поскольку я почти только копирую и вставляю код из учебника.
Спасибо за вашу помощь !
У вас опечатка. Изменить это...
https://api.openai.com/chat/v1/completions
...к этому.
https://api.openai.com/v1/chat/completions
Смотрите документацию.
О да ! Сначала это был только /v1/completions, и он не работал, поэтому я добавил /chat/, но не в том месте. Извините за эту тему и спасибо за ваш ответ!
Похоже, так и должно быть
/v1/chat/completions
, а не/chat/v1/completions
: platform.openai.com/docs/api-reference/chat. Также на это настоятельно указывает полученное вами сообщение об ошибке.