cc пре 3 месеци
родитељ
комит
5b6f7d2bc4

+ 6 - 2
src/main/java/com/qingjian/common/model/ai/AgentProperties.java

@@ -17,7 +17,6 @@ package com.qingjian.common.model.ai;
 
 import com.qingjian.common.constants.PathConst;
 import lombok.Data;
-import org.noear.solon.ai.chat.ChatConfig;
 
 import java.util.LinkedHashMap;
 import java.util.Map;
@@ -39,7 +38,12 @@ public class AgentProperties {
     private boolean sandboxMode = true;
     private boolean thinkPrinted = false;
     private String webEndpoint = "/ai/call";
-    private ChatConfig chatConfig;
+    private int timeout = 60;
+    private double temperature = 0.8;
+    private boolean enable_thinking = false;
+    private double top_p = 0.5;
+    private double frequency_penalty = 0.5;
+    private double presence_penalty = 0.4;
     private Map<String, String> skillPools = new LinkedHashMap<>();
 
     //技能池

+ 7 - 1
src/main/java/com/qingjian/module/ai/service/AiService.java

@@ -114,6 +114,12 @@ public class AiService {
             return null;
         }
         AgentProperties agentProperties = buildAgentProperties();
+        chatConfig.setTimeout(Duration.ofSeconds(agentProperties.getTimeout()));
+        chatConfig.addDefaultOption("temperature", agentProperties.getTemperature());
+        chatConfig.addDefaultOption("enable_thinking", agentProperties.isEnable_thinking());
+        chatConfig.addDefaultOption("top_p", agentProperties.getTop_p());
+        chatConfig.addDefaultOption("frequency_penalty", agentProperties.getFrequency_penalty());
+        chatConfig.addDefaultOption("presence_penalty", agentProperties.getPresence_penalty());
         ChatModel aiChatModel = ChatModel.of(chatConfig).build();
         return AgentRuntime.builder()
                 .chatModel(aiChatModel)
@@ -273,6 +279,6 @@ public class AiService {
         String personName = personNames.getFirst();
         List<String> list = qs.stream().map(q -> StrUtil.format(q, personName)).collect(Collectors.toList());
         Collections.shuffle(list);
-        return list.subList(0,3);
+        return list.subList(0, 3);
     }
 }

+ 1 - 1
src/main/resources/static/js/chat.js

@@ -139,7 +139,7 @@ function fillModelForm(model) {
 }
 
 function renderProviderSelect() {
-    var html = '<option value="">请选择服务商</option>';
+    var html;
     for (var i = 0; i < providerOptions.length; i++) {
         var item = providerOptions[i];
         html += '<option value="' + escapeHtml(item.providerCode || '') + '">' + escapeHtml(item.providerName || item.providerCode || '') + '</option>';