JBoltAI_SpringBoot如何区分DeepSeekR1深度思考和具体回答的内容(基于Ollama)?
- 开源代码
- 2025-09-20 02:18:02

当我们用Ollama运行DeepSeek R1模型,向它提问时,会发现它的回答里是有think标签的
如果我们直接将Ollama的回复用于生产环境,肯定是不行的,对于不同的场景,前面输出的一堆内容,可能并不需要在客户端展示,对于用户体验来说,一个莫名其妙的标签包裹着一大堆文字,看起来也是不那么友好的。
来看一下我们的JBoltAI-SpringBoot版AI开发框架是怎么解决这个问题的。
首先我们加载一下Ollama DeepSeek R1大模型资源(资源加载后可以在项目中被重复调用,我们的框架也支持近20种主流的大模型厂商、平台)
ResourceCenter.registerOllamaAI("http://192.168.31.14:11434/api/chat", "deepseek-r1:7b");调用大模型
JBoltAI.chat(AIModel.OLLAMA).prompt("你觉得AI未来发展方向会是什么") .onThinking((e, think, status) -> { if (status == ThinkStatus.START) { System.out.println("===== 思考开始 ============="); } else if (status == ThinkStatus.RUNNING) { System.out.print(think); } else if (status == ThinkStatus.COMPLETE) { System.out.print(think); System.out.println("===== 思考结束 ============="); System.out.println("===== 开始回答 ============="); } }) .onSuccess((e, r) -> { System.out.print(r.getContent()); }).onFail((e, error) -> { System.out.println("发生异常了,异常信息:" + error.getFullMsg()); }).publish().await();使用JBoltAI 调用大模型能力是非常方便的,JBoltAI.chat() 就可以发起一个聊天事件,通过传入大模型类型,就可以自动从资源池中找到可用的资源供事件使用,通过prompt() 方法就可以方便的传入提示词,通过onThinking 回调,就可以自由处理深度思考的内容,通过onSuccess 回调可以自由处理大模型返回 的正式回答内容。
框架对于所有支持的大模型,都提供了统一的调用方式,不需要开发者关心底层逻辑,不需要关系不同大模型的接口差异和参数差异,极大的降低了开发者的开发难度。
看一下执行效果:
欢迎大家尝试使用SpringBoot版JBoltAI框架,它会是你开发AI应用的最强大的助手。
JBoltAI_SpringBoot如何区分DeepSeekR1深度思考和具体回答的内容(基于Ollama)?由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“JBoltAI_SpringBoot如何区分DeepSeekR1深度思考和具体回答的内容(基于Ollama)?”