Skip to content

Commit 06ebee4

Browse files
committed
Upgrade examples to 2.0.0.0-RC1
Closes #4751
1 parent 67a3507 commit 06ebee4

25 files changed

Lines changed: 84 additions & 116 deletions

File tree

examples/chatbot/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<groupId>org.springframework.boot</groupId>
2222
<artifactId>spring-boot-starter-parent</artifactId>
23-
<version>3.5.7</version>
23+
<version>4.1.0</version>
2424
<relativePath/>
2525
</parent>
2626

@@ -32,9 +32,9 @@
3232

3333
<properties>
3434
<java.version>17</java.version>
35-
<spring-ai.version>1.1.2</spring-ai.version>
36-
<spring-ai-alibaba.version>1.1.2.2</spring-ai-alibaba.version>
37-
<spring-ai-alibaba-extensions.version>1.1.2.2</spring-ai-alibaba-extensions.version>
35+
<spring-ai.version>2.0.0</spring-ai.version>
36+
<spring-ai-alibaba.version>2.0.0.0-RC1</spring-ai-alibaba.version>
37+
<spring-ai-alibaba-extensions.version>2.0.0.0-RC1</spring-ai-alibaba-extensions.version>
3838

3939
<graalvm.polyglot.version>24.2.1</graalvm.polyglot.version>
4040
</properties>

examples/deepresearch/pom.xml

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,33 +20,20 @@
2020
<parent>
2121
<groupId>org.springframework.boot</groupId>
2222
<artifactId>spring-boot-starter-parent</artifactId>
23-
<version>3.5.7</version>
23+
<version>4.1.0</version>
2424
<relativePath/> <!-- lookup parent from repository -->
2525
</parent>
2626
<groupId>com.alibaba.cloud.ai</groupId>
2727
<artifactId>deepresearch</artifactId>
2828
<version>0.0.1-SNAPSHOT</version>
2929
<name>Examples::DeepResearch</name>
3030
<description>DeepResearch example for Spring AI Alibaba Agent Framework.</description>
31-
<url/>
32-
<licenses>
33-
<license/>
34-
</licenses>
35-
<developers>
36-
<developer/>
37-
</developers>
38-
<scm>
39-
<connection/>
40-
<developerConnection/>
41-
<tag/>
42-
<url/>
43-
</scm>
4431

4532
<properties>
4633
<java.version>17</java.version>
47-
<spring-ai.version>1.1.2</spring-ai.version>
48-
<spring-ai-alibaba-extensions.version>1.1.2.2</spring-ai-alibaba-extensions.version>
49-
<spring-ai-alibaba.version>1.1.2.2</spring-ai-alibaba.version>
34+
<spring-ai.version>2.0.0</spring-ai.version>
35+
<spring-ai-alibaba.version>2.0.0.0-RC1</spring-ai-alibaba.version>
36+
<spring-ai-alibaba-extensions.version>2.0.0.0-RC1</spring-ai-alibaba-extensions.version>
5037
</properties>
5138

5239
<dependencyManagement>

examples/documentation/pom.xml

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,33 +20,20 @@
2020
<parent>
2121
<groupId>org.springframework.boot</groupId>
2222
<artifactId>spring-boot-starter-parent</artifactId>
23-
<version>3.5.7</version>
23+
<version>4.1.0</version>
2424
<relativePath/> <!-- lookup parent from repository -->
2525
</parent>
2626
<groupId>com.alibaba.cloud.ai</groupId>
2727
<artifactId>documentation</artifactId>
2828
<version>0.0.1-SNAPSHOT</version>
2929
<name>Examples::Documentation</name>
3030
<description>Examples for Website.</description>
31-
<url/>
32-
<licenses>
33-
<license/>
34-
</licenses>
35-
<developers>
36-
<developer/>
37-
</developers>
38-
<scm>
39-
<connection/>
40-
<developerConnection/>
41-
<tag/>
42-
<url/>
43-
</scm>
4431

4532
<properties>
4633
<java.version>17</java.version>
47-
<spring-ai.version>1.1.2</spring-ai.version>
48-
<spring-ai-alibaba.version>1.1.2.2</spring-ai-alibaba.version>
49-
<spring-ai-alibaba-extensions.version>1.1.2.2</spring-ai-alibaba-extensions.version>
34+
<spring-ai.version>2.0.0</spring-ai.version>
35+
<spring-ai-alibaba.version>2.0.0.0-RC1</spring-ai-alibaba.version>
36+
<spring-ai-alibaba-extensions.version>2.0.0.0-RC1</spring-ai-alibaba-extensions.version>
5037

5138
<redisson.version>3.22.0</redisson.version>
5239
</properties>

examples/documentation/src/main/java/com/alibaba/cloud/ai/examples/documentation/framework/advanced/RAGExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public void example1_buildKnowledgeBase() {
101101
List<Document> documents = textReader.get();
102102

103103
// 2. 分割文档为块
104-
TokenTextSplitter splitter = new TokenTextSplitter();
104+
TokenTextSplitter splitter = TokenTextSplitter.builder().build();
105105
List<Document> chunks = splitter.apply(documents);
106106

107107
// 3. 将块添加到向量存储

examples/documentation/src/main/java/com/alibaba/cloud/ai/examples/documentation/framework/tutorials/AgentsExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public static void advancedModelConfiguration() {
100100
.dashScopeApi(dashScopeApi)
101101
.defaultOptions(DashScopeChatOptions.builder()
102102
.temperature(0.7) // 控制随机性
103-
.maxToken(2000) // 最大输出长度
103+
.maxCompletionTokens(2000) // 最大输出长度
104104
.topP(0.9) // 核采样参数
105105
.enableThinking(true)
106106
.build())

examples/documentation/src/main/java/com/alibaba/cloud/ai/examples/documentation/framework/tutorials/ModelsExample.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,10 @@ public static void useChatOptions() {
109109
.build();
110110

111111
DashScopeChatOptions options = DashScopeChatOptions.builder()
112-
.withModel("qwen-plus") // 模型名称
113-
.withTemperature(0.7) // 温度参数
114-
.withMaxToken(2000) // 最大令牌数
115-
.withTopP(0.9) // Top-P 采样
112+
.model("qwen-plus") // 模型名称
113+
.temperature(0.7) // 温度参数
114+
.maxCompletionTokens(2000) // 最大令牌数
115+
.topP(0.9) // Top-P 采样
116116
.build();
117117

118118
ChatModel chatModel = DashScopeChatModel.builder()
@@ -135,8 +135,8 @@ public static void runtimeOptionsOverride() {
135135

136136
// 创建带有特定选项的 Prompt
137137
DashScopeChatOptions runtimeOptions = DashScopeChatOptions.builder()
138-
.withTemperature(0.3) // 更低的温度,更确定的输出
139-
.withMaxToken(500)
138+
.temperature(0.3) // 更低的温度,更确定的输出
139+
.maxCompletionTokens(500)
140140
.build();
141141

142142
Prompt prompt = new Prompt(
@@ -230,7 +230,7 @@ public static void functionCalling() {
230230

231231
// 使用函数
232232
DashScopeChatOptions options = DashScopeChatOptions.builder()
233-
.withToolCallbacks(List.of(weatherFunction))
233+
.toolCallbacks(List.of(weatherFunction))
234234
.build();
235235

236236
Prompt prompt = new Prompt("北京的天气怎么样?", options);
@@ -273,10 +273,10 @@ public static void comprehensiveConfiguration() {
273273

274274
// 配置各种选项
275275
DashScopeChatOptions options = DashScopeChatOptions.builder()
276-
.withModel("qwen-max") // 使用旗舰版模型
277-
.withTemperature(0.7) // 控制随机性
278-
.withMaxToken(4000) // 最大输出长度
279-
.withTopP(0.9) // 核采样
276+
.model("qwen-max") // 使用旗舰版模型
277+
.temperature(0.7) // 控制随机性
278+
.maxCompletionTokens(4000) // 最大输出长度
279+
.topP(0.9) // 核采样
280280
.build();
281281

282282
ChatModel chatModel = DashScopeChatModel.builder()
@@ -308,23 +308,23 @@ public static void differentModelsUsage() {
308308
ChatModel turboModel = DashScopeChatModel.builder()
309309
.dashScopeApi(dashScopeApi)
310310
.defaultOptions(DashScopeChatOptions.builder()
311-
.withModel("qwen-turbo")
311+
.model("qwen-turbo")
312312
.build())
313313
.build();
314314

315315
// qwen-plus: 通义千问增强版
316316
ChatModel plusModel = DashScopeChatModel.builder()
317317
.dashScopeApi(dashScopeApi)
318318
.defaultOptions(DashScopeChatOptions.builder()
319-
.withModel("qwen-plus")
319+
.model("qwen-plus")
320320
.build())
321321
.build();
322322

323323
// qwen-max: 通义千问旗舰版
324324
ChatModel maxModel = DashScopeChatModel.builder()
325325
.dashScopeApi(dashScopeApi)
326326
.defaultOptions(DashScopeChatOptions.builder()
327-
.withModel("qwen-max")
327+
.model("qwen-max")
328328
.build())
329329
.build();
330330

@@ -371,23 +371,23 @@ public static void temperatureEffect() {
371371
ChatModel conservativeModel = DashScopeChatModel.builder()
372372
.dashScopeApi(dashScopeApi)
373373
.defaultOptions(DashScopeChatOptions.builder()
374-
.withTemperature(0.1)
374+
.temperature(0.1)
375375
.build())
376376
.build();
377377

378378
// 中温度 - 平衡的输出
379379
ChatModel balancedModel = DashScopeChatModel.builder()
380380
.dashScopeApi(dashScopeApi)
381381
.defaultOptions(DashScopeChatOptions.builder()
382-
.withTemperature(0.7)
382+
.temperature(0.7)
383383
.build())
384384
.build();
385385

386386
// 高温度 - 更有创意、更随机的输出
387387
ChatModel creativeModel = DashScopeChatModel.builder()
388388
.dashScopeApi(dashScopeApi)
389389
.defaultOptions(DashScopeChatOptions.builder()
390-
.withTemperature(1.5)
390+
.temperature(1.5)
391391
.build())
392392
.build();
393393

examples/documentation/src/main/java/com/alibaba/cloud/ai/examples/documentation/framework/tutorials/mcp/RemoteMcpToolsExample.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@
2626
import com.alibaba.cloud.ai.graph.exception.GraphRunnerException;
2727
import com.alibaba.cloud.ai.graph.streaming.StreamingOutput;
2828
import com.alibaba.fastjson2.JSON;
29-
import com.fasterxml.jackson.databind.ObjectMapper;
3029
import io.modelcontextprotocol.client.McpClient;
3130
import io.modelcontextprotocol.client.McpSyncClient;
3231
import io.modelcontextprotocol.client.transport.HttpClientSseClientTransport;
3332
import io.modelcontextprotocol.client.transport.HttpClientStreamableHttpTransport;
34-
import io.modelcontextprotocol.json.jackson.JacksonMcpJsonMapper;
33+
import io.modelcontextprotocol.json.jackson3.JacksonMcpJsonMapper;
3534
import io.modelcontextprotocol.spec.McpClientTransport;
3635
import io.modelcontextprotocol.spec.McpSchema;
3736
import org.jspecify.annotations.NonNull;
@@ -46,6 +45,7 @@
4645
import org.springframework.beans.factory.annotation.Autowired;
4746
import org.springframework.stereotype.Service;
4847
import reactor.core.publisher.Flux;
48+
import tools.jackson.databind.json.JsonMapper;
4949

5050
import java.net.http.HttpClient;
5151
import java.time.Duration;
@@ -207,12 +207,11 @@ private List<ToolCallback> fetchMcpTools(
207207
//create MCP Transport
208208
McpClientTransport mcpClientTransport;
209209
if (isStreamable) {
210-
ObjectMapper objectMapper = new ObjectMapper();
211210
mcpClientTransport = HttpClientStreamableHttpTransport
212211
.builder(baseUrl)
213212
.endpoint(endpoint)
214213
.clientBuilder(HttpClient.newBuilder())
215-
.jsonMapper(new JacksonMcpJsonMapper(objectMapper)).build();
214+
.jsonMapper(new JacksonMcpJsonMapper(JsonMapper.shared())).build();
216215

217216
}
218217
else {
@@ -358,7 +357,7 @@ public void remoteMcpToolsWithChatCliAndSpringBootExample() {
358357
2. Please check the available train numbers and their departure times.
359358
3. Please also check Beijing’s weather forecast for tomorrow.
360359
""")
361-
.toolCallbacks(toolCallbackProvider);
360+
.tools(toolCallbackProvider);
362361
//check the logs from DefaultToolCallingManager
363362
String text = doChat.call().chatResponse().getResult().getOutput().getText();
364363
System.out.println(text);

examples/documentation/src/main/java/com/alibaba/cloud/ai/examples/documentation/graph/examples/McpNodeExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public static class McpNode implements NodeAction {
7272
public McpNode(ChatClient.Builder chatClientBuilder, Set<ToolCallback> toolCallbacks) {
7373
// 为节点配置 MCP 工具
7474
this.chatClient = chatClientBuilder
75-
.defaultToolCallbacks(toolCallbacks.toArray(ToolCallback[]::new))
75+
.defaultTools(toolCallbacks)
7676
.build();
7777
}
7878

examples/documentation/src/main/java/com/alibaba/cloud/ai/examples/documentation/graph/examples/MultiAgentSupervisorExample.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ public ResearcherNode(ChatModel model) {
389389
.build();
390390

391391
this.chatClient = ChatClient.builder(model)
392-
.defaultToolCallbacks(searchTool)
392+
.defaultTools(searchTool)
393393
.build();
394394
}
395395

@@ -441,7 +441,7 @@ public CoderNode(ChatModel model) {
441441
.build();
442442

443443
this.chatClient = ChatClient.builder(model)
444-
.defaultToolCallbacks(coderTool)
444+
.defaultTools(coderTool)
445445
.build();
446446
}
447447

examples/documentation/src/main/resources/application.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ spring:
88
dashscope:
99
api-key: ${DASHSCOPE_API_KEY:your-api-key}
1010
chat:
11-
options:
12-
model: ${DASHSCOPE_MODEL:qwen-plus}
11+
model: ${DASHSCOPE_MODEL:qwen-plus}
1312
# A2A Nacos 配置
1413
alibaba:
1514
a2a:

0 commit comments

Comments
 (0)