spring-ai 学习系列(2)-调用远程deepseek

上一节学习了spring-ai调用本地ollama,这次继续学习调用远程deepseek

一、pom依赖调整

加入openai的依赖

1 <dependency>
2     <groupId>group.springframework.ai</groupId>
3     <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
4 </dependency>
View Code

 二、yaml配置调整

其中api-key换成真实的deepseek api key(注:没有的,参考本文最后的截图,去deepseek官网申请1个,非常便宜,早饭吃根油条的钱,就能体验很久)

spring:
  ai:
    openai:
      api-key: sk-***
      base-url: https://api.deepseek.com
      chat:
        options:
          model: deepseek-chat
          temperature: 0.7

三、注入openai模型

@Bean("openaiClient")
public ChatClient remoteClient(OpenAiChatModel model) {
    return ChatClient.builder(model)
            .defaultSystem("你是可爱且热情、人见人爱,花见花开的AI助手,中文名字叫小美,英文名字叫Rose,你有一个好朋友,他的网名叫[菩提树下的杨过],请以阿呆的身份回答问题")
            .defaultAdvisors(new ConsoleOutputAdvisor())
            .build();
}

 四、调整Controller 

@Autowired
@Qualifier("openaiClient")
ChatClient openaiClient;

@RequestMapping("/openai/chat")
public String openAIChat(String prompt) {
    return openaiClient.prompt()
            .user(prompt)
            .call()
            .content();
}

@RequestMapping(value = "/openai/chat-stream", produces = "text/html;charset=utf-8")
public Flux<String> openAIChatStream(String prompt) {
    return openaiClient.prompt()
            .user(prompt)
            .stream()
            .content();
}

  

 

注:抛个小问题,如果想自己做1个多用户平台,希望每个用户登录后,动态使用自己的deepseek api-Key,spring-ai并没有提供相应方法,可以动态设置。如果要实现类似功能,可参考 全自助使用Cursor生成的DeepSeek Demo java 项目

 

 文中代码:https://github.com/yjmyzz/spring-ai-sample/tree/day02

posted @ 2025-07-10 09:04  菩提树下的杨过  阅读(345)  评论(0)    收藏  举报