06-30 00:00
Notice
Recent Posts
Recent Comments
06-30 00:00
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Archives
Today
Total
관리 메뉴

pear

[android] simple GPT retrofit 3 - call 본문

android

[android] simple GPT retrofit 3 - call

pearlab 2023. 6. 13. 10:26
void requestGPT(final String requestText){
    new Thread(new Runnable() {
        @Override
        public void run() {
            // TODO Auto-generated method stub
            String domain ="https://api.openai.com/v1/chat/";
                        GPTRetrofitInterface mRetrofitInterface = RetrofitGPT
                    .getClient(domain).create(GPTRetrofitInterface.class);
                    
            try {
                gptBody body = new gptBody();
                body.model = "gpt-3.5-turbo";

                body.messages[0].role = "user";
                body.messages[0].content = requestText;

                Gson gson = new Gson();
                String json = gson.toJson(body);
                JsonObject jsonObject = JsonParser.parseString(json).getAsJsonObject();
                Call<gptResponse> call = mRetrofitInterface.completions(jsonObject);
                Response<gptResponse> response =  call.execute();
                if (response.code() == 200) {
                    System.out.println(response);
                    final gptResponse res = response.body();

                    runOnUiThread(new Runnable() {
                        public void run() {
                            myTextView.append(String.format("GPT(%d)\n", gptTime));
                            myTextView.append(res.choices[0].message.content);
                        }
                    });

                }
                else {
                    //[Todo] onError
                    Throwable e = new Throwable("send_response_code_"+response.code());
                    System.out.println(e);
                }
            } catch (Exception e) {
                e.printStackTrace();
                System.out.println(e);
            }

        }
    }).start();
}