From 1bddf5df3b77e505a9f41a1efa7b081cde32f931 Mon Sep 17 00:00:00 2001 From: ageerle <ageerle@163.com> Date: 星期五, 09 五月 2025 16:45:41 +0800 Subject: [PATCH] feat: 兼容多平台模型 --- ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiStreamClient.java | 24 +++++++++++++++++++++++- 1 files changed, 23 insertions(+), 1 deletions(-) diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiStreamClient.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiStreamClient.java index ef03cb2..4b3cb97 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiStreamClient.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiStreamClient.java @@ -72,6 +72,11 @@ private String apiHost; /** + * 鑷畾涔塽rl 鍏煎澶氫釜骞冲彴 + */ + private String apiUrl; + + /** * 鑷畾涔夌殑okHttpClient * 濡傛灉涓嶈嚜瀹氫箟 锛屽氨鏄敤sdk榛樿鐨凮kHttpClient瀹炰緥 */ @@ -111,6 +116,11 @@ builder.apiHost = OpenAIConst.OPENAI_HOST; } apiHost = builder.apiHost; + + if (StrUtil.isBlank(builder.apiUrl)) { + builder.apiUrl = OpenAIConst.apiUrl; + } + apiUrl = builder.apiUrl; if (Objects.isNull(builder.keyStrategy)) { builder.keyStrategy = new KeyRandomStrategy(); @@ -180,7 +190,7 @@ ObjectMapper mapper = new ObjectMapper(); String requestBody = mapper.writeValueAsString(chatCompletion); Request request = new Request.Builder() - .url(this.apiHost + "v1/chat/completions") + .url(this.apiHost + apiUrl) .post(RequestBody.create(MediaType.parse(ContentType.JSON.getValue()), requestBody)) .build(); factory.newEventSource(request, eventSourceListener); @@ -611,6 +621,8 @@ */ private String apiHost; + private String apiUrl; + /** * 鑷畾涔塐khttpClient */ @@ -645,6 +657,16 @@ return this; } + /** + * @param val 鑷畾涔夎姹傚悗缂� + * @return Builder + * @see OpenAIConst + */ + public Builder apiUrl(String val) { + apiUrl = val; + return this; + } + public Builder keyStrategy(KeyStrategyFunction val) { keyStrategy = val; return this; -- Gitblit v1.9.3