Ollama本地大模型部署实战:从安装到接入IDE与API全指南
最近总有朋友问我:本地跑个大模型到底难不难?我的回答一直很明确:在 Ollama 出现之后,这件事的难度已经从“自己从零搭推理框架”降级成了“下载一个安装包再敲两行命令”。我甚至见过完全没接触过 Linux 的小白,照着教程半小时内就在 Windows 上把 Qwen 跑起来并接到了 VS Code 里。
这篇东西不打算写成一个面面俱到的官方文档,而是把我自己从下载安装到接入 IDE、Web、API 的完整链路走一遍,把我踩过的坑、琢磨明白的原理、以及现在每天都在用的配置方式都摊开来讲。无论你是想用本地大模型辅助写代码,还是想给团队搭一个内网可用的 AI 服务,又或者只是单纯想折腾一下自己的显卡,这篇文章都能让你少走不少弯路。
整个链条看起来环节很多,其实核心就三条线:先把 Ollama 这个运行时搞定并拿到模型,再通过各种兼容接口把它接到不同的前端工具里,最后搞清楚它的 API 到底怎么调、参数怎么调、问题怎么排查。下面我按实际操作的顺序来拆解。
1. 内容整体设计与思路拆解
1.1 为什么选 Ollama 而不是其他部署方案
本地大模型部署这件事,市面上方案并不少。llama.cpp 性能强、可定制性高,但编译参数、量化格式、内存管理全得自己弄,对新手极不友好;LocalAI 致力于兼容各种 API,但项目复杂度也高;还有一些国产框架做得也很成熟,但生态和文档国际化程度稍弱。我最终长期使用并且推荐别人的,还是 Ollama。
Ollama 的核心设计理念就是“把复杂度藏起来”。它把模型下载、量化管理、推理加速、API 暴露全都封装成了几个简单命令。你不需要知道 GGUF 是什么,不需要手动设置 KV cache,不需要纠结用什么线程数去推理,一条
ollama run
就全搞定了。我第一次用它跑起 7B 模型只花了不到十分钟,而之前用 llama.cpp 光编译就折腾了一晚上。
对于绝大多数个人开发者和小团队来说,省下来的时间远比省下来的那点性能开销更重要。更何况 Ollama 原生支持 GPU 加速,无论是 NVIDIA 的 CUDA 还是 Apple Silicon 的 Metal 都能直接用,实际推理速度并不比手动部署差太多。
1.2 本地大模型部署的典型应用场景
本地部署不是闲着没事折腾硬件,而是有一批很实际的场景在驱动。我接触最多的有三类:
第一类是代码辅助。用 Claude Code、Continue 这类 IDE 插件接入本地模型后,补全和简单重构完全可以在离线环境完成,既不用担心代码上传到云端泄露,也不用为 API 调用付费。很多公司对代码安全要求高,这是唯一的可行路径。
第二类是隐私敏感的问答和文档处理。我自己就帮朋友在完全内网的机器上部署过一套基于本地模型的知识库问答服务,数据全程不出内网,这在医疗、金融、政务之类行业是刚需。
第三类是开发和测试 API 接口。Ollama 启动后就是一个标准 REST 服务,你可以在本地模拟 OpenAI 格式的请求,调试自己的应用逻辑,等调通了再切换到云端大模型。这种开发模式能省下大量 API 调试费用,尤其是你反复请求同一个 prompt 的时候。
1.3 整体链路的技术架构
从架构角度看,这套东西其实很清晰:Ollama 是模型运行时和推理服务,它把模型权重加载进显存/内存,执行推理,并暴露 HTTP 接口;IDE 插件的角色是客户端,通过 HTTP 请求把代码上下文发给 Ollama,再把返回结果渲染在编辑器里;Web 界面是一个更丰富的前端,通常通过 Docker 跑一个独立的容器,后端调用 Ollama API;至于你自己的应用,可以直接通过 REST API 或 OpenAI 兼容接口访问 Ollama,不用关心模型内部实现。
这个架构最讨喜的地方在于:所有环节都通过 HTTP 解耦,替换任何一层都不影响其他部分。你可以在不改变前端界面的情况下,把后端从 Ollama 换成云端 API,也可以在前端随意切换模型,这种灵活性是本地部署方案里少有的。
2. 从零开始:Ollama 下载安装与模型管理全流程
2.1 跨平台安装方式与注意事项
Ollama 官方提供了 Windows、macOS、Linux 三种平台的安装方式,这一点做得非常到位。Windows 用户直接去官网下载
.exe
安装包,双击安装完,服务和 CLI 就自动配好了,连环境变量都不用手动加。macOS 用户如果有 Homebrew,一条
brew install ollama
就搞定;Linux 用户最省事的是官方一键脚本:
curl -fsSL https://ollama.com/install.sh | sh
不过安装有几点要提醒。首先是 Windows 下注意安装路径,默认装到 C 盘,模型文件也默认存储在
C:\Users\<用户名>\.ollama
,如果你 C 盘空间紧张,最好是提前设置环境变量把模型目录挪走。这个后面详说。
其次是 Linux 下如果用一键脚本,脚本会创建 systemd 服务,开机自启很方便,但如果你是在容器或无 systemd 的环境里,就需要手动处理后台进程。我习惯在服务器上用
ollama serve
配合 nohup 或 systemd 托管,这样日志好查、进程好管。
最后提醒一下,安装完成后建议先跑
ollama --version
确认版本,再跑
ollama list
确认服务状态正常。很多人装完就直接
ollama run
各种报错,结果发现是服务没起来。
2.2 模型下载太慢的解决方案:国内镜像与手动导入
Ollama 的模型默认从官方仓库拉,网络状况不好的时候那个速度简直感人,动不动几 KB/s。这里分享几个实测有效的办法。
第一个办法是设置国内镜像源。Ollama 支持通过环境变量
OLLAMA_BASE_URL
或者更准确地说,在较新版本中可以通过配置 registry 镜像来加速拉取。不同版本的配置方式略有区别,我在 Windows 上最常用的做法是用镜像站提供的加速地址,具体操作是先设置环境变量再重启 Ollama 服务。
第二个办法是手动下载模型文件再导入。这个方法最稳,完全绕开了 Ollama 的下载机制。先用浏览器或者下载工具去 Hugging Face 或者 ModelScope 下载 GGUF 格式的模型文件,然后写一个
Modelfile
,内容大致是:
FROM ./qwen2.5-7b-instruct-q4_k_m.gguf
然后在同一目录下执行:
ollama create qwen2.5-7b -f Modelfile
这样模型就导入到本地了,速度完全取决于你的带宽。加载
Modelfile
时会做校验和索引,7B 模型大约一两分钟就能注册完成。这个方法的另一个好处是可以用上一些第三方量化工具产出的特殊格式,灵活度更高。
2.3 模型选择与显存/内存估算
很多新手上来就问:我应该下载哪个模型?我的建议很朴素:先想清楚你的显卡有多大显存,然后在能力够用的情况下选最小的。一个经验公式是:7B 模型用 Q4 量化大约需要 5-7GB 显存,14B 模型大约需要 10-12GB,32B 模型至少要 20GB 以上。显存不够时 Ollama 会退化为 CPU 推理,速度暴跌,体验会很差。
我用得比较顺手的是 Qwen2.5 系列,
qwen2.5:7b
指令跟随能力和中文理解都很不错,日常代码补全和问答足够用。如果是英文场景偏多,Llama 3.1 8B 也可以考虑。显存只有 6GB 的朋友建议先从
qwen2.5:3b
或者
phi3:mini
开始,把流程跑通比一味追求大模型重要得多。
2.4 常用模型管理命令速查
这里整理几个我每天都会用到的命令:
ollama list # 查看本地已经安装的模型
ollama pull <模型名> # 拉取模型
ollama run <模型名> # 启动模型并进入交互式对话
ollama ps # 查看当前正在运行的模型和占用的显存
ollama stop <模型名> # 停止某个正在运行的模型
ollama rm <模型名> # 删除本地模型,释放磁盘空间
ollama show <模型名> # 查看模型详细信息,包括参数、上下文长度等
特别说一下
ollama ps
,我经常靠它来排查显存问题。有一次我发现推理越来越慢,跑了一下
ollama ps
,发现同时加载了三个模型,把显存全占了,
ollama stop
了一部分,速度立刻恢复正常。
3. 接入 IDE:在 VS Code 里用上本地大模型
3.1 Claude Code 接入本地模型的完整配置
Claude Code 是 Anthropic 官方出品的 AI 编码工具,但一个很关键的事实是:它支持通过环境变量把 API 地址重定向到任何兼容 OpenAI 协议的服务。加上它的前端交互做得非常顺手,很多人就想把它接到 Ollama 上,这个思路完全可行,也是我在“Ollama + IDE”这条链路上最常用的组合。
具体配置思路是这样的:Claude Code 默认读取
ANTHROPIC_BASE_URL
环境变量作为 API 地址,同时读取
ANTHROPIC_AUTH_TOKEN
作为鉴权 token。我们只需要把
ANTHROPIC_BASE_URL
指向 Ollama 的 OpenAI 兼容接口(通常是
http://localhost:11434/v1
),随便填一个 token,就能让 Claude Code 去调用本地模型。
在 Windows 上,我建议通过系统环境变量设置,设置完重启终端,然后启动
claude
命令验证。一个常见的坑是:Claude Code 会对版本有要求,如果遇到
login failed. check api token or gitlab version
这类的报错,大概率是它认为鉴权信息不合法,可以检查一下环境变量名是否拼写正确、服务是否真的在监听,或者尝试用新版 Claude Code。
3.2 CC Switch 的作用:一键切换多模型服务商
如果你试过折腾 Claude Code,就会发现一个问题:每次想从云端模型切到本地模型,都要改环境变量再重启终端,麻烦得很。后来社区里出了一个神器叫 CC Switch,专门用来管理 Claude Code 的多套配置,可以在多个 API 服务商之间一键切换。
CC Switch 的原理本质上是帮你管理了一个配置集合,切换时会自动写入对应的环境变量或配置文件。我自己的使用习惯是配两套:一套指向官方 Claude API,另一套指向 Ollama 本地。平时写复杂逻辑用官方模型,只是简单补全或离线办公时切到本地。这个工具解决的不是技术难题,而是体验痛点,强烈推荐给把 Claude Code 当主力工具的人。
有个小提醒:CC Switch 更新节奏快,不同版本的配置界面不太一样。但核心逻辑都一样,就是填写 Base URL、API Key(本地可以随便填)、模型名,保存后点击切换。切换完成后最好重开一下终端再启动
claude
,确保环境变量已经生效。
3.3 其他 IDE 插件接入方式对比
除了 Claude Code,VS Code 生态里还有一批很成熟的 AI 插件支持自定义 OpenAI 兼容服务地址。Continue 是我用得比较多的一个,免费开源、支持自定义模型、上下文管理做得也不错。配置方式是打开 Continue 的配置文件,添加一个指向
http://localhost:11434/v1
的 model,填入模型名即可。装上之后,选中代码按快捷键就能让本地模型解释、重构、写注释。
还有一个方向是直接用 Ollama 官方的 VS Code 插件,功能相对基础,但胜在简单。我个人觉得,如果只是想要最基本的代码补全和对话,Continue 的体验已经足够好;如果想要更 Autopilot 的体验,Claude Code 这类全能编码助手更合适。做选择时主要看你能不能接受代码上下文同步到云端,以及你对前端交互的偏好。
3.4 IDE 接入的典型报错与处理思路
IDE 接入本地模型时,最常见的报错就几类,我整理一下典型的排查路径。
第一类是
login failed: check api token or gitlab version
。这个报错看着吓人,其实核心原因通常是环境变量没生效,或者模型服务地址返回的响应格式不符合客户端的校验要求。处理办法是先直接 curl 一下接口看返回内容是否正常,再检查环境变量拼写和服务端口。
第二类是请求超时。本地模型推理速度远慢于云端 API,如果客户端默认的请求超时时间只有十几秒,跑长上下文时很容易断。解决办法是看客户端有没有超时时间的配置项,调到 120 秒甚至更长,或者选更小更快的小模型。
第三类是模型输出乱码或答非所问。这通常是指令模板不匹配。Claude Code 之类的工具默认按 Claude 的指令格式组织 prompt,而本地模型各有各的 prompt 模板,两者一错位,输出自然跑偏。解决思路是尽量选择指令跟随能力强的模型(比如 Qwen 系列),或者在接入层对 prompt 做一次转换。
4. 接入 Web:给本地模型套一个可视化网页界面
4.1 用 Open WebUI 快速搭建本地网页对话
Ollama 本身不提供网页界面,启动后只有命令行交互和 API,但这个时代大家早习惯了图形界面。社区里最成熟的开源方案是 Open WebUI,它是原来 Ollama WebUI 的升级版,功能非常丰富,支持多用户、文件上传、RAG 知识库、模型管理等等。
部署 Open WebUI 最省心的方式是 Docker:
docker run -d -p 3000:8080 \
-v open-webui:/app/backend/data \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
这里最关键的参数是
OLLAMA_BASE_URL
,让容器内的 Open WebUI 能找到宿主机上 Ollama 的服务地址。Windows 和 macOS 的 Docker Desktop 用
host.docker.internal
,Linux 则要换成
http://172.17.0.1:11434
或者直接用宿主机 IP。
装完之后浏览器打开
http://localhost:3000
,第一次访问会要求注册管理员账号,然后就能在网页上选择模型对话了。整个界面非常干净,跟 ChatGPT 的交互模式很接近,基本不需要给团队成员培训。
4.2 轻量自建 Web 前端的思路
如果你不想为了一个对话界面就引入 Docker 和那么重的依赖,也可以用轻量方案自己搭一个。思路非常简单:写一个纯前端的 HTML 页面,用 JavaScript 直接请求 Ollama 的 API。
下面是一个最简示例:
<!DOCTYPE html>
<html>
<head><title>Local LLM</title></head>
<body>
<textarea id="prompt" rows="4" cols="60"></textarea>
<button onclick="send()">发送</button>
<pre id="output"></pre>
<script>
async function send() {
const prompt = document.getElementById('prompt').value;
const response = await fetch('http://localhost:11434/api/generate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
model: 'qwen2.5:7b',
prompt: prompt,
stream: false
})
});
const data = await response.json();
document.getElementById('output').textContent = data.response;
}
</script>
</body>
</html>
这个页面虽然简陋,但已经把完整链路跑通了。你可以在它的基础上加历史记录、改样式、加流式输出,甚至可以嵌入到公司内部的其他系统里,变成一个自定义的 AI 助手组件。
更进阶一点的做法是用 Flask 或 FastAPI 写一个后端代理,在中间层做用户鉴权、请求日志、模型路由。我给别人做内网演示时经常采用这种结构,一个 Python 后端加一个前端页面,就能实现多用户访问同一台机器上的模型。
4.3 Web 端安全与访问控制注意事项
本地模型接上 Web 界面之后,安全就是一个不能回避的问题。默认情况下 Ollama 的 API 是没有任何鉴权的,谁拿到端口就能调用你的模型,等于把你的算力变成了免费公共资源。
我强烈建议做两层防护。第一层,如果不是需要外网访问,务必让 Ollama 只监听本机地址。通过设置环境变量
OLLAMA_HOST=127.0.0.1
来限定监听地址,这是最基础的保护。第二层,如果有多人访问需求,一定要在 Web 服务前面加一层反向代理(比如 Nginx)或者直接依赖 Open WebUI 自带的用户系统来限制访问,不要直接暴露
11434
端口。
另外,你要知道本地模型生成的内容同样可能存在偏见或不当内容,虽然模型本身已经做了对齐,但不是万无一失。如果部署在团队或公共环境里,最好制定简单的使用规范,明确这东西用来干什么、不干什么,这也是对自己的一种保护。从“违禁图片”这类搜索热词的讨论热度能看出,大家对这块还是有不少疑虑的,负责任地使用比无意触发问题要体面得多。
5. 接入 API:Ollama 的接口协议与编程调用
5.1 Ollama 原生 API:generate 与 chat 详解
Ollama 暴露了一套完整的 REST API,最常用的两个端点是
/api/generate
和
/api/chat
。
/api/generate
是最底层的生成接口,纯补全风格,不区分系统和用户角色。它的请求结构大概是:
{
"model": "qwen2.5:7b",
"prompt": "用一句话解释什么是数据库索引",
"stream": false,
"options": {
"temperature": 0.7,
"num_ctx": 4096
}
}
返回的 JSON 里有
response
字段就是模型生成的文本。把
stream
设为
true
则走 SSE 流式返回。
/api/chat
则是 OpenAI 风格的多轮对话接口,请求体长这样:
{
"model": "qwen2.5:7b",
"messages": [
{ "role": "system", "content": "你是一个耐心的老师。" },
{ "role": "user", "content": "什么是递归?" }
],
"stream": false
}
这是我日常写应用时最常用的接口,因为可以直接复用现有的大模型聊天逻辑。
5.2 OpenAI 兼容接口:一行配置切换服务商
Ollama 从很早就内置了 OpenAI 兼容端点
/v1/chat/completions
,这绝对是最有价值的功能之一。它意味着所有用
openai
Python 包或 OpenAI 官方 SDK 写的代码,都可以通过修改
base_url
和
api_key
来无缝切换到本地模型,而不需要改其他任何代码。
Python 示例:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # 本地服务无所谓,随便填
)
response = client.chat.completions.create(
model="qwen2.5:7b",
messages=[
{"role": "system", "content": "你是一位严谨的技术顾问。"},
{"role": "user", "content": "帮我写一个 Python 函数,判断一个字符串是不是回文。"}
],
temperature=0.3
)
print(response.choices[0].message.content)
代码写完后你会发现,本地调试完直接改一行
base_url
换成 DeepSeek、OpenAI 或者通义千问的云端 API,整个应用不用再做任何修改。这种切换能力在开发阶段特别值钱,因为你可以把大量的重复请求在本地完成,成本几乎为零,最后上线前再切到云端高质量模型上跑正式数据。
5.3 API 参数调优:温度、上下文长度与采样策略
在 API 层,可调参数比你想象的多,几个最关键的我来展开讲一下。
temperature
控制输出随机性,值越大回答越发散。代码生成建议 0.1-0.3,创意写作可以 0.7-1.0。日常问答我常用 0.7。
num_ctx
是上下文窗口长度,注意这跟模型本身的训练长度是两回事。默认值在不同模型上不一致,有些只有 2048,如果你的输入比较长,需要显式调大。Ollama 可以利用模型支持的更大上下文,但显存占用也会跟着涨。我的做法是先用
ollama show 模型名
看默认值,再根据自己实际输入长度按需调整。
top_p
是核采样,一般跟
temperature
配合使用。社区的经验是两者不要同时调到很大的值,否则输出会变得失控。
除此之外还有个容易被忽略的点:系统提示词(system prompt)的质量直接决定模型表现。同一个模型,给了明确系统提示词和没给的回答质量天差地别。你可以像给下属布置工作一样写系统提示词:说明角色、规定输出格式、限定范围、告诉它不知道就直说。
5.4 DeepSeek 等云端 API 的兼容调用与上下文限制
很多朋友搜“DeepSeek API 如何调用”是因为被上下文长度限制的报错卡住了。原文里的
api error: 400 this model's maximum context length is 1048576 tokens
这个报错很典型。1048576 是个很大的数,说明 DeepSeek 某些模型支持很长的上下文,但如果你把几十万 token 的文本一次性塞进去,网络传输和首字延迟会非常夸张,而且费用也极高。
这类问题的处理思路有两条。一是确认代码里传进去的 history 是不是越积越长了。很多开发者把多轮对话的 messages 全部保留,导致请求体积膨胀,随着对话进行最终触发上限。解决办法是做一个滑动窗口,只保留最近 N 轮消息,或者对历史内容做摘要压缩。
二是明确定位是请求端还是模型端的问题。在 OpenAI 兼容的协议下,出问题一般会返回带错误信息的 JSON,仔细读里面的
message
字段往往能找到真正原因。别一看到 400 就慌,先看 body 里怎么说。
5.5 用 Python 脚本封装一个简单的本地聊天服务
最后分享一个我常用的封装思路。我经常需要在一个内网小工具里集成对话能力,做法是用 FastAPI 包一层,把 Ollama 的调用封装成更符合业务场景的接口。
from fastapi import FastAPI
from pydantic import BaseModel
import ollama
app = FastAPI()
class ChatRequest(BaseModel):
message: str
history: list = []
@app.post("/chat")
def chat(req: ChatRequest):
messages = [{"role": "system", "content": "你是内部知识助手。"}]
messages.extend(req.history)
messages.append({"role": "user", "content": req.message})
resp = ollama.chat(model="qwen2.5:7b", messages=messages)
return {"reply": resp["message"]["content"]}
注意这里直接用了
ollama
的 Python 库,而不是写 HTTP 请求,代码瞬间简洁很多。这个服务起来之后,任何系统只需要一个 HTTP POST 请求就能获得 AI 能力,对接成本极低。
6. 常见问题与排查技巧实录
6.1 上下文长度超限与请求过大
这个报错在接 API 时非常高频。Ollama 报错和云端 API 报错本质是一回事:你传的输入超出了模型窗口。解决路径前面提过,一是检查代码的 messages 拼接逻辑是不是把历史越堆越长,二是显式设置合适的
num_ctx
。我在调试阶段会写一行日志打印请求里的总 token 数,大概估一下数据量,心里有数再请求,能省很多时间。
6.2 端口冲突与服务未启动
Ollama 默认监听
11434
端口。如果你遇到连接失败,先确认服务有没有真的在跑:
ollama ps
curl http://localhost:11434
如果 curl 无响应,大概率服务没启动。Windows 上检查系统托盘的 Ollama 图标,Linux 上检查 systemd 状态。还有种情况是端口被其他程序占用,可以改环境变量
OLLAMA_HOST
指定其他端口。
6.3 推理速度慢与显存溢出
速度慢先分清是生成速度本身慢,还是首次加载慢。首次加载要把模型从磁盘读入显存,7B 模型大约要等十几秒,之后就会正常。如果持续很慢,大概率是显存不够,Ollama 退化成 CPU 推理了,用
ollama ps
看一眼,
PROCESSOR
那列会告诉你用的是 GPU 还是 CPU。
显存溢出时 Ollama 一般不会直接崩溃,而是报错并可能自动换 CPU 重跑。遇到这种情况,最直接的方案是换成更小的量化版本或者更小的模型,别硬撑。
6.4 模型乱答与中文输出差
这个问题多数出在模型选择或 prompt 模板不匹配上。我踩过最典型的一次是直接拿一个英文微调模型做中文问答,结果输出中英混杂、语气怪异。解决方案就是换用中文能力强的基座模型(Qwen 系列表现稳定),同时把系统提示词里的语言要求写清楚,比如直接写“请用简体中文回答”。
6.5 常见问题速查表
| 现象 | 可能原因 | 处理建议 |
|---|---|---|
| 下载速度极慢 | 官方源网络不佳 | 设置国内镜像、手动下载 GGUF 后导入 |
| 请求超时 | 模型推理慢于客户端超时时间 | 调大客户端超时,或用更小模型 |
| 上下文长度超限 | messages 历史过长或 num_ctx 太小 | 滑动窗口截断历史、调大 num_ctx |
| login failed 报错 | 环境变量未生效 | 检查拼写、重启终端、curl 验证接口 |
| 推理速度骤降 | 显存不足,回退 CPU |
用
ollama ps
确认,换小模型
|
| 中文输出差 | 模型语言能力弱或提示词没写清 | 换 Qwen 系列,系统提示词指定语言 |
| 模型被外部调用 | 端口未限制访问 |
设置
OLLAMA_HOST=127.0.0.1
,加反向代理鉴权
|
结语:一点个人经验和建议
最后分享几个我长期使用下来的心得。
第一,本地部署大模型的本质是“用显卡换隐私、用性能换成本”。如果你的场景对隐私不敏感、也不在乎 API 费用,其实没必要折腾本地部署;但如果你的场景需要高并发、需要保密、需要离线运行,那 Ollama 这套方案会是你用过最顺手的工具。
第二,模型选择要克制。很多人一上来就想跑 70B 大模型,结果硬件不够,体验极差。我现在的原则是:硬件允许范围内选最小的可用模型,先把链路跑通,再根据效果逐步升级。一个跑得流畅的 7B 模型,实际体验远胜一个卡成 PPT 的大模型。
第三,环境变量和配置文件要管理好。我遇到过太多次“昨天还能用今天突然不行了”的情况,最后排查发现是环境变量被改了或者配置被覆盖了。现在我会把所有 Ollama 相关的环境变量集中写在一个配置文件里并做好注释,每次改完备注一行日期和原因,能省掉大量无意义的排障时间。
本地大模型这个领域发展太快,今天推荐的模型明天可能就过时了。但工具背后的思路是稳定的:用标准接口解耦前后端,用分层架构隔离变化。你只要把 Ollama 这套基础玩熟,无论以后换什么模型、换什么前端,都能很快上手。希望这篇实战记录能帮你把这条链路顺畅地跑通。
更多推荐
所有评论(0)