Ollama 运行模型
·
Ollama 运行模型指南
1. 基本运行命令
交互式运行
# 运行默认模型(如果已下载)
ollama run
# 运行指定模型
ollama run llama3
ollama run qwen2:7b
ollama run mistral
# 运行特定版本
ollama run llama3:8b
ollama run llama3:70b
ollama run qwen2:1.5b
非交互式运行(单条命令)
# 直接发送提示词
ollama run llama3 "解释一下量子力学"
# 使用 stdin 输入
echo "写一首关于春天的诗" | ollama run llama3
# 从文件读取
ollama run llama3 < prompt.txt
通过 API 调用
# 生成补全
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt": "为什么天空是蓝色的?",
"stream": false
}'
# 对话补全(推荐)
curl http://localhost:11434/api/chat -d '{
"model": "llama3",
"messages": [
{"role": "user", "content": "你好,请介绍一下自己"}
],
"stream": false
}'
2. 常用模型推荐
| 模型 | 大小 | 特点 | 适用场景 |
|---|---|---|---|
| llama3:8b | 4.7GB | 平衡性能与速度 | 通用对话、代码辅助 |
| llama3:70b | 40GB | 高质量回答 | 复杂推理、专业领域 |
| qwen2:7b | 4.1GB | 中文优化 | 中文内容生成 |
| qwen2:72b | 40GB | 中文最强 | 专业中文任务 |
| mistral:7b | 4.1GB | 高效轻量 | 快速响应场景 |
| gemma:2b | 1.4GB | 超轻量 | 低配置设备 |
| codellama:7b | 3.8GB | 代码专用 | 编程辅助 |
| deepseek-coder:6.7b | 3.8GB | 代码生成 | 代码补全、解释 |
3. 运行参数配置
命令行参数
# 设置温度(随机性)
ollama run llama3 --temperature 0.7
# 设置最大 token 数
ollama run llama3 --num-predict 500
# 设置上下文窗口
ollama run llama3 --num-context 4096
# 多参数组合
ollama run llama3 --temperature 0.5 --num-predict 1000 --num-context 8192
通过 Modelfile 自定义
# 创建 Modelfile
FROM llama3
PARAMETER temperature 0.7
PARAMETER num_predict 1000
PARAMETER num_ctx 4096
SYSTEM You are a helpful coding assistant who speaks in Chinese.
# 创建自定义模型
ollama create my-coding-assistant -f Modelfile
# 运行自定义模型
ollama run my-coding-assistant
4. 会话管理
多轮对话
# 启动后自动进入多轮对话模式
ollama run llama3
# 在对话中:
# - 输入问题继续对话
# - 输入 /bye 退出
# - 输入 /set parameter temperature 0.5 调整参数
# - 输入 /show info 查看模型信息
# - 输入 /help 查看帮助
保持会话状态
# 使用 --keepalive 参数保持会话
ollama run llama3 --keepalive 30m
# 在 API 中设置
curl http://localhost:11434/api/chat -d '{
"model": "llama3",
"messages": [...],
"keep_alive": "30m"
}'
5. 批量处理
脚本批量调用
#!/bin/bash
# batch_process.sh
PROMPTS=(
"解释机器学习的基本概念"
"写一个Python函数计算斐波那契数列"
"总结这篇文章的主要观点"
)
for prompt in "${PROMPTS[@]}"; do
echo "处理:$prompt"
ollama run llama3 "$prompt" --temperature 0.5
echo "---"
done
使用 Python 脚本
import requests
import json
def run_ollama(prompt, model="llama3", temperature=0.7):
response = requests.post(
"http://localhost:11434/api/chat",
json={
"model": model,
"messages": [{"role": "user", "content": prompt}],
"temperature": temperature,
"stream": False
}
)
return response.json()["message"]["content"]
# 使用示例
result = run_ollama("写一首关于编程的诗")
print(result)
6. 性能优化
选择合适模型
- 低配置设备:选择 1.5B-3B 参数模型
- 中等配置:选择 7B-8B 参数模型
- 高配置设备:选择 70B+ 参数模型
GPU 加速
# 检查 GPU 使用情况
ollama ps
# 强制使用 GPU(如果支持)
# Ollama 会自动检测并使用 GPU,无需额外配置
调整并发
# 设置最大并发数
export OLLAMA_NUM_PARALLEL=4
# 设置最大内存使用
export OLLAMA_MAX_LOADED_MODELS=2
7. 实用技巧
流式输出
# 终端流式显示
ollama run llama3 "写一个故事" --stream
# API 流式输出
curl http://localhost:11434/api/chat -d '{
"model": "llama3",
"messages": [{"role": "user", "content": "写一个故事"}],
"stream": true
}'
系统提示词预设
# 创建角色
ollama run llama3 --system "你是一位经验丰富的Python程序员,请用简洁的代码回答问题"
# 在对话中设置
ollama run llama3
>>> /set system 你是一位专业的翻译,请将以下文本翻译成英文
查看模型信息
# 查看模型详细信息
ollama show llama3
# 查看模型参数
ollama show --modelfile llama3
# 查看已下载模型列表
ollama list
8. 常见问题
问题:模型运行缓慢
解决方案:
- 选择更小的模型版本
- 减少
num_predict参数 - 确保使用 GPU 加速
问题:内存不足
解决方案:
- 使用量化版本(如
llama3:8b-q4_0) - 减少上下文窗口大小
- 关闭其他占用内存的应用
问题:回答质量不高
解决方案:
- 调整
temperature参数(0.3-0.7 之间) - 使用更具体的提示词
- 选择更大参数的模型
运行模型前,请确保已下载对应模型(ollama pull <model-name>)。首次运行会自动下载模型文件。
更多推荐

所有评论(0)