Spring AI如何集成DeepSeek 解锁业务流程智能推理新高度
Spring AI如何集成DeepSeek?今天,我们聚焦于DeepSeek,深入探索其在实际应用中的价值,尤其是如何将它接入Spring AI,为解决现实问题提供强大助力。需要明确的是,尽管DeepSeek目前主要作为推理型助手,并非智能体的最优选择,但它在推理和数据分析方面的卓越能力,足以使其在业务流程优化中发挥关键作用,值得将其集成到业务系统中充分利用。
我们以在腾讯云HAI服务器上部署的DeepSeek大模型为基础展开开发,借助其强大功能满足当下业务需求。
Spring AI:灵活对接,开启智能之旅
HAI服务器上实际部署的是Ollama,而Spring文档贴心地提供了对应的Ollama接口,极大地方便了开发者进行集成工作。如果觉得使用Ollama的流程稍显繁琐,也完全不必担心,因为Ollama和OpenAI接口相互兼容,可以根据实际需求灵活选择。具体信息可参考下图:
该图展示Spring AI相关的项目结构,在AI Models – Chat Models – Ollama板块有相关信息,强调Ollama和OpenAI的兼容性等。
在使用Ollama时,首先要完成对接工作。这需要引入Ollama的相关依赖,操作如下:
<dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-ollama-spring-boot-starter</artifactId> </dependency>
引入依赖后,还需添加关键的配置信息,包括调用地址和调用模型:
spring.ai.ollama.base-url=http://ip:6399 spring.ai.ollama.chat.options.model=deepseek-r1:7b
这里的IP需替换为HAI所暴露的外网IP地址。HAI提供了1.5b和7b两种模型版本,从性能方面考虑,更推荐使用7b版本,它在处理复杂任务和输出效果上,相较于1.5b版本有着明显优势。接下来,编写一个简单的接口API,供业务系统调用:
@PostMapping("/ai") ChatDataPO generationByText(@RequestParam("userInput") String userInput) { String content = this.chatClient.prompt() .user(userInput).advisors(new MessageChatMemoryAdvisor(chatMemory)) .call().content(); log.info("content: {}", content); ChatDataPO chatDataPO = ChatDataPO.builder().code("text").data(ChildData.builder().text(content).build()).build(); return chatDataPO; }
由于这是阻塞式响应,获取结果可能需要等待一段时间。若想实时查看响应结果,可以接入流式服务。实际运行效果如下:
如果觉得7b模型的回答效果未能达到预期,还可以选择加载更强大的70b模型版本。不过,需要注意的是,更大规模的模型意味着更高的算力需求,70b模型的存储需求也更为严苛,部署和运行时可能需要额外的磁盘空间。
当前,基础性机器的存储容量仅200GB,无法下载完整的更大规模模型,最多只能支持70b参数规模的模型。对于存储容量有限的环境,选择合适的模型版本至关重要。若想了解各个模型的存储需求,可访问Ollama官方网站查看详细信息。以下是部分模型大小的参考:
在HAI服务器的终端上,可以使用命令ollama run deepseek-r1:70b
进行模型拉取下载。但即便存储容量满足要求,若显存级别不足,模型加载速度依然较慢。为确保系统流畅运行,建议将显存扩展至32GB及以上,这样才能实现更高效的性能,为用户带来更好的体验。
总结
DeepSeek作为推理型助手,在提升业务流程方面潜力巨大。通过集成到Spring AI并借助Ollama接口,开发者能够根据不同的性能需求灵活选择合适的模型版本。虽然现阶段受硬件条件限制,但随着技术的持续进步和硬件的升级,DeepSeek在实际应用中的优势将愈发凸显,为企业实现智能化转型提供强大的技术支持。