Ollama 本地 LLM 部署與應用

使用 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

列出已下載模型

1
ollama list

下載模型(不運行)

1
ollama pull llama3.3

刪除模型

1
ollama rm llama3.3

熱門模型推薦

模型參數量用途指令
llama3.370B通用對話ollama run llama3.3
deepseek-r17B-671B推理能力強ollama run deepseek-r1
mistral7B輕量高效ollama run mistral
codellama7B-34B程式碼生成ollama run codellama
gemma22B-27BGoogle 開源ollama run gemma2
phi33.8B微軟小模型ollama run phi3
qwen2.50.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
7B8GB RAM8GB VRAM
13B16GB RAM12GB VRAM
30B32GB RAM24GB VRAM
70B64GB RAM48GB VRAM

相關連結

延伸閱讀

comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy