Commit eef9ed1b3e3b39c7eebf9e596af3fc396bb88d6e

Authored by cherishsince
1 parent 8b2dcaf9

【优化】自动配置优化,星火、一言 增加 topK topP maxToken Temperature 参数转换

yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiAutoConfiguration.java
@@ -30,13 +30,19 @@ public class YudaoAiAutoConfiguration { @@ -30,13 +30,19 @@ public class YudaoAiAutoConfiguration {
30 @ConditionalOnProperty(value = "yudao.ai.xinghuo.enable", havingValue = "true") 30 @ConditionalOnProperty(value = "yudao.ai.xinghuo.enable", havingValue = "true")
31 public XingHuoChatClient xingHuoChatClient(YudaoAiProperties yudaoAiProperties) { 31 public XingHuoChatClient xingHuoChatClient(YudaoAiProperties yudaoAiProperties) {
32 YudaoAiProperties.XingHuoProperties xingHuoProperties = yudaoAiProperties.getXinghuo(); 32 YudaoAiProperties.XingHuoProperties xingHuoProperties = yudaoAiProperties.getXinghuo();
  33 + // 转换配置
  34 + XingHuoOptions xingHuoOptions = new XingHuoOptions();
  35 + xingHuoOptions.setChatModel(xingHuoProperties.getChatModel());
  36 + xingHuoOptions.setTopK(xingHuoProperties.getTopK());
  37 + xingHuoOptions.setTemperature(xingHuoProperties.getTemperature());
  38 + xingHuoOptions.setMaxTokens(xingHuoProperties.getMaxTokens());
33 return new XingHuoChatClient( 39 return new XingHuoChatClient(
34 new XingHuoApi( 40 new XingHuoApi(
35 xingHuoProperties.getAppId(), 41 xingHuoProperties.getAppId(),
36 xingHuoProperties.getAppKey(), 42 xingHuoProperties.getAppKey(),
37 xingHuoProperties.getSecretKey() 43 xingHuoProperties.getSecretKey()
38 ), 44 ),
39 - new XingHuoOptions().setChatModel(xingHuoProperties.getChatModel()) 45 + xingHuoOptions
40 ); 46 );
41 } 47 }
42 48
@@ -44,6 +50,7 @@ public class YudaoAiAutoConfiguration { @@ -44,6 +50,7 @@ public class YudaoAiAutoConfiguration {
44 @ConditionalOnProperty(value = "yudao.ai.qianwen.enable", havingValue = "true") 50 @ConditionalOnProperty(value = "yudao.ai.qianwen.enable", havingValue = "true")
45 public QianWenChatClient qianWenChatClient(YudaoAiProperties yudaoAiProperties) { 51 public QianWenChatClient qianWenChatClient(YudaoAiProperties yudaoAiProperties) {
46 YudaoAiProperties.QianWenProperties qianWenProperties = yudaoAiProperties.getQianwen(); 52 YudaoAiProperties.QianWenProperties qianWenProperties = yudaoAiProperties.getQianwen();
  53 + // 转换配置
47 QianWenOptions qianWenOptions = new QianWenOptions(); 54 QianWenOptions qianWenOptions = new QianWenOptions();
48 qianWenOptions.setTopK(qianWenProperties.getTopK()); 55 qianWenOptions.setTopK(qianWenProperties.getTopK());
49 qianWenOptions.setTopP(qianWenProperties.getTopP()); 56 qianWenOptions.setTopP(qianWenProperties.getTopP());
@@ -62,6 +69,12 @@ public class YudaoAiAutoConfiguration { @@ -62,6 +69,12 @@ public class YudaoAiAutoConfiguration {
62 @ConditionalOnProperty(value = "yudao.ai.yiyan.enable", havingValue = "true") 69 @ConditionalOnProperty(value = "yudao.ai.yiyan.enable", havingValue = "true")
63 public YiYanChatClient yiYanChatClient(YudaoAiProperties yudaoAiProperties) { 70 public YiYanChatClient yiYanChatClient(YudaoAiProperties yudaoAiProperties) {
64 YudaoAiProperties.YiYanProperties yiYanProperties = yudaoAiProperties.getYiyan(); 71 YudaoAiProperties.YiYanProperties yiYanProperties = yudaoAiProperties.getYiyan();
  72 + // 转换配置
  73 + YiYanOptions yiYanOptions = new YiYanOptions();
  74 + yiYanOptions.setTopK(yiYanProperties.getTopK());
  75 + yiYanOptions.setTopP(yiYanProperties.getTopP());
  76 + yiYanOptions.setTemperature(yiYanProperties.getTemperature());
  77 + yiYanOptions.setMaxOutputTokens(yiYanProperties.getMaxTokens());
65 return new YiYanChatClient( 78 return new YiYanChatClient(
66 new YiYanApi( 79 new YiYanApi(
67 yiYanProperties.getAppKey(), 80 yiYanProperties.getAppKey(),
@@ -69,6 +82,7 @@ public class YudaoAiAutoConfiguration { @@ -69,6 +82,7 @@ public class YudaoAiAutoConfiguration {
69 yiYanProperties.getChatModel(), 82 yiYanProperties.getChatModel(),
70 yiYanProperties.getRefreshTokenSecondTime() 83 yiYanProperties.getRefreshTokenSecondTime()
71 ), 84 ),
72 - new YiYanOptions().setMax_output_tokens(2048)); 85 + yiYanOptions
  86 + );
73 } 87 }
74 } 88 }
75 \ No newline at end of file 89 \ No newline at end of file