使用 Ollama 在本地運行大型語言模型,支援 Llama、Mistral、Gemma 等熱門模型,完全離線運作保護隱私
專案簡介
Ollama 是一個讓你在本地輕鬆運行大型語言模型(LLM)的工具。支援 Llama 3、Mistral、Gemma、DeepSeek 等熱門開源模型,無需複雜設定即可開始使用。
GitHub Stars: 162K+
為什麼選擇 Ollama
- 完全離線 - 資料不離開本機,保護隱私
- 簡單易用 - 一行指令即可運行模型
- 模型豐富 - 支援數十種開源模型
- API 相容 - 提供 OpenAI 相容 API
- 跨平台 - 支援 macOS、Linux、Windows
安裝
macOS / Linux
1
| curl -fsSL https://ollama.com/install.sh | sh
|
Docker
1
| docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
|
GPU 支援(NVIDIA)
1
| docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
|
基本使用
運行模型
1
2
3
4
5
6
7
8
| # 運行 Llama 3.3
ollama run llama3.3
# 運行 DeepSeek
ollama run deepseek-r1
# 運行程式碼模型
ollama run codellama
|
列出已下載模型
下載模型(不運行)
刪除模型
熱門模型推薦
| 模型 | 參數量 | 用途 | 指令 |
|---|
| llama3.3 | 70B | 通用對話 | ollama run llama3.3 |
| deepseek-r1 | 7B-671B | 推理能力強 | ollama run deepseek-r1 |
| mistral | 7B | 輕量高效 | ollama run mistral |
| codellama | 7B-34B | 程式碼生成 | ollama run codellama |
| gemma2 | 2B-27B | Google 開源 | ollama run gemma2 |
| phi3 | 3.8B | 微軟小模型 | ollama run phi3 |
| qwen2.5 | 0.5B-72B | 阿里通義 | ollama run qwen2.5 |
API 使用
Ollama 提供 REST API,預設監聽 http://localhost:11434。
生成回應
1
2
3
4
5
| curl http://localhost:11434/api/generate -d '{
"model": "llama3.3",
"prompt": "什麼是 Kubernetes?",
"stream": false
}'
|
對話模式
1
2
3
4
5
6
| curl http://localhost:11434/api/chat -d '{
"model": "llama3.3",
"messages": [
{"role": "user", "content": "解釋什麼是 Docker"}
]
}'
|
OpenAI 相容 API
1
2
3
4
5
6
| curl http://localhost:11434/v1/chat/completions -d '{
"model": "llama3.3",
"messages": [
{"role": "user", "content": "Hello!"}
]
}'
|
Python 整合
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| import ollama
# 簡單對話
response = ollama.chat(model='llama3.3', messages=[
{'role': 'user', 'content': '用 Python 寫一個快速排序'}
])
print(response['message']['content'])
# 串流回應
for chunk in ollama.chat(
model='llama3.3',
messages=[{'role': 'user', 'content': '解釋機器學習'}],
stream=True
):
print(chunk['message']['content'], end='', flush=True)
|
自訂模型(Modelfile)
建立 Modelfile:
1
2
3
4
5
6
7
8
9
10
11
12
| FROM llama3.3
# 設定系統提示
SYSTEM """
你是一位專業的資安顧問,專門回答網路安全相關問題。
請用繁體中文回答,並提供實際的技術建議。
"""
# 調整參數
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER num_ctx 4096
|
建立並運行:
1
2
| ollama create security-advisor -f Modelfile
ollama run security-advisor
|
與其他工具整合
LangChain
1
2
3
4
| from langchain_community.llms import Ollama
llm = Ollama(model="llama3.3")
response = llm.invoke("什麼是 SQL Injection?")
|
Open WebUI
1
2
3
4
5
| docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
ghcr.io/open-webui/open-webui:main
|
硬體需求
| 模型大小 | 最低記憶體 | 建議 GPU |
|---|
| 7B | 8GB RAM | 8GB VRAM |
| 13B | 16GB RAM | 12GB VRAM |
| 30B | 32GB RAM | 24GB VRAM |
| 70B | 64GB RAM | 48GB VRAM |
相關連結
延伸閱讀