接入ollama本地模型
ollama是大语言模型的运行环境 , 支持将开源的大语言模型以离线的方式部署到本地,进行私有化部署。 这也是企业中常用的方案, 因为本地化部署能保证企业级的数据安全, 降低企业使用成本。
可以将我们的 ollama 理解为是我们的 Docker 容器(Docker 拉取的是镜像),而 Ollama 拉取的就是大模型的镜像,同时运行大模型
本地大模型安装
https://ollama.com/download
点击下载, 一直下一步即可非常简单
安装完后运行cmd --> ollama list 查看已安装的大模型(开始肯定什么都没有)
拉取模型 ollama run qwen3:4b
https://ollama.com/library/qwen3
1. 这里的4b=40亿参数 对应gpu显存差不多是4G ,当然8B也可以只是比较卡
测试
基于spring-ai使用 上我们在 Ollama 本地模型部署的大模型
添加依赖(添加 ollama 的 SDK 依赖)
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-ollama</artifactId>
</dependency>
配置(配置 ollama 的配置,注意:ollama 是不需要配置 api_key 的,因为只有云端大模型才需要根据你的 api_key 计费算钱,授权。本地大模型是不需要的)。ollama 的默认端口 11434 。
ollama 是可以拉取配置运行多个本地大模型的,所以这里需要配置指明我们使用的是 ollama 本地当中的那个大模型
ollama list # 查看 ollama 当前含有配置拉取的有那些大模型
spring.ai.ollama.base-url= http://localhost:11434 # 默认端口是:11434
spring.ai.ollama.chat.model= qwen3:4b
测试
/**
* @author
*/
@SpringBootTest
public class OllamaTest {
@Test
public void testChat(
// 自动装配了 OllamaChatModel 配置类
@Autowired OllamaChatModel ollamaChatModel) {
String text = ollamaChatModel.call("你是谁");
System.out.println(text);
}
}
关闭 thingking
因为我们的 qwen3 大模型是一个思考模型(存在一个深度思考的过程),所以可能会思考的比较久,这里我们可以关闭 ollama 当中的大模型思考(深度思考)模式
可以通过 在提示词结尾加入“/no_think” 指令
String text = ollamaChatModel.call("你是谁/no_think"); // 你的提示词上加上 /no_think 软关闭,深度思考过程
System.out.println(text);
但是依然有标签, 暂时可以前端单独处理下