如何在本地部署大模型-ollama_(保姆级教程)
一、部署方式选择
| 部署方式 | 上手难度 | 核心特点 | 适用场景 |
|---|---|---|---|
| Ollama | ⭐ | 命令极简,自动适配环境,自带 API 接口 | 新手日常本地调用、快速测试 |
| LM Studio | ⭐ | 图形化操作,无需敲代码,兼容 OpenAI 接口 | 不想使用命令行、纯可视化使用 |
| Text Generation WebUI | ⭐⭐⭐ | 功能齐全,支持模型微调、多种量化格式 | 深度调试模型、个性化参数配置 |
| vLLM | ⭐⭐⭐⭐ | 推理速度快,高并发性能强 | 搭建对外服务、生产环境部署 |
大家可以按需自我选择,我的推荐是本地自己玩使用ollama,在企业使用最好用vLLM
二、ollama下载(windows电脑为例)
如果官网能下载就用官网,不能就镜像地址,懂得都懂
- 官网地址:https://ollama.com/download
- 镜像地址:https://cnb.cool/hex/ollama/-/releases/latest/download/OllamaSetup.exe
注意:后续下载模型一般都好几个G,可以在setting中设置模型下载地址
三、免费开源大模型选择
| 模型名称 | 推荐版本 | 中文友好 | 商用权限 | Ollama 下载命令 | 最低显存 | 推荐显存 | 最低内存 | 推荐内存 | 硬件适配选型 |
|---|---|---|---|---|---|---|---|---|---|
| 通义千问 Qwen | Qwen2:7b/14b | ★★★★★ | 免费可商用 | ollama run qwen2:7b ollama run qwen2:14b | 6G 10G | 8-16G 16G+ | 16G 32G | 32G 64G | 16G 内存选 7b,32G 及以上内存选 14b |
| 智谱 ChatGLM | chatglm3:6b | ★★★★★ | 免费可商用 | ollama run chatglm3:6b | 5G | 6-8G | 16G | 32G | 常规家用内存均可流畅运行 |
| Llama3 | llama3:8b | ★★★☆☆ | 个人免费商用受限 | ollama run llama3:8b | 6G | 8-16G | 16G | 32G | 16G 标准内存适配日常使用 |
| DeepSeek | deepseek:7b | ★★★★☆ | 个人免费商用受限 | ollama run deepseek:7b | 6G | 8-16G | 16G | 32G | 代码推理场景,16G 内存够用 |
| Mixtral | mixtral:8x7b | ★★★☆☆ | 免费可商用 | ollama run mixtral | 10G | 16G+ | 32G | 64G | 大内存机型专属,长文本处理优选 |
| Gemma | gemma2:9b | ★★★☆☆ | 个人免费商用受限 | ollama run gemma2:9b | 8G | 12-16G | 16G | 32G | 主流内存配置均可稳定运行 |
| Phi-3 | phi3:mini | ★★★☆☆ | 免费可商用 | ollama run phi3:mini | 3G | 4-6G | 8G | 16G | 低配小内存笔记本首选 |
我是16G内存,下载的是Qwen2:7b,直接在powershell上运行ollama run qwen2:7b
四、使用
选中模型直接对话即可,就可以使用了!!!
地址验证:http://localhost:11434/
五、项目集成(Spring AI框架为例)
- pom依赖
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- Spring AI Ollama 依赖 --><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-ollama</artifactId><version>1.0.0</version></dependency></dependencies>- yaml配置
spring:application:name:spring-ai-demoai:ollama:base-url:http://localhost:11434chat:model:qwen2:7b- 测试运行
packagecom.example.springaidemo.controller;importorg.springframework.ai.chat.client.ChatClient;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassAiController{privatefinalChatClientchatClient;// 自动注入 OllamapublicAiController(ChatClient.BuilderchatClientBuilder){this.chatClient=chatClientBuilder.build();}// 测试接口@GetMapping("/ai")publicStringask(Stringquestion){returnchatClient.prompt().user(question).call().content();}}