From 3666157d14201d39a0e61588582fee97fac95ad1 Mon Sep 17 00:00:00 2001 From: Albert <janzhou123@users.noreply.github.com> Date: 星期二, 13 五月 2025 09:59:36 +0800 Subject: [PATCH] Merge pull request #1 from ageerle/main --- ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/config/LocalCache.java | 1 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletionResponse.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/SseServiceImpl.java | 20 - ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/web/utils/MD5Util.java | 1 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatModelBo.java | 4 ruoyi-modules-api/ruoyi-knowledge-api/pom.xml | 12 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/listener/WebSocketEventListener.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/Model.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ResponseFormat.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/DisplayType.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/BaseChatCompletion.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Subscription.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/PluginListener.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/utils/TikTokensUtil.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/Image.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiApi.java | 2 image/小助手wx.png | 0 ruoyi-admin/src/main/resources/application.yml | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/files/UploadFileResponse.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/Permission.java | 2 script/sql/update/20250509.sql | 4 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/function/KeyRandomStrategy.java | 2 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatModel.java | 4 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Plan.java | 1 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Message.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/ModelResponse.java | 2 ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-huya/src/test/java/tech/ordinaryroad/live/chat/client/huya/util/HuyaCodecUtilTest.java | 5 ruoyi-common/ruoyi-common-pay/src/main/java/org/ruoyi/common/listener/ConfigChangeListener.java | 2 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/VxLoginService.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageEdit.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/DifyServiceImpl.java | 96 +++++++ ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/OpenAiResponse.java | 2 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java | 9 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/listener/SSEEventSourceListener.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/CozeServiceImpl.java | 81 ++++++ ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/bo/GenerateLuma.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/LineItem.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/ChatModeType.java | 2 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ExcelFileLoader.java | 41 +++ ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Categories.java | 2 ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/bo/SysUserPasswordBo.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiStreamClient.java | 39 ++ ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/whisper/Whisper.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletionWithPicture.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatController.java | 5 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/UserModelService.java | 35 -- ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OllamaServiceImpl.java | 19 + ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/DynamicKeyOpenAiAuthInterceptor.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/function/KeyStrategyFunction.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/files/File.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Grants.java | 1 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/edits/EditResponse.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/DailyCost.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/completions/CompletionResponse.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/embeddings/Embedding.java | 2 ruoyi-modules-api/ruoyi-chat-api/pom.xml | 12 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/IChatService.java | 6 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/MessagePicture.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/factory/ChatServiceFactory.java | 43 +++ ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/DouyuLiveChatClientTest.java | 7 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatChoice.java | 1 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/whisper/WhisperResponse.java | 2 ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/Usage.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ImageUrl.java | 1 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/ModerationResponse.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/edits/Edit.java | 2 ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/itchat4j/client/SingleHttpClient.java | 1 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/BaseMessage.java | 1 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/DeleteResponse.java | 2 ruoyi-common/ruoyi-common-core/src/main/java/org/ruoyi/common/core/event/ConfigChangeEvent.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/OpenAiResponseInterceptor.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/Item.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/exception/CommonError.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Datum.java | 1 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/TestOpenAIAPI.java | 2 ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-kuaishou/src/test/java/tech/ordinaryroad/live/chat/client/kuaishou/api/KuaishouApisTest.java | 10 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/engines/Engine.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/bo/GenerateLyric.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Functions.java | 2 README.md | 64 +--- ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/Usage.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiClient.java | 2 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/ExcelTextSplitter.java | 17 + ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Content.java | 1 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/exception/IError.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/DefaultPluginListener.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/SizeEnum.java | 2 .gitignore | 2 ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/itchat4j/utils/tools/CommonTools.java | 3 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageResponse.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/Dall3Request.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/CreditGrantsResponse.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/completions/Completion.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletion.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/Choice.java | 1 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Moderation.java | 2 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java | 3 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/embeddings/EmbeddingResponse.java | 2 ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/ChatChoice.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageVariations.java | 2 ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/ChatCompletionResponse.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/ChatRequest.java | 2 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ResourceLoaderFactory.java | 9 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/constant/FileType.java | 11 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/CategoryScores.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/DefaultOpenAiAuthInterceptor.java | 2 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/request/TranslationRequest.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/constant/OpenAIConst.java | 3 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/FunctionCall.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Result.java | 2 /dev/null | 12 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Parameters.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/ConsoleEventSourceListener.java | 2 ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/util/DouyuCodecUtilTest.java | 8 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/OpenAILogger.java | 2 ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/Message.java | 2 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/BillingUsage.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java | 14 118 files changed, 510 insertions(+), 251 deletions(-) diff --git a/.gitignore b/.gitignore index ccdf948..d75b376 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,8 @@ ruoyi-modules/ruoyi-generator/src/main/resources/vm/vben5 +README.md + ###################################################################### # IDE diff --git a/README.md b/README.md index 7d20c40..4aff8d3 100644 --- a/README.md +++ b/README.md @@ -59,24 +59,16 @@ ### 绯荤粺浣撻獙 - 鐢ㄦ埛绔細https://web.pandarobot.chat - 绠$悊绔細https://admin.pandarobot.chat - - 鐢ㄦ埛鍚�: admin 瀵嗙爜锛歛dmin123 +- 鐢ㄦ埛鍚�: admin 瀵嗙爜锛歛dmin123 ### 婧愮爜鍦板潃 - -[1]gitee -- 鍓嶇鏈嶅姟-鐢ㄦ埛绔�: https://gitee.com/ageerle/ruoyi-web -- 鍓嶇鏈嶅姟-绠$悊绔�: https://gitee.com/ageerle/ruoyi-admin -- 鍓嶇鏈嶅姟-灏忕▼搴忕: https://gitee.com/ageerle/ruoyi-uniapp -- 鍚庣鏈嶅姟锛歨ttps://gitee.com/ageerle/ruoyi-ai - -[2]github +[1]github - 鍓嶇鏈嶅姟-鐢ㄦ埛绔�: https://github.com/ageerle/ruoyi-web - 鍓嶇鏈嶅姟-绠$悊绔�: https://github.com/ageerle/ruoyi-admin - 鍓嶇鏈嶅姟-灏忕▼搴忕: https://github.com/ageerle/ruoyi-uniapp - 鍚庣鏈嶅姟锛歨ttps://github.com/ageerle/ruoyi-ai -[3]gitcode +[2]gitcode - 鍓嶇鏈嶅姟-鐢ㄦ埛绔細https://gitcode.com/ageerle/ruoyi-web - 鍓嶇鏈嶅姟-绠$悊绔�: https://gitcode.com/ageerle/ruoyi-admin - 鍓嶇鏈嶅姟-灏忕▼搴忕: https://gitcode.com/ageerle/ruoyi-uniapp @@ -86,27 +78,25 @@ - 閰嶅鏂囨。: https://doc.pandarobot.chat - 椤圭洰閮ㄧ讲鏂囨。锛歨ttps://doc.pandarobot.chat/guide/introduction/ -### 鏍稿績鍔熻兘 -1. 鍏ㄥ寮�婧愮郴缁燂細鎻愪緵瀹屾暣鐨勫墠绔簲鐢ㄣ�佸悗鍙扮鐞嗕互鍙婂皬绋嬪簭搴旂敤锛屽熀浜嶮IT鍗忚锛屽紑绠卞嵆鐢ㄣ�� -2. 鏈湴RAG鏂规锛氶泦鎴怣ilvus/Weaviate鍚戦噺搴撱�佹湰鍦板悜閲忓寲妯″瀷涓嶰llama锛屽疄鐜版湰鍦板寲RAG銆� -3. 涓板瘜鎻掍欢鍔熻兘锛氭敮鎸佽仈缃戙�丼QL鏌ヨ鎻掍欢鍙奣ext2API鎻掍欢锛屾墿灞曠郴缁熻兘鍔涗笌搴旂敤鍦烘櫙銆� -4. 鍐呯疆SSE銆亀ebsocket绛夌綉缁滃崗璁紝鏀寔瀵规帴澶氱澶ц瑷�妯″瀷锛屽悓鏃惰繕闆嗘垚浜哅idJourney鍜孌ALLE AI缁樼敾鍔熻兘銆� -5. 寮哄ぇ鐨勫濯掍綋鍔熻兘锛氭敮鎸丄I缈昏瘧銆丳PT鍒朵綔銆佽闊冲厠闅嗗拰缈诲敱绛夈�� -6. 鎵╁睍鍔熻兘锛氭敮鎸佸皢澶фā鍨嬫帴鍏ヤ釜浜烘垨浼佷笟寰俊銆� -7. 鏀粯鍔熻兘锛氭敮鎸佹槗鏀粯銆佸井淇℃敮浠樼瓑澶氱鏀粯鏂瑰紡銆� +### 鏍稿績鍔熻兘涓庢妧鏈寒鐐� +#### 1. 鍏ㄦ爤寮忓紑婧愮郴缁� +- 鍏ㄥ寮�婧愮郴缁燂細鎻愪緵瀹屾暣鐨勫墠绔簲鐢ㄣ�佸悗鍙扮鐞嗕互鍙婂皬绋嬪簭搴旂敤锛屽熀浜嶮IT鍗忚锛屽紑绠卞嵆鐢ㄣ�� +#### 2. 鏈湴鍖� RAG 鏂规 +- 鍩轰簬 **Langchain4j** 妗嗘灦锛屾敮鎸� Milvus/Weaviate/Qdrant 鍚戦噺搴擄紝缁撳悎 BGE-large-zh-v1.5 鏈湴鍚戦噺鍖栨ā鍨� 瀹炵幇楂樻晥鏂囨。妫�绱笌鐭ヨ瘑搴撴瀯寤恒�� +- 鏀寔 鏈湴 LLM 鎺ュ叆锛岀粨鍚堢鏈夌煡璇嗗簱瀹炵幇瀹夊叏鍙帶鐨勯棶绛旂郴缁燂紝閬垮厤渚濊禆浜戠鏈嶅姟鐨勯殣绉侀闄┿�� +#### 3. 澶氭ā鎬� AI 寮曟搸涓庡伐鍏烽泦鎴� +- 鏅鸿兘瀵硅瘽锛氭敮鎸� OpenAI GPT-4銆丄zure銆丆hatGLM 绛変富娴佹ā鍨嬶紝鍐呯疆 SSE/WebSocket 鍗忚瀹炵幇浣庡欢杩熶氦浜掞紝鍏煎 **鎵e瓙**銆�**DIFY** 绛夊钩鍙� API 璋冪敤銆� +- **Spring AI MCP** 鏀寔锛氶�氳繃娉ㄨВ蹇�熷畾涔夋湰鍦板伐鍏凤紝鏀寔璋冪敤 MCP 骞垮満 鐨勬捣閲� MCP Server 鏈嶅姟锛屾墿灞曟ā鍨嬭兘鍔涜竟鐣屻�� +#### 4. 浼佷笟绾ф墿灞曚笌鍟嗕笟鍖栨敮鎸� +- 鍗虫椂閫氳闆嗘垚锛氭敮鎸佸鎺ヤ釜浜哄井淇°�佷紒涓氬井淇″強寰俊鍏紬鍙凤紝瀹炵幇娑堟伅鑷姩鍥炲銆佺敤鎴风鐞嗕笌鏅鸿兘瀹㈡湇銆� +- 鏀粯绯荤粺锛氶泦鎴愭槗鏀粯銆佸井淇℃敮浠樸�丼tripe 鍥介檯淇$敤鍗℃敮浠橈紝婊¤冻鍟嗕笟鍖栧満鏅渶姹傘�� +#### 5. 澶氬獟浣撳鐞嗕笌鍒涙柊鍔熻兘 + - AI 缁樼敾锛氶泦鎴� DALL路E-3銆丮idJourney銆丼table Diffusion锛屾敮鎸佹枃鐢熷浘銆佸浘鐢熷浘鍙婇鏍煎寲鍒涗綔锛岄�傜敤浜庤惀閿�绱犳潗鐢熸垚涓庡垱鎰忚璁°�� + - PPT 鍒朵綔锛氭牴鎹枃鏈緭鍏ヨ嚜鍔ㄧ敓鎴愮粨鏋勫寲骞荤伅鐗囷紝鏀寔鑷畾涔夋ā鏉�(闇�瑕佷娇鐢ㄤ笁鏂瑰钩鍙� 濡傦細鏂囧澶�)銆� ### 椤圭洰婕旂ず #### mcp鏀寔 - -### 濡備綍浣跨敤 -1. ruoyi-admin\src\main\resources\application.yml涓璵cp.client.enabled鏀逛负true -2. application.yml涓厤缃畂penai api-key(鐢ㄤ簬鎺ㄧ悊浣跨敤閭d釜宸ュ叿,骞舵瀯寤哄伐鍏锋墍闇�鍙傛暟) -3. 鍚姩[ruoyi-mcp-server] -4. [mcp-server.json]涓厤缃甪ileSystem.command(npx鏈湴瀹夎璺緞) -5. 鎸囧畾fileSystem鎿嶄綔鐩綍(鏈湴蹇呴』瀛樺湪鎸囧畾鐨勭洰褰�) -6. 閰嶇疆search1api.env.SEARCH1API_KEY 鐢宠鍦板潃锛歨ttps://www.search1api.com/ -7. 璇︽儏鏁欑▼锛歨ttps://blog.csdn.net/weixin_42416319/article/details/147385808 <div style="display: flex; flex-wrap: wrap; gap: 20px; justify-content: center;"> <img src="image/mcp-01.png" alt="drawing" style="width: 600px; height: 300px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/> <img src="image/mcp-02.png" alt="drawing" style="width: 600px; height: 300px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/> @@ -121,7 +111,6 @@ <img src="image/04.png" alt="drawing" style="width: 600px; height: 300px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/> <img src="image/05.png" alt="drawing" style="width: 600px; height: 300px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/> </div> - #### 鐢ㄦ埛绔� <div style="display: flex; flex-wrap: wrap; gap: 20px; justify-content: center;"> @@ -204,7 +193,6 @@ ### 娉ㄦ剰浜嬮」 - vben妯℃澘 - Q锛歷ben5 鐨勬ā鏉块粯璁ゆ槸娌℃湁鐨勫悧锛� A锛歷ben妯℃澘鏄敹璐圭殑 璇疯仈绯籿ben-vue-plus浣滆�呰幏鍙栥�� @@ -212,7 +200,6 @@ ### 鐗堟湰鎺у埗 璇ラ」鐩娇鐢℅it杩涜鐗堟湰绠$悊銆傛偍鍙互鍦╮epository鍙傜湅褰撳墠鍙敤鐗堟湰銆� - ### 鐗堟潈璇存槑 @@ -251,7 +238,7 @@ #### 椤圭洰鏂囨。 1. 椤圭洰鏂囨。鍩轰簬vitepress鏋勫缓 -2. 鎸夌収[濡備綍鍙備笌寮�婧愰」鐩甝(#濡備綍鍙備笌寮�婧愰」鐩�)鎷夊彇 https://github.com/ageerle/ruoyi-doc +2. 鎸夌収[濡備綍鍙備笌寮�婧愰」鐩甝(#濡備綍鍙備笌寮�婧愰」鐩�)鎷夊彇https://github.com/ageerle/ruoyi-doc 3. 瀹夎渚濊禆锛歯pm install 4. 鍚姩椤圭洰锛歯pm run docs:dev 5. 涓婚〉璺緞锛歞ocs/guide/introduction/index.md @@ -277,11 +264,15 @@ [license-url]: https://github.com/ageerle/ruoyi-ai/blob/master/LICENSE.txt [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=555 +## 馃尶 绗笁鏂圭敓鎬� +- [PPIO 娲炬浜戯細涓�閿皟鐢ㄩ珮鎬т环姣旂殑寮�婧愭ā鍨� API 鍜� GPU 瀹瑰櫒](https://ppinfra.com/user/register?invited_by=P8QTUY&utm_source=github_ruoyi-ai) ### 闄勶細鎶�鏈璁虹兢 -#### 鍏ㄩ潰寮�鏀撅紝娆㈣繋鍔犲叆 +#### 杩涚兢瀛︿範 馃彔 wx锛歳uoyi-ai锛堝姞浜哄娉細ruoyi-ai锛� + + <img src="image/灏忓姪鎵媤x.png" alt="drawing" style="width: 400px; height: 400px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/> 馃彔 qq锛�1603234088 锛堝姞浜哄娉細ruoyi-ai锛� @@ -290,11 +281,4 @@ <div style="display: flex; flex-wrap: wrap; gap: 20px; justify-content: center;"> <img src="image/QQ鍖�-瀹樻柟浜ゆ祦1缇�.png" alt="drawing" style="width: 400px; height: 400px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/> </div> - -馃憦馃憦馃憦 ruoyi-ai瀹樻柟浜ゆ祦4缇わ紙寰俊鍖猴級锛� -<div style="display: flex; flex-wrap: wrap; gap: 20px; justify-content: center;"> - <img src="image/WX鍖�-瀹樻柟浜ゆ祦4缇�.jpg" alt="drawing" style="width: 400px; height: 400px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/> -</div> - - diff --git "a/image/\345\260\217\345\212\251\346\211\213wx.png" "b/image/\345\260\217\345\212\251\346\211\213wx.png" new file mode 100644 index 0000000..740710c --- /dev/null +++ "b/image/\345\260\217\345\212\251\346\211\213wx.png" Binary files differ diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index af82aab..90a1b50 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -226,7 +226,7 @@ # 鏍囬 title: '鏍囬锛歊uoYi-Vue-Plus澶氱鎴风鐞嗙郴缁焈鎺ュ彛鏂囨。' # 鎻忚堪 - description: '鎻忚堪锛氱敤浜庣鐞嗛泦鍥㈡棗涓嬪叕鍙哥殑浜哄憳淇℃伅,鍏蜂綋鍖呮嫭XXX,XXX妯″潡...' + description: ' 鐢ㄤ簬绠$悊闆嗗洟鏃椾笅鍏徃鐨勪汉鍛樹俊鎭�,鍏蜂綋鍖呮嫭XXX,XXX妯″潡...' # 鐗堟湰 version: '鐗堟湰鍙�: ${ruoyi.version}' # 浣滆�呬俊鎭� diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/config/LocalCache.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/config/LocalCache.java index e90286e..c8d0559 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/config/LocalCache.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/config/LocalCache.java @@ -6,7 +6,6 @@ import lombok.extern.slf4j.Slf4j; /** - * 鎻忚堪锛� * * @author https:www.unfbx.com * @date 2023-03-10 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/constant/OpenAIConst.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/constant/OpenAIConst.java index bab2821..4c67374 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/constant/OpenAIConst.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/constant/OpenAIConst.java @@ -1,7 +1,6 @@ package org.ruoyi.common.chat.constant; /** - * 鎻忚堪锛� * * @author https:www.unfbx.com * @since 2023-03-06 @@ -10,6 +9,8 @@ public final static String OPENAI_HOST = "https://api.openai.com/"; + public final static String apiUrl = "v1/chat/completions"; + public final static int SUCCEED_CODE = 200; } diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/BillingUsage.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/BillingUsage.java index 2ad8b04..0936f7f 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/BillingUsage.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/BillingUsage.java @@ -8,7 +8,7 @@ import java.util.List; /** - * 鎻忚堪锛氶噾棰濇秷鑰椾俊鎭� + * 閲戦娑堣�椾俊鎭� * * @author https:www.unfbx.com * @since 2023-04-08 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/CreditGrantsResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/CreditGrantsResponse.java index 6b3629f..93600d8 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/CreditGrantsResponse.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/CreditGrantsResponse.java @@ -8,7 +8,7 @@ import java.math.BigDecimal; /** - * 鎻忚堪锛氫綑棰濇煡璇㈡帴鍙h繑鍥炲�� + * 浣欓鏌ヨ鎺ュ彛杩斿洖鍊� * * @author https:www.unfbx.com * @since 2023-03-18 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/DailyCost.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/DailyCost.java index b11c9d7..bdbca47 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/DailyCost.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/DailyCost.java @@ -7,7 +7,7 @@ import java.util.List; /** - * 鎻忚堪锛氶噾棰濇秷鑰楀垪琛� + * 閲戦娑堣�楀垪琛� * * @author https:www.unfbx.com * @since 2023-04-08 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Datum.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Datum.java index e2eb2e4..ed4b5ae 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Datum.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Datum.java @@ -7,7 +7,6 @@ import java.math.BigDecimal; /** - * 鎻忚堪锛� * * @author https:www.unfbx.com * @since 2023-03-18 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Grants.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Grants.java index f8f4cce..25445fc 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Grants.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Grants.java @@ -7,7 +7,6 @@ import java.util.List; /** - * 鎻忚堪锛� * * @author https:www.unfbx.com * @since 2023-03-18 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/LineItem.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/LineItem.java index 90499bb..c695405 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/LineItem.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/LineItem.java @@ -6,7 +6,7 @@ import java.math.BigDecimal; /** - * 鎻忚堪锛氶噾棰濇秷鑰楀垪琛� + * 閲戦娑堣�楀垪琛� * * @author https:www.unfbx.com * @since 2023-04-08 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Plan.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Plan.java index de74e21..5f7e646 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Plan.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Plan.java @@ -4,7 +4,6 @@ import lombok.Data; /** - * 鎻忚堪锛� * * @author https:www.unfbx.com * @since 2023-04-08 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Subscription.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Subscription.java index f41c94b..5361986 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Subscription.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/billing/Subscription.java @@ -4,7 +4,7 @@ import lombok.Data; /** - * 鎻忚堪锛氳处鎴蜂俊鎭� + * 璐︽埛淇℃伅 * * @author https:www.unfbx.com * @since 2023-04-08 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/BaseChatCompletion.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/BaseChatCompletion.java index c0bcd18..4305387 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/BaseChatCompletion.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/BaseChatCompletion.java @@ -13,7 +13,7 @@ import static org.ruoyi.common.chat.entity.chat.BaseChatCompletion.Model.GPT_3_5_TURBO; /** - * 鎻忚堪锛� chat妯″瀷鍩虹绫� + * chat妯″瀷鍩虹绫� * * @author https:www.unfbx.com * @since 1.1.2 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/BaseMessage.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/BaseMessage.java index 8759aa8..cf10079 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/BaseMessage.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/BaseMessage.java @@ -12,7 +12,6 @@ import java.util.List; /** - * 鎻忚堪锛� * * @author https:www.unfbx.com * @since 1.1.2 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatChoice.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatChoice.java index 54bdf6f..d0c3f14 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatChoice.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatChoice.java @@ -7,7 +7,6 @@ import java.io.Serializable; /** - * 鎻忚堪锛� * * @author https:www.unfbx.com * @since 2023-03-02 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletion.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletion.java index 003013b..217e3e5 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletion.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletion.java @@ -12,7 +12,7 @@ import java.util.List; /** - * 鎻忚堪锛� chat妯″瀷鍙傛暟 + * chat妯″瀷鍙傛暟 * * @author https:www.unfbx.com * 2023-03-02 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletionResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletionResponse.java index 5f02aa3..477e7cf 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletionResponse.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletionResponse.java @@ -8,7 +8,7 @@ import java.util.List; /** - * 鎻忚堪锛� chat绛旀绫� + * chat绛旀绫� * * @author https:www.unfbx.com * 2023-03-02 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletionWithPicture.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletionWithPicture.java index b7a060d..bc4c578 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletionWithPicture.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ChatCompletionWithPicture.java @@ -11,7 +11,7 @@ import java.util.List; /** - * 鎻忚堪锛� chat妯″瀷闄勫甫鍥剧墖鐨勫弬鏁� + * 锛� chat妯″瀷闄勫甫鍥剧墖鐨勫弬鏁� * * @author https:www.unfbx.com * @since 1.1.2 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Content.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Content.java index 02fdcbb..0abe01f 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Content.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Content.java @@ -6,7 +6,6 @@ import lombok.extern.slf4j.Slf4j; /** - * 鎻忚堪锛� * * @author https://www.unfbx.com * @since 1.1.2 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/FunctionCall.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/FunctionCall.java index 6691078..fcd8ecc 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/FunctionCall.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/FunctionCall.java @@ -6,7 +6,7 @@ import lombok.NoArgsConstructor; /** - * 鎻忚堪锛氬嚱鏁拌皟鐢ㄨ繑鍥炲�� + * 鍑芥暟璋冪敤杩斿洖鍊� * * @author https://www.unfbx.com * @since 2023-06-14 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Functions.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Functions.java index d245dd2..b65e0f4 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Functions.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Functions.java @@ -6,7 +6,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛氭柟娉曞弬鏁板疄浣撶被锛屽疄渚嬫暟鎹涓� + * 鏂规硶鍙傛暟瀹炰綋绫伙紝瀹炰緥鏁版嵁濡備笅 * <pre> * { * "name": "get_current_weather", diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ImageUrl.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ImageUrl.java index 47a0c72..749b9c9 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ImageUrl.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/ImageUrl.java @@ -8,7 +8,6 @@ import lombok.extern.slf4j.Slf4j; /** - * 鎻忚堪锛� * * @author https://www.unfbx.com * 2023-11-10 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Message.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Message.java index 40412d2..40ef481 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Message.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Message.java @@ -10,7 +10,7 @@ import java.util.List; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * @since 2023-03-02 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/MessagePicture.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/MessagePicture.java index 18a4ee8..db7d77c 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/MessagePicture.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/MessagePicture.java @@ -10,8 +10,6 @@ import java.util.List; /** - * 鎻忚堪锛� - * * @author https:www.unfbx.com * @since 2023-03-02 */ diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Parameters.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Parameters.java index 48a9036..7a01535 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Parameters.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Parameters.java @@ -6,7 +6,7 @@ import java.io.Serializable; import java.util.List; /** - * 鎻忚堪锛氭柟娉曞弬鏁扮被锛屾墿灞曞弬鏁板彲浠ョ户鎵縋arameters鑷繁瀹炵幇 + * 鏂规硶鍙傛暟绫伙紝鎵╁睍鍙傛暟鍙互缁ф壙Parameters鑷繁瀹炵幇 * 鍙傝�冿細 * <pre> * { diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/Choice.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/Choice.java index 59debb5..cc747f1 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/Choice.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/Choice.java @@ -7,7 +7,6 @@ import java.io.Serializable; /** - * 鎻忚堪锛� * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/DeleteResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/DeleteResponse.java index eedd8ea..7c2238e 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/DeleteResponse.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/DeleteResponse.java @@ -6,7 +6,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/OpenAiResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/OpenAiResponse.java index 5ce9078..15dc7bc 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/OpenAiResponse.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/OpenAiResponse.java @@ -6,7 +6,7 @@ import java.io.Serializable; import java.util.List; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/Usage.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/Usage.java index 09a9207..188d2d4 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/Usage.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/common/Usage.java @@ -7,7 +7,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/completions/Completion.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/completions/Completion.java index 42fe86d..6405796 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/completions/Completion.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/completions/Completion.java @@ -10,7 +10,7 @@ import java.util.Map; /** - * 鎻忚堪锛� 闂绫� + * 闂绫� * * @author https:www.unfbx.com * 2023-02-11 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/completions/CompletionResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/completions/CompletionResponse.java index 3159374..78e14a2 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/completions/CompletionResponse.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/completions/CompletionResponse.java @@ -9,7 +9,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� 绛旀绫� + * 绛旀绫� * * @author https:www.unfbx.com * 2023-02-11 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/edits/Edit.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/edits/Edit.java index 4a2da13..662c0bc 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/edits/Edit.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/edits/Edit.java @@ -7,7 +7,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/edits/EditResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/edits/EditResponse.java index 803b742..0791761 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/edits/EditResponse.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/edits/EditResponse.java @@ -9,7 +9,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/embeddings/Embedding.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/embeddings/Embedding.java index e778923..d176e2a 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/embeddings/Embedding.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/embeddings/Embedding.java @@ -9,7 +9,7 @@ import java.util.Objects; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/embeddings/EmbeddingResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/embeddings/EmbeddingResponse.java index 00868ef..ad48b2a 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/embeddings/EmbeddingResponse.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/embeddings/EmbeddingResponse.java @@ -8,7 +8,7 @@ import java.util.List; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/engines/Engine.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/engines/Engine.java index ce375a4..72b28c4 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/engines/Engine.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/engines/Engine.java @@ -6,7 +6,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/files/File.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/files/File.java index b696962..06be240 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/files/File.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/files/File.java @@ -6,7 +6,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/files/UploadFileResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/files/UploadFileResponse.java index 6d1bcda..c3e87cc 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/files/UploadFileResponse.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/files/UploadFileResponse.java @@ -6,7 +6,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/Image.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/Image.java index 0875449..84f60ff 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/Image.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/Image.java @@ -11,7 +11,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageEdit.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageEdit.java index eac0a61..32ee367 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageEdit.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageEdit.java @@ -11,7 +11,7 @@ import java.util.Objects; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageResponse.java index ca61b45..7ad8415 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageResponse.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageResponse.java @@ -7,7 +7,7 @@ import java.util.List; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageVariations.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageVariations.java index 34b81b9..03ea00f 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageVariations.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ImageVariations.java @@ -12,7 +12,7 @@ import java.util.Objects; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/Item.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/Item.java index da7a158..58f7ca0 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/Item.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/Item.java @@ -7,7 +7,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ResponseFormat.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ResponseFormat.java index 4c06dcd..5a9e1e2 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ResponseFormat.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/ResponseFormat.java @@ -6,7 +6,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/SizeEnum.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/SizeEnum.java index d8b0204..fe2997e 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/SizeEnum.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/images/SizeEnum.java @@ -6,7 +6,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/Model.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/Model.java index 2848e12..bfedf88 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/Model.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/Model.java @@ -8,7 +8,7 @@ import java.util.List; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/ModelResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/ModelResponse.java index 6aa4cea..f78cf84 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/ModelResponse.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/ModelResponse.java @@ -7,7 +7,7 @@ import java.util.List; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/Permission.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/Permission.java index fd66a0a..8b15a0a 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/Permission.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/models/Permission.java @@ -7,7 +7,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Categories.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Categories.java index ebe72e6..69d9add 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Categories.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Categories.java @@ -7,7 +7,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/CategoryScores.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/CategoryScores.java index b14e230..13f9ed0 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/CategoryScores.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/CategoryScores.java @@ -8,7 +8,7 @@ import java.math.BigDecimal; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Moderation.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Moderation.java index 42dd1be..f6831f7 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Moderation.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Moderation.java @@ -10,7 +10,7 @@ import java.util.Objects; /** - * 鎻忚堪锛氭枃鏈鏍革紝鏁忔劅璇嶉壌鍒� + * 鏂囨湰瀹℃牳锛屾晱鎰熻瘝閴村埆 * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/ModerationResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/ModerationResponse.java index 046cd0b..b1a3dd2 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/ModerationResponse.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/ModerationResponse.java @@ -7,7 +7,7 @@ import java.util.List; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Result.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Result.java index 28dee33..a42682a 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Result.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/moderations/Result.java @@ -7,7 +7,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/whisper/Whisper.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/whisper/Whisper.java index 4ffc522..7de6ca5 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/whisper/Whisper.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/whisper/Whisper.java @@ -7,7 +7,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛氳闊宠浆鏂囧瓧 + * 璇煶杞枃瀛� * * @author https:www.unfbx.com * @since 2023-03-02 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/whisper/WhisperResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/whisper/WhisperResponse.java index 3635dd9..d80900f 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/whisper/WhisperResponse.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/whisper/WhisperResponse.java @@ -6,7 +6,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * @since 2023-03-02 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/listener/WebSocketEventListener.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/listener/WebSocketEventListener.java index 15c4723..c704a28 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/listener/WebSocketEventListener.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/listener/WebSocketEventListener.java @@ -16,7 +16,7 @@ import java.util.Objects; /** - * 鎻忚堪锛歄penAI娴佸紡杈撳嚭Socket鎺ユ敹 + * OpenAI娴佸紡杈撳嚭Socket鎺ユ敹 * * @author https:www.unfbx.com * @date 2023-03-23 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiApi.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiApi.java index bb0bd12..ba6fa9e 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiApi.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiApi.java @@ -40,7 +40,7 @@ import java.util.Map; /** - * 鎻忚堪锛� open ai瀹樻柟api鎺ュ彛 + * open ai瀹樻柟api鎺ュ彛 * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiClient.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiClient.java index ccc5214..fc8462a 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiClient.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/OpenAiClient.java @@ -56,7 +56,7 @@ /** - * 鎻忚堪锛� open ai 瀹㈡埛绔� + * open ai 瀹㈡埛绔� * * @author https:www.unfbx.com * @since 2023-02-11 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..e02dde1 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 @@ -53,7 +53,7 @@ import java.util.concurrent.TimeUnit; /** - * 鎻忚堪锛� open ai 瀹㈡埛绔� + * open ai 瀹㈡埛绔� * * @author https:www.unfbx.com * 2023-02-28 @@ -70,6 +70,11 @@ * 鑷畾涔塧pi host浣跨敤builder鐨勬柟寮忔瀯閫燾lient */ private String apiHost; + + /** + * 鑷畾涔塽rl 鍏煎澶氫釜骞冲彴 + */ + private String apiUrl; /** * 鑷畾涔夌殑okHttpClient @@ -112,6 +117,11 @@ } apiHost = builder.apiHost; + if (StrUtil.isBlank(builder.apiUrl)) { + builder.apiUrl = OpenAIConst.apiUrl; + } + apiUrl = builder.apiUrl; + if (Objects.isNull(builder.keyStrategy)) { builder.keyStrategy = new KeyRandomStrategy(); } @@ -136,12 +146,12 @@ } okHttpClient = builder.okHttpClient; - this.openAiApi = new Retrofit.Builder() - .baseUrl(apiHost) - .client(okHttpClient) - .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) - .addConverterFactory(JacksonConverterFactory.create()) - .build().create(OpenAiApi.class); +// this.openAiApi = new Retrofit.Builder() +// .baseUrl(apiHost) +// .client(okHttpClient) +// .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) +// .addConverterFactory(JacksonConverterFactory.create()) +// .build().create(OpenAiApi.class); } /** @@ -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) .post(RequestBody.create(MediaType.parse(ContentType.JSON.getValue()), requestBody)) .build(); factory.newEventSource(request, eventSourceListener); @@ -334,7 +344,6 @@ BillingUsage billingUsage = billingUsage(start.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), end.toInstant().atZone(ZoneId.systemDefault()).toLocalDate()); double totalUsage = billingUsage.getTotalUsage().doubleValue() / 100; - System.out.println(totalUsage); Subscription subscription = subscription(); KeyInfo keyInfo = new KeyInfo(); String start_key = key.substring(0, 6); @@ -611,6 +620,8 @@ */ private String apiHost; + private String apiUrl; + /** * 鑷畾涔塐khttpClient */ @@ -645,6 +656,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; diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/TestOpenAIAPI.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/TestOpenAIAPI.java index 349f5c1..3df000d 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/TestOpenAIAPI.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/TestOpenAIAPI.java @@ -21,7 +21,7 @@ .build(); try (Response response = client.newCall(request).execute()) { - System.out.println(response.body().string()); + } } diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/exception/CommonError.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/exception/CommonError.java index e59e9cd..e7cae02 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/exception/CommonError.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/exception/CommonError.java @@ -1,7 +1,7 @@ package org.ruoyi.common.chat.openai.exception; /** - * 鎻忚堪锛� 閿欒 + * 閿欒 * * @author https:www.unfbx.com * 2023-02-11 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/exception/IError.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/exception/IError.java index 84af81c..0e17a63 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/exception/IError.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/exception/IError.java @@ -1,6 +1,6 @@ package org.ruoyi.common.chat.openai.exception; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-11 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/function/KeyRandomStrategy.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/function/KeyRandomStrategy.java index 5dc10a0..e4945d6 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/function/KeyRandomStrategy.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/function/KeyRandomStrategy.java @@ -5,7 +5,7 @@ import java.util.List; /** - * 鎻忚堪锛氶殢鏈虹瓥鐣� + * 闅忔満绛栫暐 * * @author https:www.unfbx.com * @since 2023-04-03 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/function/KeyStrategyFunction.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/function/KeyStrategyFunction.java index 5ce5af0..c446414 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/function/KeyStrategyFunction.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/function/KeyStrategyFunction.java @@ -3,7 +3,7 @@ import java.util.function.Function; /** - * 鎻忚堪锛歬ey 鐨勮幏鍙栫瓥鐣� + * key 鐨勮幏鍙栫瓥鐣� * jdk榛樿瀹炵幇 * @see Function * diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/DefaultOpenAiAuthInterceptor.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/DefaultOpenAiAuthInterceptor.java index 9715470..1165bc2 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/DefaultOpenAiAuthInterceptor.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/DefaultOpenAiAuthInterceptor.java @@ -9,7 +9,7 @@ import java.util.Map; /** - * 鎻忚堪锛氳姹傚鍔爃eader apikey + * 璇锋眰澧炲姞header apikey * * @author https:www.unfbx.com * @since 2023-03-23 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/DynamicKeyOpenAiAuthInterceptor.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/DynamicKeyOpenAiAuthInterceptor.java index 1f8c758..6fd892a 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/DynamicKeyOpenAiAuthInterceptor.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/DynamicKeyOpenAiAuthInterceptor.java @@ -16,7 +16,7 @@ import java.util.stream.Collectors; /** - * 鎻忚堪锛氬姩鎬佸鐞唊ey鐨勯壌鏉冩嫤鎴櫒 + * 鍔ㄦ�佸鐞唊ey鐨勯壌鏉冩嫤鎴櫒 * * @author https:www.unfbx.com * @since 2023-04-25 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/OpenAILogger.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/OpenAILogger.java index c0801e2..dc32a69 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/OpenAILogger.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/OpenAILogger.java @@ -4,7 +4,7 @@ import okhttp3.logging.HttpLoggingInterceptor; /** - * 鎻忚堪锛� 鏃ュ織 + * 鏃ュ織 * * @author https:www.unfbx.com * 2023-02-28 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/OpenAiResponseInterceptor.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/OpenAiResponseInterceptor.java index 6d656a2..936bcab 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/OpenAiResponseInterceptor.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/openai/interceptor/OpenAiResponseInterceptor.java @@ -13,7 +13,7 @@ import java.util.Objects; /** - * 鎻忚堪锛歰penai 杩斿洖鍊煎鐞咺nterceptor + * openai 杩斿洖鍊煎鐞咺nterceptor * * @author https:www.unfbx.com * @since 2023-03-23 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/CmdReq.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/CmdReq.java deleted file mode 100644 index a275150..0000000 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/CmdReq.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.ruoyi.common.chat.plugin; - - -import lombok.Data; -import org.ruoyi.common.chat.openai.plugin.PluginParam; - -@Data -public class CmdReq extends PluginParam { - /** - * 鎸囦护 - */ - private String cmd; -} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/CmdResp.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/CmdResp.java deleted file mode 100644 index 4e10139..0000000 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/CmdResp.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.ruoyi.common.chat.plugin; - -import lombok.Data; - -@Data -public class CmdResp { - - /** - * 杩斿洖缁撴灉 - */ - private String result; -} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/SqlPlugin.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/SqlPlugin.java deleted file mode 100644 index a40734d..0000000 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/SqlPlugin.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.ruoyi.common.chat.plugin; - -import org.ruoyi.common.chat.openai.plugin.PluginAbstract; - -import java.sql.*; - -/** - * @author ageer - */ -public class SqlPlugin extends PluginAbstract<SqlReq, SqlResp> { - - public SqlPlugin(Class<?> r) { - super(r); - } - - - - @Override - public SqlResp func(SqlReq args) { - SqlResp resp = new SqlResp(); - resp.setUserBalance(getBalance(args.getUsername())); - return resp; - } - - @Override - public String content(SqlResp resp) { - return "鐢ㄦ埛浣欓锛�"+resp.getUserBalance(); - } - - - public String getBalance(String userName) { - // MySQL 8.0 浠ヤ笅鐗堟湰 - JDBC 椹卞姩鍚嶅強鏁版嵁搴� URL - String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; - String DB_URL = "jdbc:mysql://43.139.70.230:3306/ry-vue"; - // 鏁版嵁搴撶殑鐢ㄦ埛鍚嶄笌瀵嗙爜锛岄渶瑕佹牴鎹嚜宸辩殑璁剧疆 - String USER = "ry-vue"; - String PASS = "BXZiGsY35K523Xfx"; - Connection conn = null; - Statement stmt = null; - String balance = "0.1"; - - try{ - // 娉ㄥ唽 JDBC 椹卞姩 - Class.forName(JDBC_DRIVER); - - // 鎵撳紑閾炬帴 - System.out.println("杩炴帴鏁版嵁搴�..."); - conn = DriverManager.getConnection(DB_URL,USER,PASS); - - // 鎵ц鏌ヨ - System.out.println(" 瀹炰緥鍖朣tatement瀵硅薄..."); - stmt = conn.createStatement(); - String sql; - sql = "SELECT user_balance FROM sys_user where user_name ='" + userName + "'"; - ResultSet rs = stmt.executeQuery(sql); - // 灞曞紑缁撴灉闆嗘暟鎹簱 - while(rs.next()){ - // 閫氳繃瀛楁妫�绱� - balance = rs.getString("user_balance"); - // 杈撳嚭鏁版嵁 - System.out.print("浣欓: " + balance); - System.out.print("\n"); - } - // 瀹屾垚鍚庡叧闂� - rs.close(); - stmt.close(); - conn.close(); - }catch(SQLException se){ - // 澶勭悊 JDBC 閿欒 - se.printStackTrace(); - }catch(Exception e){ - // 澶勭悊 Class.forName 閿欒 - e.printStackTrace(); - }finally{ - // 鍏抽棴璧勬簮 - try{ - if(stmt!=null) stmt.close(); - }catch(SQLException se2){ - }// 浠�涔堥兘涓嶅仛 - try{ - if(conn!=null) conn.close(); - }catch(SQLException se){ - se.printStackTrace(); - } - } - return balance; - } -} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/SqlReq.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/SqlReq.java deleted file mode 100644 index 481ba72..0000000 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/SqlReq.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.ruoyi.common.chat.plugin; - - -import lombok.Data; -import org.ruoyi.common.chat.openai.plugin.PluginParam; - -@Data -public class SqlReq extends PluginParam { - /** - * 鐢ㄦ埛鍚嶇О - */ - private String username; -} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/SqlResp.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/SqlResp.java deleted file mode 100644 index b84b555..0000000 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/plugin/SqlResp.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.ruoyi.common.chat.plugin; - -import lombok.Data; - -@Data -public class SqlResp { - - /** - * 鐢ㄦ埛浣欓 - */ - private String userBalance; -} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/ChatRequest.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/ChatRequest.java index c611c74..ed62cb4 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/ChatRequest.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/ChatRequest.java @@ -7,7 +7,7 @@ import java.util.List; /** - * 鎻忚堪锛氬璇濊姹傚璞� + * 瀵硅瘽璇锋眰瀵硅薄 * * @author ageerle * @sine 2023-04-08 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/Dall3Request.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/Dall3Request.java index c6625de..727fbf3 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/Dall3Request.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/Dall3Request.java @@ -4,7 +4,7 @@ import lombok.Data; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * @sine 2023-04-08 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/ConsoleEventSourceListener.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/ConsoleEventSourceListener.java index e02b265..4202e81 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/ConsoleEventSourceListener.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/ConsoleEventSourceListener.java @@ -10,7 +10,7 @@ import java.util.Objects; /** - * 鎻忚堪锛� sse + * sse * * @author https:www.unfbx.com * 2023-02-28 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/DefaultPluginListener.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/DefaultPluginListener.java index ab6fcf1..7a55ca9 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/DefaultPluginListener.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/DefaultPluginListener.java @@ -8,7 +8,7 @@ import org.ruoyi.common.chat.openai.plugin.PluginAbstract; /** - * 鎻忚堪锛� 鎻掍欢寮�鍙戣繑鍥炰俊鎭敹闆唖se鐩戝惉鍣� + * 鎻掍欢寮�鍙戣繑鍥炰俊鎭敹闆唖se鐩戝惉鍣� * * @author https:www.unfbx.com * 2023-08-18 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/PluginListener.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/PluginListener.java index 8b9d4a4..f1bfa44 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/PluginListener.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/sse/PluginListener.java @@ -19,7 +19,7 @@ import java.util.Objects; /** - * 鎻忚堪锛� 鎻掍欢寮�鍙戣繑鍥炰俊鎭敹闆唖se鐩戝惉鍣� + * 鎻掍欢寮�鍙戣繑鍥炰俊鎭敹闆唖se鐩戝惉鍣� * * @author https:www.unfbx.com * 2023-08-18 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/utils/TikTokensUtil.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/utils/TikTokensUtil.java index 2000651..f333ed7 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/utils/TikTokensUtil.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/utils/TikTokensUtil.java @@ -15,7 +15,7 @@ import java.util.*; /** - * 鎻忚堪锛歵oken璁$畻宸ュ叿绫� + * token璁$畻宸ュ叿绫� * * @author https:www.unfbx.com * @since 2023-04-04 diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/ruoyi/common/core/event/ConfigChangeEvent.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/ruoyi/common/core/event/ConfigChangeEvent.java index 67244af..816668a 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/ruoyi/common/core/event/ConfigChangeEvent.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/ruoyi/common/core/event/ConfigChangeEvent.java @@ -3,7 +3,7 @@ import org.springframework.context.ApplicationEvent; /** - * 鎻忚堪锛氬畾涔変竴涓簨浠剁被锛岀敤浜庨�氱煡閰嶇疆鍙樺寲 + * 瀹氫箟涓�涓簨浠剁被锛岀敤浜庨�氱煡閰嶇疆鍙樺寲 * * @author ageerle@163.com * date 2024/5/19 diff --git a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/ChatChoice.java b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/ChatChoice.java index 7919ad1..42ba779 100644 --- a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/ChatChoice.java +++ b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/ChatChoice.java @@ -7,7 +7,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * @since 2023-03-02 diff --git a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/ChatCompletionResponse.java b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/ChatCompletionResponse.java index 3134d4e..5648835 100644 --- a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/ChatCompletionResponse.java +++ b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/ChatCompletionResponse.java @@ -7,7 +7,7 @@ import java.util.List; /** - * 鎻忚堪锛� chat绛旀绫� + * chat绛旀绫� * * @author https:www.unfbx.com * 2023-03-02 diff --git a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/DouyuLiveChatClientTest.java b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/DouyuLiveChatClientTest.java index 56cc6d0..f7683af 100644 --- a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/DouyuLiveChatClientTest.java +++ b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/DouyuLiveChatClientTest.java @@ -45,11 +45,7 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.io.IOException; import java.util.Objects; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; @@ -95,12 +91,9 @@ .build(); long startTime = System.currentTimeMillis(); // 鑾峰彇寮�濮嬫椂闂寸殑姣鏁� - System.out.println("鎵ц鍓�......."); Thread.sleep(3000); - System.out.println("鎵ц鍚�......."); long endTime = System.currentTimeMillis(); // 鑾峰彇缁撴潫鏃堕棿鐨勬绉掓暟 long timeDiff = endTime - startTime; // 璁$畻鏃堕棿宸� - System.out.println("鎵ц鏃堕棿 " + timeDiff / 1000 + " 绉掋��"); try (Response response = okClient.newCall(request).execute()) { if (response.body() != null) { diff --git a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/Message.java b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/Message.java index 7ab7d80..4aef1fd 100644 --- a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/Message.java +++ b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/Message.java @@ -9,7 +9,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * @since 2023-03-02 diff --git a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/Usage.java b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/Usage.java index 5595bc0..aabe418 100644 --- a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/Usage.java +++ b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/Usage.java @@ -7,7 +7,7 @@ import java.io.Serializable; /** - * 鎻忚堪锛� + * * * @author https:www.unfbx.com * 2023-02-15 diff --git a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/util/DouyuCodecUtilTest.java b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/util/DouyuCodecUtilTest.java index b4d7260..919995d 100644 --- a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/util/DouyuCodecUtilTest.java +++ b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/util/DouyuCodecUtilTest.java @@ -48,7 +48,6 @@ Map<String, Object> stringObjectMap = DouyuCodecUtil.parseDouyuSttStringToMap(mapkb); assertNotNull(stringObjectMap); stringObjectMap.forEach((string, o) -> { - System.out.println(string); }); } @@ -58,7 +57,6 @@ Map<String, Object> stringObjectMap = DouyuCodecUtil.parseDouyuSttStringToMap(pdrinfo); assertNotNull(stringObjectMap); stringObjectMap.forEach((string, o) -> { - System.out.println(string); }); } @@ -78,7 +76,6 @@ }}); }}); }}); - System.out.println(douyuSttString); assertEquals("key1@=value1/key2@=2/key3@=11@AA=11@AS12@AA=12@AS@S22@AA=22@AS21@AA=21@AS@S/".length(), douyuSttString.length()); } @@ -87,8 +84,6 @@ String mapkb = "type@=mapkb/pk_time@=600/teams@=team@AA=5@ASres@AA=1@ASsc@AA=660000@ASbf@AA=0@AS@Steam@AA=6@ASres@AA=2@ASsc@AA=600000@ASbf@AA=0@AS@Steam@AA=4@ASres@AA=3@ASsc@AA=456000@ASbf@AA=0@AS@Steam@AA=2@ASres@AA=4@ASsc@AA=302000@ASbf@AA=0@AS@Steam@AA=3@ASres@AA=5@ASsc@AA=100000@ASbf@AA=0@AS@Steam@AA=1@ASres@AA=6@ASsc@AA=200@ASbf@AA=0@AS@S/"; IDouyuMsg iDouyuMsg = DouyuCodecUtil.parseDouyuSttString(mapkb, DouyuCodecUtil.MSG_TYPE_RECEIVE); String douyuSttString = DouyuCodecUtil.toDouyuSttString(iDouyuMsg); - System.out.println(mapkb); - System.out.println(douyuSttString); assertEquals(mapkb.length(), douyuSttString.length()); IDouyuMsg douyuSttStringMsg = DouyuCodecUtil.parseDouyuSttString(douyuSttString, DouyuCodecUtil.MSG_TYPE_RECEIVE); assertNotNull(douyuSttStringMsg); @@ -97,6 +92,5 @@ @Test void unescape() { String unescape = DouyuCodecUtil.unescape("team@AA=5@ASres@AA=1@ASsc@AA=660000@ASbf@AA=0@AS@Steam@AA=6@ASres@AA=2@ASsc@AA=600000@ASbf@AA=0@AS@Steam@AA=4@ASres@AA=3@ASsc@AA=456000@ASbf@AA=0@AS@Steam@AA=2@ASres@AA=4@ASsc@AA=302000@ASbf@AA=0@AS@Steam@AA=3@ASres@AA=5@ASsc@AA=100000@ASbf@AA=0@AS@Steam@AA=1@ASres@AA=6@ASsc@AA=200@ASbf@AA=0@AS@S"); - System.out.println(unescape); } -} \ No newline at end of file +} diff --git a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-huya/src/test/java/tech/ordinaryroad/live/chat/client/huya/util/HuyaCodecUtilTest.java b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-huya/src/test/java/tech/ordinaryroad/live/chat/client/huya/util/HuyaCodecUtilTest.java index aabfed7..71749f0 100644 --- a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-huya/src/test/java/tech/ordinaryroad/live/chat/client/huya/util/HuyaCodecUtilTest.java +++ b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-huya/src/test/java/tech/ordinaryroad/live/chat/client/huya/util/HuyaCodecUtilTest.java @@ -26,7 +26,6 @@ ConnectParaInfo wsConnectParaInfo = ConnectParaInfo.newWSConnectParaInfo(ver, exp, appSrc); byte[] byteArray = wsConnectParaInfo.toByteArray(); String s = HuyaCodecUtil.ab2str(byteArray); - System.out.println(s); } @Test @@ -36,7 +35,6 @@ String s = HuyaCodecUtil.ab2str(byteArray); String btoa = HuyaCodecUtil.btoa(s); - System.out.println(btoa); } @Test @@ -67,7 +65,6 @@ LiveLaunchReq liveLaunchReq = new LiveLaunchReq(); liveLaunchReq = wupReq.getUniAttribute().getByClass("tReq", liveLaunchReq); UserId tId = liveLaunchReq.getTId(); - System.out.println(wupReq.getTarsServantRequest().getVersion()); } @Test @@ -96,4 +93,4 @@ UserId tId = getLivingInfoReq.getTId(); } -} \ No newline at end of file +} diff --git a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-kuaishou/src/test/java/tech/ordinaryroad/live/chat/client/kuaishou/api/KuaishouApisTest.java b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-kuaishou/src/test/java/tech/ordinaryroad/live/chat/client/kuaishou/api/KuaishouApisTest.java index db2fa9e..8bc3d05 100644 --- a/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-kuaishou/src/test/java/tech/ordinaryroad/live/chat/client/kuaishou/api/KuaishouApisTest.java +++ b/ruoyi-common/ruoyi-common-live/live-chat-clients/live-chat-client-kuaishou/src/test/java/tech/ordinaryroad/live/chat/client/kuaishou/api/KuaishouApisTest.java @@ -28,13 +28,5 @@ @Test void sendComment() { - System.out.println(KuaishouApis.sendComment(System.getenv("cookie"), - "3x6pb6bcmjrarvs", - KuaishouApis.SendCommentRequest - .builder() - .liveStreamId("XKLoBv2mAEo") - .content("666666a") - .build() - )); } -} \ No newline at end of file +} diff --git a/ruoyi-common/ruoyi-common-pay/src/main/java/org/ruoyi/common/listener/ConfigChangeListener.java b/ruoyi-common/ruoyi-common-pay/src/main/java/org/ruoyi/common/listener/ConfigChangeListener.java index b6b4fec..06dcc3d 100644 --- a/ruoyi-common/ruoyi-common-pay/src/main/java/org/ruoyi/common/listener/ConfigChangeListener.java +++ b/ruoyi-common/ruoyi-common-pay/src/main/java/org/ruoyi/common/listener/ConfigChangeListener.java @@ -10,7 +10,7 @@ import org.springframework.stereotype.Component; /** - * 鎻忚堪锛氬垱寤轰竴涓洃鍚櫒锛岀敤浜庡鐞嗛厤缃彉鍖栦簨浠� + * 鍒涘缓涓�涓洃鍚櫒锛岀敤浜庡鐞嗛厤缃彉鍖栦簨浠� * * @author ageerle@163.com * date 2024/5/19 diff --git a/ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/itchat4j/client/SingleHttpClient.java b/ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/itchat4j/client/SingleHttpClient.java index 7fcc9bf..201b17a 100644 --- a/ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/itchat4j/client/SingleHttpClient.java +++ b/ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/itchat4j/client/SingleHttpClient.java @@ -84,7 +84,6 @@ if (params != null) { String paramStr = EntityUtils.toString(new UrlEncodedFormEntity(params, Consts.UTF_8)); httpGet = new HttpGet(url + "?" + paramStr); -// System.out.println(url + "?" + paramStr); } else { httpGet = new HttpGet(url); } diff --git a/ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/itchat4j/utils/tools/CommonTools.java b/ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/itchat4j/utils/tools/CommonTools.java index 17b2aff..68cc561 100644 --- a/ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/itchat4j/utils/tools/CommonTools.java +++ b/ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/itchat4j/utils/tools/CommonTools.java @@ -292,9 +292,6 @@ sb.append(content.substring(lastStart)); } if (sb.length() != 0) { - System.out.println(EmojiParser.parseToUnicode(sb.toString())); - System.out.println(EmojiParser.parseToAliases(EmojiParser.parseToUnicode(sb.toString()))); - System.out.println(EmojiParser.removeAllEmojis(sb.toString())); } } diff --git a/ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/web/utils/MD5Util.java b/ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/web/utils/MD5Util.java index 1748c30..ccf72a1 100644 --- a/ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/web/utils/MD5Util.java +++ b/ruoyi-common/ruoyi-common-wechat/src/main/java/org/ruoyi/common/wechat/web/utils/MD5Util.java @@ -61,7 +61,6 @@ } public static void main(String[] args) { - System.out.println(MD5Encrypt("wxwobot")); } diff --git a/ruoyi-modules-api/ruoyi-chat-api/pom.xml b/ruoyi-modules-api/ruoyi-chat-api/pom.xml index e2506ba..b47d9c3 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/pom.xml +++ b/ruoyi-modules-api/ruoyi-chat-api/pom.xml @@ -71,6 +71,18 @@ <artifactId>spring-ai-starter-model-openai</artifactId> </dependency> + <dependency> + <groupId>io.github.imfangs</groupId> + <artifactId>dify-java-client</artifactId> + <version>1.0.7</version> + </dependency> + + <dependency> + <groupId>com.coze</groupId> + <artifactId>coze-api</artifactId> + <version>0.3.1</version> + </dependency> + </dependencies> </project> diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatModel.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatModel.java index f67e765..816ab8b 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatModel.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatModel.java @@ -1,6 +1,7 @@ package org.ruoyi.domain; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; @@ -46,7 +47,7 @@ /** * 妯″瀷浠锋牸 */ - private Long modelPrice; + private Double modelPrice; /** * 璁¤垂绫诲瀷 @@ -68,6 +69,7 @@ */ private String apiHost; + /** * 瀵嗛挜 */ diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatModelBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatModelBo.java index 45e0705..5af9bc3 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatModelBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatModelBo.java @@ -1,5 +1,6 @@ package org.ruoyi.domain.bo; +import com.alibaba.excel.annotation.ExcelProperty; import org.ruoyi.common.core.validate.AddGroup; import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.domain.ChatModel; @@ -48,7 +49,7 @@ * 妯″瀷浠锋牸 */ @NotNull(message = "妯″瀷浠锋牸涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) - private Long modelPrice; + private Double modelPrice; /** * 璁¤垂绫诲瀷 @@ -79,6 +80,7 @@ @NotBlank(message = "瀵嗛挜涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) private String apiKey; + /** * 澶囨敞 */ diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/request/TranslationRequest.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/request/TranslationRequest.java index c8121e7..8397769 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/request/TranslationRequest.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/request/TranslationRequest.java @@ -3,7 +3,7 @@ import lombok.Data; /** - * 鎻忚堪锛氱炕璇戣姹傚璞� + * 缈昏瘧璇锋眰瀵硅薄 * * @author ageerle@163.com * date 2025/1/13 diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java index 56efb59..d477435 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java @@ -56,7 +56,7 @@ * 妯″瀷浠锋牸 */ @ExcelProperty(value = "妯″瀷浠锋牸") - private Long modelPrice; + private Double modelPrice; /** * 璁¤垂绫诲瀷 @@ -93,6 +93,5 @@ */ @ExcelProperty(value = "澶囨敞") private String remark; - } diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/pom.xml b/ruoyi-modules-api/ruoyi-knowledge-api/pom.xml index f6412e1..83eac39 100644 --- a/ruoyi-modules-api/ruoyi-knowledge-api/pom.xml +++ b/ruoyi-modules-api/ruoyi-knowledge-api/pom.xml @@ -103,6 +103,18 @@ <version>1.19.6</version> </dependency> + <dependency> + <groupId>dev.langchain4j</groupId> + <artifactId>langchain4j-document-parser-apache-tika</artifactId> + </dependency> + + <!-- ruoyi-knowledge-api/pom.xml --> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.17.0</version> + </dependency> + </dependencies> </project> diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ExcelFileLoader.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ExcelFileLoader.java new file mode 100644 index 0000000..b47ce11 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ExcelFileLoader.java @@ -0,0 +1,41 @@ +package org.ruoyi.chain.loader; + +import dev.langchain4j.data.document.Document; +import dev.langchain4j.data.document.parser.apache.tika.ApacheTikaDocumentParser; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.ruoyi.chain.split.TextSplitter; +import org.ruoyi.common.core.exception.UtilException; +import org.springframework.stereotype.Component; + +import java.io.BufferedInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.List; +@Component +@AllArgsConstructor +@Slf4j +public class ExcelFileLoader implements ResourceLoader { + private final TextSplitter textSplitter; + private static final int DEFAULT_BUFFER_SIZE = 8192; + @Override + public String getContent(InputStream inputStream) { + // 浣跨敤甯︾紦鍐茬殑杈撳叆娴佸寘瑁咃紙淇濇寔鍘熸祦涓嶈嚜鍔ㄥ叧闂級 + try (InputStream bufferedStream = new BufferedInputStream(inputStream, DEFAULT_BUFFER_SIZE)) { + ApacheTikaDocumentParser apacheTikaDocumentParser = new ApacheTikaDocumentParser(); + Document document = apacheTikaDocumentParser.parse(bufferedStream); + return document.text(); + } catch (IOException e) { + String errorMsg = "Excel鏂囦欢娴佽鍙栧け璐�"; + throw new UtilException(errorMsg, e); + } catch (RuntimeException e) { + String errorMsg = "Excel鍐呭瑙f瀽寮傚父"; + throw new UtilException(errorMsg, e); + } + } + + @Override + public List<String> getChunkList(String content, String kid) { + return textSplitter.split(content, kid); + } +} diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ResourceLoaderFactory.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ResourceLoaderFactory.java index aa72d76..ec33c66 100644 --- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ResourceLoaderFactory.java +++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ResourceLoaderFactory.java @@ -1,10 +1,7 @@ package org.ruoyi.chain.loader; import lombok.AllArgsConstructor; -import org.ruoyi.chain.split.CharacterTextSplitter; -import org.ruoyi.chain.split.CodeTextSplitter; -import org.ruoyi.chain.split.MarkdownTextSplitter; -import org.ruoyi.chain.split.TokenTextSplitter; +import org.ruoyi.chain.split.*; import org.ruoyi.constant.FileType; import org.springframework.stereotype.Component; @@ -16,6 +13,8 @@ private final CodeTextSplitter codeTextSplitter; private final MarkdownTextSplitter markdownTextSplitter; private final TokenTextSplitter tokenTextSplitter; + private final ExcelTextSplitter excelTextSplitter; + public ResourceLoader getLoaderByFileType(String fileType){ if (FileType.isTextFile(fileType)){ return new TextFileLoader(characterTextSplitter); @@ -25,6 +24,8 @@ return new PdfFileLoader(characterTextSplitter); } else if (FileType.isMdFile(fileType)) { return new MarkDownFileLoader(markdownTextSplitter); + }else if (FileType.isExcel(fileType)) { + return new ExcelFileLoader(excelTextSplitter); }else if (FileType.isCodeFile(fileType)) { return new CodeFileLoader(codeTextSplitter); }else { diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/ExcelTextSplitter.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/ExcelTextSplitter.java new file mode 100644 index 0000000..cc2b5f0 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/ExcelTextSplitter.java @@ -0,0 +1,17 @@ +package org.ruoyi.chain.split; + +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Component +@AllArgsConstructor +@Slf4j +public class ExcelTextSplitter implements TextSplitter{ + @Override + public List<String> split(String content, String kid) { + return null; + } +} diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/constant/FileType.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/constant/FileType.java index aa14167..e939508 100644 --- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/constant/FileType.java +++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/constant/FileType.java @@ -7,6 +7,8 @@ public static final String DOC = "doc"; public static final String DOCX = "docx"; public static final String PDF = "pdf"; + public static final String XLS = "xls"; + public static final String XLSX = "xlsx"; public static final String LOG = "log"; public static final String XML = "xml"; @@ -88,4 +90,13 @@ } } + public static boolean isExcel(String type){ + if (type.equalsIgnoreCase(XLS) || type.equalsIgnoreCase(XLSX)){ + return true; + } + else { + return false; + } + } + } diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java index 294342a..d74176a 100644 --- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java +++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java @@ -11,6 +11,7 @@ import dev.langchain4j.store.embedding.EmbeddingStore; import dev.langchain4j.store.embedding.filter.Filter; import dev.langchain4j.store.embedding.filter.comparison.IsEqualTo; +import dev.langchain4j.store.embedding.inmemory.InMemoryEmbeddingStore; import dev.langchain4j.store.embedding.milvus.MilvusEmbeddingStore; import dev.langchain4j.store.embedding.qdrant.QdrantEmbeddingStore; import dev.langchain4j.store.embedding.weaviate.WeaviateEmbeddingStore; @@ -39,11 +40,11 @@ private final ConfigService configService; - Map<String,EmbeddingStore<TextSegment>> storeMap; + Map<String,EmbeddingStore<TextSegment>> storeMap = new HashMap<>(); @Override public void createSchema(String kid,String modelName) { - EmbeddingStore<TextSegment> embeddingStore = WeaviateEmbeddingStore.builder().build(); + EmbeddingStore<TextSegment> embeddingStore; switch (modelName) { case "weaviate" -> { String protocol = configService.getConfigValue("weaviate", "protocol"); @@ -78,6 +79,10 @@ .collectionName(collectionName) .build(); } + default -> { + //浣跨敤鍐呭瓨 + embeddingStore = new InMemoryEmbeddingStore<>(); + } } storeMap.put(kid,embeddingStore); } diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/bo/SysUserPasswordBo.java b/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/bo/SysUserPasswordBo.java index 493ba0a..ae9a085 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/bo/SysUserPasswordBo.java +++ b/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/bo/SysUserPasswordBo.java @@ -7,7 +7,7 @@ /** - * 鎻忚堪锛氱敤鎴峰瘑鐮佷慨鏀筨o + * 鐢ㄦ埛瀵嗙爜淇敼bo * * @author ageerle@163.com * date 2025/3/9 diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatController.java index a082cd9..032c44d 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatController.java @@ -28,7 +28,7 @@ /** - * 鎻忚堪锛氳亰澶╃鐞� + * 鑱婂ぉ绠$悊 * * @author ageerle@163.com * @date 2023-03-01 @@ -70,8 +70,7 @@ @PostMapping("/audio") @ResponseBody public WhisperResponse audio(@RequestParam("file") MultipartFile file) { - WhisperResponse whisperResponse = sseService.speechToTextTranscriptionsV2(file); - return whisperResponse; + return sseService.speechToTextTranscriptionsV2(file); } /** diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/bo/GenerateLuma.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/bo/GenerateLuma.java index 8cef12c..2fa34c7 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/bo/GenerateLuma.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/bo/GenerateLuma.java @@ -3,7 +3,7 @@ import lombok.Data; /** - * 鎻忚堪锛氭枃鐢熻棰戣姹傚璞� + * 鏂囩敓瑙嗛璇锋眰瀵硅薄 * * @author ageerle@163.com * date 2024/6/27 diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/bo/GenerateLyric.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/bo/GenerateLyric.java index 699c780..4a59d75 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/bo/GenerateLyric.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/bo/GenerateLyric.java @@ -3,7 +3,7 @@ import lombok.Data; /** - * 鎻忚堪锛氱敓鎴愭瓕璇� + * 鐢熸垚姝岃瘝 * * @author ageerle@163.com * date 2024/6/27 diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/ChatModeType.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/ChatModeType.java index 04c5e45..d29bccd 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/ChatModeType.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/ChatModeType.java @@ -6,6 +6,8 @@ public enum ChatModeType { OLLAMA("ollama", "鏈湴閮ㄧ讲妯″瀷"), CHAT("chat", "涓浆妯″瀷"), + DIFY("dify", "DIFY"), + COZE("coze", "鎵e瓙"), VECTOR("vector", "鐭ヨ瘑搴撳悜閲忔ā鍨�"); private final String code; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/DisplayType.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/DisplayType.java index a4eae3d..85813ff 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/DisplayType.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/DisplayType.java @@ -3,7 +3,7 @@ import lombok.Getter; /** - * 鎻忚堪锛氭槸鍚︽樉绀� + * 鏄惁鏄剧ず * * @author ageerle@163.com * date 2025/4/10 diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/factory/ChatServiceFactory.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/factory/ChatServiceFactory.java new file mode 100644 index 0000000..f1e88a9 --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/factory/ChatServiceFactory.java @@ -0,0 +1,43 @@ +package org.ruoyi.chat.factory; + +import org.ruoyi.chat.service.chat.IChatService; +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 鑱婂ぉ鏈嶅姟宸ュ巶绫� + * + * @author ageerle@163.com + * date 2025/5/10 + */ +@Component +public class ChatServiceFactory implements ApplicationContextAware { + private final Map<String, IChatService> chatServiceMap = new ConcurrentHashMap<>(); + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + // 鍒濆鍖栨椂鏀堕泦鎵�鏈塈ChatService鐨勫疄鐜� + Map<String, IChatService> serviceMap = applicationContext.getBeansOfType(IChatService.class); + for (IChatService service : serviceMap.values()) { + if (service != null) { + chatServiceMap.put(service.getCategory(), service); + } + } + } + + /** + * 鏍规嵁妯″瀷绫诲埆鑾峰彇瀵瑰簲鐨勮亰澶╂湇鍔″疄鐜� + */ + public IChatService getChatService(String category) { + IChatService service = chatServiceMap.get(category); + if (service == null) { + throw new IllegalArgumentException("涓嶆敮鎸佺殑妯″瀷绫诲埆: " + category); + } + return service; + } +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/listener/SSEEventSourceListener.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/listener/SSEEventSourceListener.java index f8fd1cf..7185d51 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/listener/SSEEventSourceListener.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/listener/SSEEventSourceListener.java @@ -24,7 +24,7 @@ import java.util.Objects; /** - * 鎻忚堪锛歄penAIEventSourceListener + * OpenAIEventSourceListener * * @author https:www.unfbx.com * @date 2023-02-22 diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/IChatService.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/IChatService.java index fc07072..55ea2ac 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/IChatService.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/IChatService.java @@ -16,6 +16,8 @@ * @param chatRequest 璇锋眰瀵硅薄 */ SseEmitter chat(ChatRequest chatRequest,SseEmitter emitter); - - + /** + * 鑾峰彇姝ゆ湇鍔℃敮鎸佺殑妯″瀷绫诲埆 + */ + String getCategory(); } diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/UserModelService.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/UserModelService.java index ada36d0..01b677d 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/UserModelService.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/UserModelService.java @@ -1,26 +1,16 @@ package org.ruoyi.chat.service.chat; -import cn.dev33.satoken.stp.StpUtil; import lombok.RequiredArgsConstructor; import org.ruoyi.chat.enums.DisplayType; -import org.ruoyi.chat.enums.UserGradeType; -import org.ruoyi.common.satoken.utils.LoginHelper; import org.ruoyi.domain.bo.ChatModelBo; -import org.ruoyi.domain.bo.ChatPackagePlanBo; import org.ruoyi.domain.vo.ChatModelVo; -import org.ruoyi.domain.vo.ChatPackagePlanVo; import org.ruoyi.service.IChatModelService; -import org.ruoyi.service.IChatPackagePlanService; -import org.ruoyi.system.domain.vo.SysUserVo; -import org.ruoyi.system.service.ISysUserService; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Arrays; import java.util.List; /** - * 鎻忚堪锛氱敤鎴锋ā鍨嬩俊鎭� + * 鐢ㄦ埛妯″瀷淇℃伅 * * @author ageerle@163.com * date 2025/4/10 @@ -32,30 +22,9 @@ private final IChatModelService chatModelService; - private final ISysUserService userService; - - private final IChatPackagePlanService packagePlanService; - public List<ChatModelVo> modelList(ChatModelBo bo) { bo.setModelShow(DisplayType.VISIBLE.getCode()); - List<ChatModelVo> chatModelList = chatModelService.queryList(bo); - ChatPackagePlanBo sysPackagePlanBo = new ChatPackagePlanBo(); - if (StpUtil.isLogin()) { - Long userId = LoginHelper.getLoginUser().getUserId(); - SysUserVo sysUserVo = userService.selectUserById(userId); - if (UserGradeType.UNPAID.getCode().equals(sysUserVo.getUserGrade())){ - sysPackagePlanBo.setName("Free"); - ChatPackagePlanVo chatPackagePlanVo = packagePlanService.queryList(sysPackagePlanBo).get(0); - List<String> array = new ArrayList<>(Arrays.asList(chatPackagePlanVo.getPlanDetail().split(","))); - chatModelList.removeIf(model -> !array.contains(model.getModelName())); - } - }else { - sysPackagePlanBo.setName("Visitor"); - ChatPackagePlanVo sysPackagePlanVo = packagePlanService.queryList(sysPackagePlanBo).get(0); - List<String> array = new ArrayList<>(Arrays.asList(sysPackagePlanVo.getPlanDetail().split(","))); - chatModelList.removeIf(model -> !array.contains(model.getModelName())); - } - return new ArrayList<>(chatModelList); + return chatModelService.queryList(bo); } } diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/CozeServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/CozeServiceImpl.java new file mode 100644 index 0000000..6da0988 --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/CozeServiceImpl.java @@ -0,0 +1,81 @@ +package org.ruoyi.chat.service.chat.impl; + +import com.coze.openapi.client.chat.CreateChatReq; +import com.coze.openapi.client.chat.model.ChatEvent; +import com.coze.openapi.client.chat.model.ChatEventType; +import com.coze.openapi.client.connversations.message.model.Message; +import com.coze.openapi.service.auth.TokenAuth; +import com.coze.openapi.service.config.Consts; +import com.coze.openapi.service.service.CozeAPI; +import io.reactivex.Flowable; +import lombok.extern.slf4j.Slf4j; +import org.ruoyi.chat.enums.ChatModeType; +import org.ruoyi.chat.service.chat.IChatService; +import org.ruoyi.common.chat.request.ChatRequest; +import org.ruoyi.domain.vo.ChatModelVo; +import org.ruoyi.service.IChatModelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; + +import java.util.Collections; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * 鎵e瓙鑱婂ぉ绠$悊 + * + * @author ageer + */ +@Service +@Slf4j +public class CozeServiceImpl implements IChatService { + + @Autowired + private IChatModelService chatModelService; + + @Override + public SseEmitter chat(ChatRequest chatRequest, SseEmitter emitter) { + ChatModelVo chatModelVo = chatModelService.selectModelByName(chatRequest.getModel()); + + TokenAuth authCli = new TokenAuth(chatModelVo.getApiKey()); + CozeAPI coze = + new CozeAPI.Builder() + .baseURL(chatModelVo.getApiHost()) + .auth(authCli) + .readTimeout(10000) + .build(); + CreateChatReq req = + CreateChatReq.builder() + .botID(chatModelVo.getModelName()) + .userID(chatRequest.getUserId().toString()) + .messages(Collections.singletonList(Message.buildUserQuestionText("What can you do?"))) + .build(); + + Flowable<ChatEvent> resp = coze.chat().stream(req); + ExecutorService executor = Executors.newFixedThreadPool(10); + executor.submit(() -> { + resp.blockingForEach( + event -> { + if (ChatEventType.CONVERSATION_MESSAGE_DELTA.equals(event.getEvent())) { + emitter.send(event.getMessage().getContent()); + log.info("coze: {}", event.getMessage().getContent()); + } + if (ChatEventType.CONVERSATION_CHAT_COMPLETED.equals(event.getEvent())) { + emitter.complete(); + log.info("Token usage: {}", event.getChat().getUsage().getTokenCount()); + } + } + ); + coze.shutdownExecutor(); + }); + + + return emitter; + } + + @Override + public String getCategory() { + return ChatModeType.COZE.getCode(); + } +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/DifyServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/DifyServiceImpl.java new file mode 100644 index 0000000..06989bb --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/DifyServiceImpl.java @@ -0,0 +1,96 @@ +package org.ruoyi.chat.service.chat.impl; + +import io.github.imfangs.dify.client.DifyClient; +import io.github.imfangs.dify.client.DifyClientFactory; +import io.github.imfangs.dify.client.callback.ChatStreamCallback; +import io.github.imfangs.dify.client.enums.ResponseMode; +import io.github.imfangs.dify.client.event.ErrorEvent; +import io.github.imfangs.dify.client.event.MessageEndEvent; +import io.github.imfangs.dify.client.event.MessageEvent; +import io.github.imfangs.dify.client.model.DifyConfig; +import io.github.imfangs.dify.client.model.chat.ChatMessage; + +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; + +import org.ruoyi.chat.enums.ChatModeType; +import org.ruoyi.chat.service.chat.IChatService; +import org.ruoyi.common.chat.request.ChatRequest; +import org.ruoyi.domain.vo.ChatModelVo; +import org.ruoyi.service.IChatModelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; + +/** + * dify 鑱婂ぉ绠$悊 + * + * @author ageer + */ +@Service +@Slf4j +public class DifyServiceImpl implements IChatService { + + @Autowired + private IChatModelService chatModelService; + + @Override + public SseEmitter chat(ChatRequest chatRequest, SseEmitter emitter) { + ChatModelVo chatModelVo = chatModelService.selectModelByName(chatRequest.getModel()); + + // 浣跨敤鑷畾涔夐厤缃垱寤哄鎴风 + DifyConfig config = DifyConfig.builder() + .baseUrl(chatModelVo.getApiHost()) + .apiKey(chatModelVo.getApiKey()) + .connectTimeout(5000) + .readTimeout(60000) + .writeTimeout(30000) + .build(); + DifyClient chatClient = DifyClientFactory.createClient(config); + + // 鍒涘缓鑱婂ぉ娑堟伅 + ChatMessage message = ChatMessage.builder() + .query(chatRequest.getPrompt()) + .user(chatRequest.getUserId().toString()) + .responseMode(ResponseMode.STREAMING) + .build(); + + // 鍙戦�佹祦寮忔秷鎭� + try { + chatClient.sendChatMessageStream(message, new ChatStreamCallback() { + @SneakyThrows + @Override + public void onMessage(MessageEvent event) { + emitter.send(event.getAnswer()); + log.info("鏀跺埌娑堟伅鐗囨: {}", event.getAnswer()); + } + + @Override + public void onMessageEnd(MessageEndEvent event) { + emitter.complete(); + log.info("娑堟伅缁撴潫锛屽畬鏁存秷鎭疘D: {}", event.getMessageId()); + } + + @Override + public void onError(ErrorEvent event) { + System.err.println("閿欒: " + event.getMessage()); + } + + @Override + public void onException(Throwable throwable) { + System.err.println("寮傚父: " + throwable.getMessage()); + } + }); + } catch (Exception e) { + log.error("dify璇锋眰澶辫触锛歿}", e.getMessage()); + } + + return emitter; + } + + @Override + public String getCategory() { + return ChatModeType.DIFY.getCode(); + } + +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OllamaServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OllamaServiceImpl.java index f06461b..532b052 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OllamaServiceImpl.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OllamaServiceImpl.java @@ -7,6 +7,8 @@ import io.github.ollama4j.models.chat.OllamaChatRequestModel; import io.github.ollama4j.models.generate.OllamaStreamHandler; import lombok.extern.slf4j.Slf4j; +import org.ruoyi.chat.enums.ChatModeType; +import org.ruoyi.chat.service.chat.IChatService; import org.ruoyi.chat.util.SSEUtil; import org.ruoyi.common.chat.entity.chat.Message; import org.ruoyi.common.chat.request.ChatRequest; @@ -22,14 +24,18 @@ import java.util.concurrent.CompletableFuture; +/** + * @author ageer + */ @Service @Slf4j -public class OllamaServiceImpl { +public class OllamaServiceImpl implements IChatService { - @Autowired - private IChatModelService chatModelService; + @Autowired + private IChatModelService chatModelService; - public SseEmitter chat(ChatRequest chatRequest,SseEmitter emitter) { + @Override + public SseEmitter chat(ChatRequest chatRequest, SseEmitter emitter) { ChatModelVo chatModelVo = chatModelService.selectModelByName(chatRequest.getModel()); String host = chatModelVo.getApiHost(); List<Message> msgList = chatRequest.getMessages(); @@ -56,7 +62,6 @@ OllamaStreamHandler streamHandler = (s) -> { String substr = s.substring(response.length()); response.append(substr); - System.out.println(substr); try { emitter.send(substr); } catch (IOException e) { @@ -73,4 +78,8 @@ return emitter; } + @Override + public String getCategory() { + return ChatModeType.OLLAMA.getCode(); + } } diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java index c2e5ed3..094689c 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java @@ -3,6 +3,7 @@ import io.modelcontextprotocol.client.McpSyncClient; import lombok.extern.slf4j.Slf4j; import org.ruoyi.chat.config.ChatConfig; +import org.ruoyi.chat.enums.ChatModeType; import org.ruoyi.chat.listener.SSEEventSourceListener; import org.ruoyi.chat.service.chat.IChatService; import org.ruoyi.common.chat.entity.chat.ChatCompletion; @@ -21,15 +22,15 @@ import java.util.List; +/** + * @author ageer + */ @Service @Slf4j public class OpenAIServiceImpl implements IChatService { @Autowired private IChatModelService chatModelService; - - private OpenAiStreamClient openAiStreamClient; - @Value("${spring.ai.mcp.client.enabled}") private Boolean enabled; @@ -47,7 +48,7 @@ @Override public SseEmitter chat(ChatRequest chatRequest,SseEmitter emitter) { ChatModelVo chatModelVo = chatModelService.selectModelByName(chatRequest.getModel()); - openAiStreamClient = ChatConfig.createOpenAiStreamClient(chatModelVo.getApiHost(), chatModelVo.getApiKey()); + OpenAiStreamClient openAiStreamClient = ChatConfig.createOpenAiStreamClient(chatModelVo.getApiHost(), chatModelVo.getApiKey()); List<Message> messages = chatRequest.getMessages(); if (enabled) { String toolString = mcpChat(chatRequest.getPrompt()); @@ -69,4 +70,9 @@ return this.chatClient.prompt(prompt).call().content(); } + @Override + public String getCategory() { + return ChatModeType.CHAT.getCode(); + } + } diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/SseServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/SseServiceImpl.java index c12ed44..cc5f289 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/SseServiceImpl.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/SseServiceImpl.java @@ -8,7 +8,9 @@ import lombok.extern.slf4j.Slf4j; import okhttp3.ResponseBody; import org.ruoyi.chat.enums.ChatModeType; +import org.ruoyi.chat.factory.ChatServiceFactory; import org.ruoyi.chat.service.chat.IChatCostService; +import org.ruoyi.chat.service.chat.IChatService; import org.ruoyi.chat.service.chat.ISseService; import org.ruoyi.chat.util.IpUtil; import org.ruoyi.chat.util.SSEUtil; @@ -61,9 +63,7 @@ private final IChatModelService chatModelService; - private final OpenAIServiceImpl openAIService; - - private final OllamaServiceImpl ollamaService; + private final ChatServiceFactory chatServiceFactory; private final IChatSessionService chatSessionService; @@ -95,7 +95,8 @@ chatCostService.deductToken(chatRequest); } // 鏍规嵁妯″瀷鍒嗙被璋冪敤涓嶅悓鐨勫鐞嗛�昏緫 - switchModelAndHandle(chatRequest,sseEmitter); + IChatService chatService = chatServiceFactory.getChatService(chatModelVo.getCategory()); + chatService.chat(chatRequest, sseEmitter); } catch (Exception e) { log.error(e.getMessage(),e); SSEUtil.sendErrorEvent(sseEmitter,e.getMessage()); @@ -147,17 +148,6 @@ } } - /** - * 鏍规嵁妯″瀷鍚嶇О鍓嶇紑璋冪敤涓嶅悓鐨勫鐞嗛�昏緫 - */ - private void switchModelAndHandle(ChatRequest chatRequest,SseEmitter emitter) { - // 璋冪敤ollama涓儴缃茬殑鏈湴妯″瀷 - if (ChatModeType.OLLAMA.getCode().equals(chatModelVo.getCategory())) { - ollamaService.chat(chatRequest,emitter); - } else { - openAIService.chat(chatRequest,emitter); - } - } /** * 鏋勫缓娑堟伅鍒楄〃 diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/VxLoginService.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/VxLoginService.java index 31e6876..874a8bf 100644 --- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/VxLoginService.java +++ b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/VxLoginService.java @@ -26,7 +26,7 @@ import java.util.UUID; /** - * 鎻忚堪锛氬井淇″叕浼楀彿鐧诲綍 + * 寰俊鍏紬鍙风櫥褰� * * @author ageerle@163.com * date 2025/4/30 diff --git a/script/sql/update/20250509.sql b/script/sql/update/20250509.sql new file mode 100644 index 0000000..19bfe5e --- /dev/null +++ b/script/sql/update/20250509.sql @@ -0,0 +1,4 @@ +ALTER TABLE `chat_model` + ADD COLUMN `api_url` varchar(50) NULL COMMENT '璇锋眰鍚庣紑' AFTER `api_key`; + +INSERT INTO `chat_config` (`id`, `category`, `config_name`, `config_value`, `config_dict`, `create_dept`, `create_time`, `create_by`, `update_by`, `update_time`, `remark`, `version`, `del_flag`, `update_ip`, `tenant_id`) VALUES (1779450794872414211, 'chat', 'apiUrl', 'v1/chat/completions', 'API 璇锋眰鍚庣紑', 103, '2024-04-14 18:05:05', '1', '1', '2025-04-23 22:29:04', NULL, NULL, '0', NULL, 0); -- Gitblit v1.9.3