二、Ollama模型部署:下载并运行第一个模型

模型部署,说白了就是把大模型从网上下载到你的电脑里,然后让它跑起来。这一步是整个RAG知识库的基石。我见过不少新手在这步卡住,其实没那么复杂,咱们一步步来。

2.1 下载并运行第一个模型(llama3为例)

Ollama最方便的地方在于,一条命令就能搞定模型下载和运行。我个人习惯先看看本地有哪些模型,再决定下载什么。

# 查看本地已有模型
ollama list

# 下载并运行llama3(8B版本,适合大多数机器)
ollama run llama3

# 如果只想下载不运行
ollama pull llama3

第一次运行ollama run llama3时,它会自动下载模型。模型文件大概4-5GB,取决于网络速度。我记得有一次在客户现场,网络特别慢,等了快半小时才下完。所以建议你提前下载好,别等到演示时再干等。

小提示:如果下载中断,重新执行ollama pull会断点续传。这个功能救过我很多次。

2.2 模型参数调整

模型跑起来之后,参数调整是关键。Ollama支持通过Modelfile来定制模型行为。我刚开始用的时候,觉得默认参数就挺好,后来发现调参能显著提升效果。

# 创建一个Modelfile
FROM llama3

# 设置温度参数(控制创造性)
PARAMETER temperature 0.7

# 设置上下文长度
PARAMETER num_ctx 4096

# 设置top_p采样
PARAMETER top_p 0.9

几个核心参数我解释一下:

  • temperature:控制输出的随机性。0.1-0.3适合事实性问答,0.7-0.9适合创意生成。我在做知识库问答时,通常设0.2,回答更稳定。
  • num_ctx:上下文窗口大小。默认2048,我建议至少设4096。RAG场景下,你需要把检索到的文档片段塞进去,窗口太小会截断。
  • top_p:核采样参数。0.9是个不错的起点,如果觉得回答太发散,可以降到0.7。
避坑指南:我曾经把temperature设到1.5,结果模型开始胡言乱语,回答里出现了「地球是平的」这种离谱内容。所以,知识库场景下,保守一点准没错。

2.3 模型热加载与卸载

Ollama支持热加载,意思是你不用重启服务就能切换模型。这个功能在开发调试时特别爽。

# 查看当前运行的模型
ollama ps

# 卸载当前模型(释放内存)
ollama stop llama3

# 热加载另一个模型
ollama run mistral

# 或者用API方式加载
curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "你好"
}'

为什么需要热加载?你想想看,如果你的服务器只有16GB内存,同时跑两个7B模型肯定爆。用ollama stop先卸载一个,再加载另一个,内存就能复用。我在部署多租户系统时,就是靠这个特性来动态切换模型的。

注意:卸载模型时,正在进行的推理任务会被中断。建议在低峰期操作,或者先检查ollama ps确认没有活跃请求。

2.4 多模型管理

实际项目中,你往往需要多个模型配合使用。比如,用llama3做问答,用nomic-embed-text做向量化。Ollama管理多模型的方式很直观。

# 同时下载多个模型
ollama pull llama3
ollama pull mistral
ollama pull nomic-embed-text

# 查看所有模型
ollama list

# 删除不需要的模型
ollama rm llama3:7b

# 复制模型并重命名
ollama cp llama3 my-custom-llama

多模型管理有个小技巧:给模型打标签。比如你微调了一个版本,可以这样:

# 创建自定义模型
ollama create my-rag-model -f ./Modelfile

# 查看时就能区分
ollama list
# 输出示例:
# my-rag-model:latest    4.2 GB    2 hours ago
# llama3:latest          4.7 GB    3 days ago
# mistral:latest         4.1 GB    5 days ago

我个人习惯把模型按用途命名:rag-qa、rag-embedding、rag-rerank。这样一眼就能看出哪个模型干什么用。

核心逻辑:多模型管理的本质是「按需加载、及时卸载」。别让不用的模型占着内存,也别在需要时找不到模型。用ollama list定期检查,用ollama rm清理旧版本。
Ollama模型部署知识体系 Ollama模型部署 下载并运行模型 ollama run / pull 模型参数调整 temperature / num_ctx / top_p 热加载与卸载 ollama stop / API调用 多模型管理 ollama list / rm / cp 核心原则:按需加载、及时卸载、合理调参 避免内存浪费,确保模型响应质量

嗯,到这里,模型部署这块就讲完了。你可能会问:「这么多模型,我该选哪个?」我的建议是:先从llama3 8B开始,它够用、兼容性好。等熟悉了流程,再尝试其他模型。记住,模型不是越大越好,适合你的场景才是关键。