您的位置:首页 > 房产 > 建筑 > 郑州交友网站建设_阳江市网络问政首页_网页设计首页制作_怎么优化关键词排名优化

郑州交友网站建设_阳江市网络问政首页_网页设计首页制作_怎么优化关键词排名优化

2025/4/28 18:19:24 来源:https://blog.csdn.net/CSDN_LiMingfly/article/details/147048287  浏览:    关键词:郑州交友网站建设_阳江市网络问政首页_网页设计首页制作_怎么优化关键词排名优化
郑州交友网站建设_阳江市网络问政首页_网页设计首页制作_怎么优化关键词排名优化

前言
对接 AI 的方式有很多,比如;AI 官网提供的 SDK、自研 SDK 组件、one-api 服务类统一包装接口,其中自研类 SDK 已经在星球 openai 项目对接 chatglm、chatgpt 的时候进行设计,为了差异化学习到不同技术,本项目会采用 Spring AI 框架进行对接。

Spring AI 支持;OpenAI,Microsoft,Amazon,Google和Ollama,大模型的对接。其他不属于这个范围的,可以通过 one-api 配置,统一转换为 OpenAI 接口服务格式进行使用。

功能实现
在这里插入图片描述
在这里插入图片描述
引入框架

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>${spring-ai.version}</version><type>pom</type><scope>import</scope>
</dependency>

spring-ai 父pom,定义引入ai框架的适配版本。在统一父pom下,所有的spring-ai下的组件,都不需要再单独定义pom版本。

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama</artifactId>
</dependency>

之后在具体使用ai调用方法的的工程模块下,引入对应的pom。如,本节我们要对接 ollama 就要引入 spring-ai-ollama
接口配置

spring:ai:ollama:base-url: http://ip.***:11434

换成你的 Ollama 所在的服务IP,云服务器就是公网IP,注意开放端口 11434

核心代码

@RestController()
@CrossOrigin("*")
@RequestMapping("/api/v1/ollama/")
public class OllamaController implements IAiService {@Resourceprivate OllamaChatClient chatClient;/*** curl http://localhost:8090/api/v1/ollama/generate?model=deepseek-r1:1.5b&message=1+1*/@RequestMapping(value = "generate", method = RequestMethod.GET)@Overridepublic ChatResponse generate(@RequestParam String model, @RequestParam String message) {return chatClient.call(new Prompt(message,OpenAiChatOptions.builder().withModel(model).build()));}/*** curl http://localhost:8090/api/v1/ollama/generate_stream?model=deepseek-r1:1.5b&message=1+1*/@RequestMapping(value = "generate_stream", method = RequestMethod.GET)public Flux<ChatResponse> generateStream(@RequestParam String model, @RequestParam String message) {return chatClient.stream(new Prompt(message,OllamaOptions.create().withModel(model)));}}    

Spring AI 提供对话的接口非常简单,call 是直接应答,stream 是流式应答。流式应答通过 Flux 返回。

Project Reactor 是一个用于构建响应式应用程序的库,Flux 是 Reactor 中的一个核心组件,用于表示一个异步序列,可以发出 0 到 N 个元素,并且可以是有限的或无限的流。

测试验证
确保,Docker Ollama DeepSeek 运行正常。之后启动本地服务 SpringBoot 检查日志是否运行正常。

访问接口

在这里插入图片描述
可以看到接口的反馈结果。这些结果可以用于后续提供给前端页面做流式展示。

好了 至此 《DeepSeek RAG 增强检索知识库系统》Ollama DeepSeek 流式应答接口实现之二 点点关注不迷路 老铁们!!!!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com