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

絕刀狂花
发布: 2025-11-25 10:04:10
原创
307人浏览过

上一节我们学习了如何使用spring-ai调用本地的ollama模型,本节将继续深入,学习如何通过spring-ai调用远程的deepseek服务。

一、调整pom.xml依赖

首先需要引入openai相关的starter依赖,以便支持OpenAI兼容的API调用:

1 <dependency>2     <groupid>org.springframework.ai</groupid>3     <artifactid>spring-ai-openai-spring-boot-starter</artifactid>4 </dependency>
登录后复制
注意:请确保groupid正确为 org.springframework.ai,原文可能存在拼写错误。

二、修改application.yml配置文件

在配置文件中指定deepseek的API地址和认证信息:

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

⚠️ 说明:api-key需替换为你自己在deepseek官网申请的真实密钥。若尚未获取,请参考文末截图前往官网注册并充值,价格非常实惠,一顿早餐的成本即可使用较长时间。

三、注入远程ChatClient实例

天工AI
天工AI

昆仑万维推出的国内首款融入大语言模型的AI对话问答、AI搜索引擎,知识从这里开始。

天工AI 400
查看详情 天工AI

定义一个Bean来创建基于OpenAI协议的远程客户端,并设置默认行为角色:

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

该配置让AI以“小美”或“Rose”的人格进行回复,增强交互趣味性。

四、Controller层接口调整

将之前本地模型的调用切换为远程client,实现同步与流式两种响应方式:

@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();}</string>
登录后复制

支持普通请求返回完整结果,以及SSE流式输出,提升用户体验。

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

? 扩展思考
如果想构建一个多用户平台,每个用户登录后使用自己的deepseek API Key,目前spring-ai并未提供动态切换apiKey的机制。这种场景下,无法直接复用自动配置的Bean。解决方案可参考由Cursor自动生成的Java项目——全自助DeepSeek Demo,通过手动构造OpenAiChatModel实例实现多租户隔离。

项目源码地址:https://www.php.cn/link/fc8d5986a039ea16ecfd79ac1c20a0b1

以上就是spring-ai 学习系列(2)-调用远程deepseek的详细内容,更多请关注php中文网其它相关文章!

AI工具
AI工具

AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型,支持联网搜索。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号