Test.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.fdkankan.contro.controller;
  2. import com.coze.openapi.client.chat.CreateChatReq;
  3. import com.coze.openapi.client.chat.model.ChatEvent;
  4. import com.coze.openapi.client.chat.model.ChatEventType;
  5. import com.coze.openapi.client.connversations.message.model.Message;
  6. import com.coze.openapi.service.auth.TokenAuth;
  7. import com.coze.openapi.service.config.Consts;
  8. import com.coze.openapi.service.service.CozeAPI;
  9. import io.reactivex.Flowable;
  10. import okhttp3.OkHttpClient;
  11. import java.util.Collections;
  12. public class Test {
  13. public static void main(String[] args) {
  14. //客户端id
  15. String token = "pat_0Y2BAveK0QbYuBf288449wQtuVoq52SWJsfeCkYU6WJ3Fi1iJnKezCi8LWolfr2z";
  16. String botID = "7494469232462676008";
  17. String userID = "123123";
  18. TokenAuth authCli = new TokenAuth(token);
  19. CozeAPI coze =
  20. new CozeAPI.Builder()
  21. .baseURL(Consts.COZE_CN_BASE_URL)
  22. .auth(authCli)
  23. .client(new OkHttpClient.Builder().build())
  24. .build();
  25. CreateChatReq req =
  26. CreateChatReq.builder()
  27. .botID(botID)
  28. .userID(userID)
  29. .messages(Collections.singletonList(Message.buildUserQuestionText("我帅吗?")))
  30. .build();
  31. Flowable<ChatEvent> resp = coze.chat().stream(req);
  32. resp.blockingForEach(
  33. event -> {
  34. if (ChatEventType.CONVERSATION_MESSAGE_DELTA.equals(event.getEvent())) {
  35. System.out.print(event.getMessage().getContent());
  36. }
  37. if (ChatEventType.CONVERSATION_CHAT_COMPLETED.equals(event.getEvent())) {
  38. System.out.println("Token usage:" + event.getChat().getUsage().getTokenCount());
  39. }
  40. });
  41. System.out.println("done");
  42. coze.shutdownExecutor();
  43. }
  44. }