依赖
<properties>
<spring-ai.version>1.0.0-M6</spring-ai.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>${spring-ai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
配置
spring:
ai:
openai:
api-key: sk-xxxx
base-url: https://api.deepseek.com
chat:
options:
model: deepseek-chat
public class MyTool {
@Tool(description = "获取当前时间")
public String getDate(){
return LocalDateTime.now().toString();
}
@Tool(description = "设置时间",returnDirect=true)//直接返回
public void setDate(@ToolParam(description = "用中文年月日形式,如2020年10月10日") String date){
System.out.println("设置时间为:"+date);
}
}
controller
@RestController
@RequestMapping("ai")
public class AIController {
private final ChatClient client;
public AIController(ChatClient.Builder builder) {
this.client = builder
.defaultTools(new MyTool())
.build();
}
@GetMapping(value = "chat/{message}",produces = "text/stream;charset=utf-8")
public Flux<String> chat(@PathVariable String message){
return client.prompt()
.user(message)
.stream()
.content();
}
}