Grt1228 / chatgpt-java

ChatGPT Java SDK支持流式输出、Gpt插件、联网。支持OpenAI官方所有接口。ChatGPT的Java客户端。OpenAI GPT-3.5-Turb GPT-4 Api Client for Java
https://chatgpt-java.unfbx.com
Apache License 2.0
3.3k stars 810 forks source link

assistant demo #225

Open liyf1 opened 9 months ago

liyf1 commented 9 months ago

@Test public void test(){ AssistantResponse assistant = openAiClient.assistant(Assistant.builder() .model("gpt-4-1106-preview") .name("Math Tutor") .instructions("You are a personal math tutor. Write and run code to answer math questions.") .tools(Arrays.asList( Tool.builder().type("code_interpreter").build() )).build()); ThreadResponse thread = openAiClient.thread(Thread.builder().messages(Arrays.asList( ThreadMessage.builder().role(ThreadMessage.Role.USER.getName()) .content("I need to solve the equation 3(x-1) + 11+x = 14. Can you help me?").build() )).build()); String threadId = thread.getId(); RunResponse run = openAiClient.run(threadId, Run.builder().assistantId(assistant.getId()).build());

    while (true){
        RunResponse retrieveRun = openAiClient.retrieveRun(threadId, run.getId());
        if (retrieveRun.getStatus().equals("completed")){
            AssistantListResponse<MessageResponse> messages = openAiClient.messages(thread.getId(),new PageRequest());
            messages.getData().forEach(messageResponse -> {
                System.out.println("role:"+messageResponse.getRole());
                System.out.println("message:"+messageResponse.getContent().get(0).getText());
            });
            openAiClient.deleteAssistant(assistant.getId());
            break;
        }else {
            System.out.println(run);
            try {
                java.lang.Thread.sleep(5000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

    }