AI

人工智能相关文章

Ollama本地部署:开源大模型的私有化运行指南

一、Ollama概述

1.1 什么是Ollama

Ollama是一个简化本地大模型运行的工具,支持:
- 一键部署开源大模型
- 丰富的模型库
- GPU加速支持
- OpenAI兼容API

1.2 支持的模型

  • Llama 3 (8B, 70B)

  • Mistral (7B)

  • Qwen (7B, 14B)

  • CodeLlama

  • Phi-3

  • Gemma

二、安装配置

2.1 macOS/Linux安装

# 安装Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 验证安装
ollama --version

2.2 Windows安装

从 https://ollama.com/download 下载安装包

2.3 GPU支持

# NVIDIA GPU
ollama serve

# 查看GPU使用
nvidia-smi

三、模型管理

3.1 下载模型

# 下载Llama 3
ollama pull llama3

# 下载Mistral
ollama pull mistral

# 下载Qwen
ollama pull qwen

# 查看已下载模型
ollama list

3.2 自定义模型

# 从Modelfile创建
ollama create my-model -f Modelfile

# Modelfile示例
FROM mistral
PARAMETER temperature 0.7
PARAMETER top_p 0.9
SYSTEM "你是一个专业的技术顾问"

四、API使用

4.1 命令行交互

# 交互式对话
ollama run llama3

# 单次请求
ollama generate --model llama3 "解释什么是量子计算"

4.2 REST API

# 聊天接口
curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "messages": [
    {"role": "user", "content": "你好"}
  ]
}'

# 生成接口
curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "写一个Python快速排序"
}'

4.3 Python SDK

import ollama

# 聊天
response = ollama.chat(model='llama3', messages=[
    {'role': 'user', 'content': '你好'}
])
print(response['message']['content'])

# 生成
response = ollama.generate(model='llama3', prompt='解释REST API')
print(response['response'])

五、性能优化

5.1 模型量化

# 量化级别
# q2_K: 2bit量化,占用小
# q4_0: 4bit量化,推荐
# q5_K_M: 5bit量化,质量较好

ollama pull llama3:70b-q4_0

5.2 GPU配置

# 查看GPU信息
ollama ps

# 设置GPU层数
OLLAMA_NUM_GPU=50 ollama run llama3

六、Ollama作为OpenAI替代

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama"  # 不需要真实key
)

response = client.chat.completions.create(
    model="llama3",
    messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)

七、总结

Ollama让本地大模型运行变得简单:
1. 一键部署:不需要复杂的配置
2. 模型丰富:支持主流开源模型
3. API兼容:可直接替换OpenAI
4. GPU加速:充分利用显卡