Java后端拥抱AI开发之个人学习路线 - - Spring AI【第一期】

张开发
2026/5/22 18:29:06 15 分钟阅读
Java后端拥抱AI开发之个人学习路线 - - Spring AI【第一期】
Ollama私有化部署和对接本地大模型一、Ollama本地大模型部署(一) Ollama是什么能干什么类似于docker的管理工具但是是用来管理大模型LLM的在本地部署默认端口号11434(二) Ollama如何安装部署各种大模型命令跟docker很类似ollama pull xxx大模型| ollama run xxx大模型二、微服务对接本地大模型在项目中pom文件中引入依赖配置yml文件对话模型一、ChatClient vs ChatModelChatClient提供了与AI模型通信的Fluent API它支持同步和反应式(Reactive)编程模型。与ChatMemory等原子API相比使用ChatClient可以将与LLM及其他组件交互ChatModel、 Message、的复杂性隐藏在背后因为基于LLM的应用程序通常要多个组件协同工作(例如提示词模板、聊天记忆、LLMModel、输出解析器、RAG组件:嵌入模型和存储)并且通常涉及多个交互因此协调它们会让编码变得繁琐。当然使用ChatModel等原子API可以为应用程序带来更多的灵活性成本就是您需要编写大量样板代码。ChatClient类似于应用程序开发中的服务层它为应用程序直接提供AI服务开发者可以使用ChatClient Fluent API快速完成一整套AI交互流程的组装。private final ChatClient dashScopeChatClient; // ChatClient不支持自动输入 // 依赖ChatModel对象接口, ChatClient.builder(dashscopeChatModel).build(); public ChatClientController(ChatModel dashScopeChatModel) { this.dashScopeChatClient ChatClient.builder(dashScopeChatModel).build(); } GetMapping(/chatclient/dochat) public String doChat(RequestParam(name msg,defaultValue 您好) String msg) { return dashScopeChatClient.prompt().user(msg).call().content(); }SSE一、流式输出是一种逐步返回大模型生成结果的技术生成一点返回一点允许服务器将响应内容分批次实时传输给客户端而不是等待全部内容生成完毕后再一次性返回。这种机制能显著提升用户体验可以让客户尽快看到结果尤其适用于大模型响应较慢的场景如生成长文本或复杂推理结果。有两种实现方式通过ChatModel实现stream实现流式输出通过ChatClient实现stream实现流式输出二、SSEServer-Sent Events服务器发送事件Server-Sent Events (SSE)是一种允许服务端可以持续推送数据片段如逐词或逐句到前端的 Web技术。通过单向的HTTP长连接使用一个长期存在的连接让服务器可以主动将数据推给客户端SSE是轻量级的单向通信协议适合AI对话这类服务端主导的场景。核心概念SSE的核心思想是客户端发起一个请求服务器保持这个连接打开并在有新数据时通过这个连接将数据发送给客户端。这与传统的请求-响应模式客户端请求一次服务器响应一次连接关闭有本质区别。SSE的下一代Stream able HttpSSE和WebSocket的区别SSE的适用场景非常适合需要服务器向客户端实时推送更新的场景实时通知股票行情、新闻推送、聊天应用(仅接收消息)、系统告警。状态更新长时间运行的任务进度(如文件上传、后台处理)。实时数据流传感器数据、监控仪表盘。协作应用显示其他用户的在线状态或操作(但不包括发送操作)三、多模型共存如何同时存在多种大模型产品在系统里共存使用第一种通过ChatModel实现Stream实现流式输出第二种通过ChatClient实现Stream实现流式输出以达到共存为每种大模型定义不同的Bean需指定名字以防止自动注入报错

更多文章