Skip to content

Commit d39d24b

Browse files
committed
fix: max_tokens字段现已废弃,推荐使用max_completion_tokens
1 parent 75322e1 commit d39d24b

10 files changed

Lines changed: 23 additions & 3 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
+ Token统计`TikTokensUtil.java`
5252

5353
## 更新日志
54+
+ [2025-08-08] OpenAi: max_tokens字段现已废弃,推荐使用max_completion_tokens(GPT-5已经不支持max_tokens字段)
5455
+ [2025-08-08] 支持MCP协议,支持STDIO,SSE,Streamable HTTP; 支持MCP Server与MCP Client; 支持MCP网关; 支持自定义MCP数据源; 支持MCP自动重连
5556
+ [2025-06-23] 修复ollama的流式错误;修复ollama函数调用的错误;修复moonshot请求时错误;修复ollama embedding错误;修复思考无内容;修复日志冲突;新增自定义异常方法。
5657
+ [2025-02-28] 新增对Ollama平台的embedding接口的支持。

ai4j-spring-boot-starter/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<groupId>io.github.lnyo-cly</groupId>
77
<artifactId>ai4j-spring-boot-starter</artifactId>
88
<packaging>jar</packaging>
9-
<version>1.4.0</version>
9+
<version>1.4.1</version>
1010

1111
<name>ai4j-spring-boot-starter</name>
1212
<description>为aj4j所提供的spring-stater,便于接入spring项目。关于ai4j: 一款JavaSDK用于快速接入AI大模型应用,整合多平台大模型,如OpenAi、Ollama、智谱Zhipu(ChatGLM)、深度求索DeepSeek、月之暗面Moonshot(Kimi)、腾讯混元Hunyuan、零一万物(01)、MiniMax、百川Baichuan等等,提供统一的输入输出(对齐OpenAi)消除差异化,优化函数调用(Tool Call),优化RAG调用、支持向量数据库(Pinecone),并且支持JDK1.8,为用户提供快速整合AI的能力。支持MCP协议,支持STDIO,SSE,Streamable HTTP; 支持MCP Server与MCP Client; 支持MCP网关; 支持自定义MCP数据源; 支持MCP自动重连</description>

ai4j/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<groupId>io.github.lnyo-cly</groupId>
88
<artifactId>ai4j</artifactId>
99
<packaging>jar</packaging>
10-
<version>1.4.0</version>
10+
<version>1.4.1</version>
1111

1212
<name>ai4j</name>
1313
<description>一款JavaSDK用于快速接入AI大模型应用,整合多平台大模型,如OpenAi、Ollama、智谱Zhipu(ChatGLM)、深度求索DeepSeek、月之暗面Moonshot(Kimi)、腾讯混元Hunyuan、零一万物(01)、MiniMax、百川Baichuan等等,提供统一的输入输出(对齐OpenAi)消除差异化,优化函数调用(Tool Call),优化RAG调用、支持向量数据库(Pinecone),并且支持JDK1.8,为用户提供快速整合AI的能力。支持MCP协议,支持STDIO,SSE,Streamable HTTP; 支持MCP Server与MCP Client; 支持MCP网关; 支持自定义MCP数据源; 支持MCP自动重连</description>

ai4j/src/main/java/io/github/lnyocly/ai4j/platform/baichuan/chat/BaichuanChatService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,9 @@ public BaichuanChatCompletion convertChatCompletionObject(ChatCompletion chatCom
247247
baichuanChatCompletion.setTemperature(chatCompletion.getTemperature() / 2);
248248
baichuanChatCompletion.setTopP(chatCompletion.getTopP());
249249
baichuanChatCompletion.setMaxTokens(chatCompletion.getMaxTokens());
250+
if(chatCompletion.getMaxCompletionTokens() != null){
251+
baichuanChatCompletion.setMaxTokens(chatCompletion.getMaxCompletionTokens());
252+
}
250253
baichuanChatCompletion.setStop(chatCompletion.getStop());
251254
baichuanChatCompletion.setTools(chatCompletion.getTools());
252255
baichuanChatCompletion.setFunctions(chatCompletion.getFunctions());

ai4j/src/main/java/io/github/lnyocly/ai4j/platform/deepseek/chat/DeepSeekChatService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ public DeepSeekChatCompletion convertChatCompletionObject(ChatCompletion chatCom
5555
deepSeekChatCompletion.setMessages(chatCompletion.getMessages());
5656
deepSeekChatCompletion.setFrequencyPenalty(chatCompletion.getFrequencyPenalty());
5757
deepSeekChatCompletion.setMaxTokens(chatCompletion.getMaxTokens());
58+
if(chatCompletion.getMaxCompletionTokens() != null){
59+
deepSeekChatCompletion.setMaxTokens(chatCompletion.getMaxCompletionTokens());
60+
}
5861
deepSeekChatCompletion.setPresencePenalty(chatCompletion.getPresencePenalty());
5962
deepSeekChatCompletion.setResponseFormat(chatCompletion.getResponseFormat());
6063
deepSeekChatCompletion.setStop(chatCompletion.getStop());

ai4j/src/main/java/io/github/lnyocly/ai4j/platform/minimax/chat/MinimaxChatService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ public MinimaxChatCompletion convertChatCompletionObject(ChatCompletion chatComp
6262
minimaxChatCompletion.setTopP(chatCompletion.getTopP());
6363
minimaxChatCompletion.setStream(chatCompletion.getStream());
6464
minimaxChatCompletion.setMaxTokens(chatCompletion.getMaxTokens());
65+
if(chatCompletion.getMaxCompletionTokens() != null){
66+
minimaxChatCompletion.setMaxTokens(chatCompletion.getMaxCompletionTokens());
67+
}
6568
return minimaxChatCompletion;
6669
}
6770

ai4j/src/main/java/io/github/lnyocly/ai4j/platform/moonshot/chat/MoonshotChatService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ public MoonshotChatCompletion convertChatCompletionObject(ChatCompletion chatCom
5656
moonshotChatCompletion.setMessages(chatCompletion.getMessages());
5757
moonshotChatCompletion.setFrequencyPenalty(chatCompletion.getFrequencyPenalty());
5858
moonshotChatCompletion.setMaxTokens(chatCompletion.getMaxTokens());
59+
if(chatCompletion.getMaxCompletionTokens() != null){
60+
moonshotChatCompletion.setMaxTokens(chatCompletion.getMaxCompletionTokens());
61+
}
5962
moonshotChatCompletion.setPresencePenalty(chatCompletion.getPresencePenalty());
6063
moonshotChatCompletion.setResponseFormat(chatCompletion.getResponseFormat());
6164
moonshotChatCompletion.setStop(chatCompletion.getStop());

ai4j/src/main/java/io/github/lnyocly/ai4j/platform/openai/chat/entity/ChatCompletion.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,13 @@ public class ChatCompletion {
7676
/**
7777
* 限制一次请求中模型生成 completion 的最大 token 数。输入 token 和输出 token 的总长度受模型的上下文长度的限制。
7878
*/
79+
@Deprecated
7980
@JsonProperty("max_tokens")
8081
private Integer maxTokens;
8182

83+
@JsonProperty("max_completion_tokens")
84+
private Integer maxCompletionTokens;
85+
8286
/**
8387
* 模型可能会调用的 tool 的列表。目前,仅支持 function 作为工具。使用此参数来提供以 JSON 作为输入参数的 function 列表。
8488
*/

ai4j/src/main/java/io/github/lnyocly/ai4j/platform/zhipu/chat/ZhipuChatService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,9 @@ public ZhipuChatCompletion convertChatCompletionObject(ChatCompletion chatComple
261261
zhipuChatCompletion.setTemperature(chatCompletion.getTemperature() / 2);
262262
zhipuChatCompletion.setTopP(chatCompletion.getTopP());
263263
zhipuChatCompletion.setMaxTokens(chatCompletion.getMaxTokens());
264+
if(chatCompletion.getMaxCompletionTokens() != null){
265+
zhipuChatCompletion.setMaxTokens(chatCompletion.getMaxCompletionTokens());
266+
}
264267
zhipuChatCompletion.setStop(chatCompletion.getStop());
265268
zhipuChatCompletion.setTools(chatCompletion.getTools());
266269
zhipuChatCompletion.setFunctions(chatCompletion.getFunctions());

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<groupId>io.github.lnyo-cly</groupId>
88
<artifactId>ai4j-sdk</artifactId>
99

10-
<version>1.4.0</version>
10+
<version>1.4.1</version>
1111

1212
<packaging>pom</packaging>
1313

0 commit comments

Comments
 (0)