From 37ced2023bd8fe132332369ac829ebb826860ded Mon Sep 17 00:00:00 2001 From: robin <850379744@qq.com> Date: Mon, 6 Nov 2023 16:59:44 +0800 Subject: [PATCH] add wenxinyiyan support --- .../controller/ai/wenxin/client/WenxinAIClient.java | 13 +++++-------- .../ai/wenxin/client/WenxinAIStreamClient.java | 8 ++------ .../listener/WenxinAIEventSourceListener.java | 12 ++++++------ 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/wenxin/client/WenxinAIClient.java b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/wenxin/client/WenxinAIClient.java index d5379f48..9dbb910c 100644 --- a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/wenxin/client/WenxinAIClient.java +++ b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/wenxin/client/WenxinAIClient.java @@ -58,24 +58,21 @@ public class WenxinAIClient { } public static void refresh() { - String apiHost = ""; + String apiHost = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro"; String accessToken = ""; - String model = ""; ConfigService configService = ApplicationContextUtil.getBean(ConfigService.class); Config apiHostConfig = configService.find(WENXIN_HOST).getData(); if (apiHostConfig != null && StringUtils.isNotBlank(apiHostConfig.getContent())) { apiHost = apiHostConfig.getContent(); + if (apiHost.endsWith("/")) { + apiHost = apiHost.substring(0, apiHost.length() - 1); + } } Config config = configService.find(WENXIN_ACCESS_TOKEN).getData(); if (config != null && StringUtils.isNotBlank(config.getContent())) { accessToken = config.getContent(); } - Config deployConfig = configService.find(WENXIN_MODEL).getData(); - if (deployConfig != null && StringUtils.isNotBlank(deployConfig.getContent())) { - model = deployConfig.getContent(); - } - WENXIN_AI_CLIENT = WenxinAIStreamClient.builder().accessToken(accessToken).apiHost(apiHost).model(model) - .build(); + WENXIN_AI_CLIENT = WenxinAIStreamClient.builder().accessToken(accessToken).apiHost(apiHost).build(); } } diff --git a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/wenxin/client/WenxinAIStreamClient.java b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/wenxin/client/WenxinAIStreamClient.java index 38245e7a..86b247f8 100644 --- a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/wenxin/client/WenxinAIStreamClient.java +++ b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/wenxin/client/WenxinAIStreamClient.java @@ -8,10 +8,7 @@ import cn.hutool.http.ContentType; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.Getter; import lombok.extern.slf4j.Slf4j; -import okhttp3.MediaType; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.RequestBody; +import okhttp3.*; import okhttp3.sse.EventSource; import okhttp3.sse.EventSourceListener; import okhttp3.sse.EventSources; @@ -179,7 +176,6 @@ public class WenxinAIStreamClient { FastChatCompletionsOptions chatCompletionsOptions = new FastChatCompletionsOptions(chatMessages); chatCompletionsOptions.setStream(true); - chatCompletionsOptions.setModel(this.model); EventSource.Factory factory = EventSources.createFactory(this.okHttpClient); ObjectMapper mapper = new ObjectMapper(); @@ -192,7 +188,7 @@ public class WenxinAIStreamClient { EventSource eventSource = factory.newEventSource(request, eventSourceListener); log.info("finish invoking fast chat ai"); } catch (Exception e) { - log.error("fast chat ai error", e); + log.error("wenxin chat ai error", e); eventSourceListener.onFailure(null, e, null); throw new ParamBusinessException(); } diff --git a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/wenxin/listener/WenxinAIEventSourceListener.java b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/wenxin/listener/WenxinAIEventSourceListener.java index 73a993ea..cee3504b 100644 --- a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/wenxin/listener/WenxinAIEventSourceListener.java +++ b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/wenxin/listener/WenxinAIEventSourceListener.java @@ -38,7 +38,7 @@ public class WenxinAIEventSourceListener extends EventSourceListener { */ @Override public void onOpen(EventSource eventSource, Response response) { - log.info("Fast Chat Sse connecting..."); + log.info("Wenxin chat Sse connecting..."); } /** @@ -81,7 +81,7 @@ public class WenxinAIEventSourceListener extends EventSourceListener { throw new RuntimeException(e); } sseEmitter.complete(); - log.info("FastChatAI close sse connection..."); + log.info("WenxinChatAI close sse connection..."); } @Override @@ -107,13 +107,13 @@ public class WenxinAIEventSourceListener extends EventSourceListener { if (StringUtils.isBlank(bodyString) && Objects.nonNull(t)) { bodyString = t.getMessage(); } - log.error("Fast Chat AI sse response:{}", bodyString); + log.error("Wenxin chat AI sse response:{}", bodyString); } else { - log.error("Fast Chat AI sse response:{},error:{}", response, t); + log.error("Wenxin chat AI sse response:{},error:{}", response, t); } eventSource.cancel(); Message message = new Message(); - message.setContent("Fast Chat AI error:" + bodyString); + message.setContent("Wenxin chat AI error:" + bodyString); sseEmitter.send(SseEmitter.event() .id("[ERROR]") .data(message)); @@ -122,7 +122,7 @@ public class WenxinAIEventSourceListener extends EventSourceListener { .data("[DONE]")); sseEmitter.complete(); } catch (Exception exception) { - log.error("Fast Chat AI send data error:", exception); + log.error("Wenxin chat AI send data error:", exception); } } }