主题
Ollama 本地模型运行
Ollama 是最简单的本地运行 LLM 的工具,一行命令就能跑开源模型。
为什么用 Ollama
- 安装简单(比 Docker 还简单)
- 支持所有主流开源模型
- 提供 REST API(可以当成本地版的 OpenAI API)
- 支持 GPU 加速
- 数据完全本地(隐私安全)
安装
macOS
bash
brew install ollamaLinux
bash
curl -fsSL https://ollama.com/install.sh | shWindows
下载安装包:ollama.com/download
快速开始
bash
# 运行 Llama 3.1(会自动下载)
ollama run llama3.1
# 运行 Qwen2(中文好)
ollama run qwen2
# 运行 Phi-3(微软出品,小但强)
ollama run phi3
# 列出已安装的模型
ollama list
# 删除模型
ollama rm llama3.1常用模型
| 模型 | 大小 | 特点 |
|---|---|---|
| llama3.1:8b | 4.7GB | 通用,推荐 |
| llama3.1:70b | 40GB | 能力强,需要大显存 |
| qwen2:7b | 4.4GB | 中文好 |
| qwen2:72b | 41GB | 中文最强开源 |
| phi3:mini | 2.3GB | 小,快 |
| mistral:7b | 4.1GB | 英文好 |
API 使用
Ollama 启动后会监听 http://localhost:11434,提供兼容 OpenAI 的 API:
python
import requests
# 生成回答
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": "llama3.1",
"prompt": "什么是 RAG?",
"stream": False
}
)
print(response.json()["response"])兼容 OpenAI API
python
from openai import OpenAI
# 指向本地 Ollama
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # 随便填
)
response = client.chat.completions.create(
model="llama3.1",
messages=[{"role": "user", "content": "什么是 RAG?"}]
)
print(response.choices[0].message.content)自定义模型
创建 Modelfile(类似 Dockerfile):
dockerfile
FROM llama3.1
# 设置系统提示词
SYSTEM "你是一位 Java 技术专家,回答要简洁明了。"
# 设置参数
PARAMETER temperature 0.7
PARAMETER num_ctx 4096bash
# 构建自定义模型
ollama create my-java-expert -f Modelfile
# 运行
ollama run my-java-expert与 LangChain 集成
python
from langchain.llms import Ollama
llm = Ollama(model="llama3.1")
# 直接使用
print(llm("什么是 RAG?"))
# 在 Chain 中使用
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
prompt = PromptTemplate(
template="用一句话解释:{concept}",
input_variables=["concept"]
)
chain = LLMChain(llm=llm, prompt=prompt)
print(chain.run("Transformer"))硬件要求
| 模型 | 最低 RAM | 推荐 GPU | 推理速度 |
|---|---|---|---|
| 7B | 8GB | 无(CPU 可用) | 慢 |
| 7B | 8GB | GTX 3060 | 快 |
| 13B | 16GB | RTX 3090 | 快 |
| 70B | 64GB | A100 | 快 |