开放AI API响应失败

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

我正在学习将聊天 GPT 集成到我的 Android 应用程序中。然而,即使遵循教程中的相同代码并使用正确的 API 密钥,也无法获得响应。

代码如下:

public static final MediaType JSON = MediaType.get("application/json");

OkHttpClient client = new OkHttpClient();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    callAPI();

}



void callAPI(){

    JSONObject jsonBody = new JSONObject();
    try {
        jsonBody.put("model","text-davinci-003");
        jsonBody.put("prompt","for testing, say hii...");
        jsonBody.put("max_tokens",4000);
        jsonBody.put("temperature",0);
    } catch (JSONException e) {
        e.printStackTrace();
    }
    RequestBody requestBody = RequestBody.create(jsonBody.toString(),JSON);


    // Replace 'YOUR_API_KEY' with your actual API key obtained from OpenAI
    String apiKey = "sk-proj-5RU4XAKQXXXXXXXX";


    Request request = new Request.Builder()
            .url("https://api.openai.com/v1/completions")
            .header("Authorization","Bearer " + apiKey)
            .post(requestBody)
            .build();

    Log.d("APIApp", "callAPI: ==============");

    client.newCall(request).enqueue(new Callback() {
        @Override
        public void onFailure(@NonNull Call call, @NonNull IOException e) {
            Log.d("APIApp", "onFailure: " + e);
        }

        @Override
        public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
            if(response.isSuccessful()){

                Log.d("APIApp", "onResponse: " + response.toString());


            }else{
                Log.d("APIApp", "onResponseFail: " + response.toString());
            }

        }

    });

}

控制台日志:

onResponseFail:响应{协议=h2,代码=404,消息=, url=https://api.openai.com/v1/completions}

点击网址:

{ “错误”: { "message": "您没有提供 API 密钥。您需要使用 Bearer auth 在授权标头中提供 API 密钥(即 授权:承载 YOUR_KEY),或作为密码字段(空白 用户名)如果您从浏览器访问 API 并且是 提示输入用户名和密码。您可以从以下位置获取 API 密钥 https://platform.openai.com/account/api-keys。”, “类型”:“无效请求错误”, “参数”:空, “代码”:空 } }

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

我建议使用现成的库来使用 OpenAi API。其中很少有相当不错的。几个例子:https://github.com/bay73/generic-ai/blob/main/README.mdhttps://github.com/aallam/openai-kotlin/blob/main/README.md

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