Ollama 是一个开源工具,专注于 在本地计算机上运行、部署和管理大型语言模型(LLM)想要使用需要去官网下载它Ollama
下载时默认会装到C盘可以通过命令来改变安装的位置OllamaSetup.exe /DIR=”D:\Ollama”
下载完成后选择合适的模型我这里选择的是qwen3:8b
使用ollama run qwen3:8b (可以根据电脑配置进行选择)下载并运行模型
可以简单的问一下大模型
接入Ollama需要引入ollama的依赖
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-ollama</artifactId>
<version>1.0.0</version>
</dependency>
然后加入相应的配置文件
spring:
ai:
ollama:
base-url: http://localhost:11434 # Ollama 服务的访问地址, 11434 端口是 Ollama 默认的启动端口
chat:
options: # 模型参数
model: qwen3:8b # 指定 Ollama 使用的大模型名称,根据你实际安装的来,我运行的是 8b
temperature: 0.7 # 温度值
然后进行对话
@RestController
@RequestMapping("/v3/ai")
public class OllamaController {
@Autowired
private OllamaChatModel chatModel;
/**
* 普通对话
*
* @param message
* @return
*/
@GetMapping("/generate")
public String generate(@RequestParam(value = "message", defaultValue = "你是谁?") String message) {
// 构建提示词,调用大模型
ChatResponse chatResponse = chatModel.call(new Prompt(message));
// 响应回答内容
return chatResponse.getResult().getOutput().getText();
}
}

可以看到等了50多秒用户才得到响应对于用户来说是非常不友好的,我们可以用流式输出的方式来优化用户体验
/**
* 流式对话
* @param message
* @return
*/
@GetMapping(value = "/generateStream", produces = "text/html;charset=utf-8")
public Flux<String> generateStream(@RequestParam(value = "message", defaultValue = "你是谁?") String message) {
//构建提示词
Prompt prompt = new Prompt(new UserMessage(message));
//流式响应
return this.chatModel.stream(prompt)
.mapNotNull(chatResponse -> {
//获取相应内容
String text = chatResponse.getResult().getOutput().getText();
//处理换行
return StrUtil.isNotBlank(text) ? text.replace("\n", "<br/>") : text;
});
}
可以看到基本上用户可以马上得到响应这样用户可以得到不错的体验
代码地址XXSHJ/xiaojiu-ai-robot – Gitee.com
支持的兄弟们可以点个Start谢谢

Comments 1 条评论
我很喜欢