一、安裝Llama 3.2
使用目前最簡單、效能最好的工具 Ollama 來安裝 Llama 3.2。
第一步:更新系統
剛安裝好的系統最好先更新一下,避免相容性問題。 複製這行指令貼上,按 Enter:
sudo apt update && sudo apt upgrade -y
等很久
這是最關鍵的一步。這行指令會自動下載 Ollama 軟體並設定好所有環境。
curl -fsSL https://ollama.com/install.sh | sh
如果看到 NVIDIA GPU not detected 的警告不用理它(因為 Pi 使用的是 CPU)。
最後看到 The Ollama API is now running on 127.0.0.1:11434 代表安裝成功。
現在,我們要叫 Ollama 去把 Meta 的 Llama 3.2 (3B版本) 抓下來並直接執行。
ollama run llama3.2
看到 >>> 符號,就代表 AI 已經準備好聽您說話了。您可以直接輸入中文測試:
>>> 你好,請用繁體中文自我介紹。
第一次回應會稍慢:因為模型正在載入記憶體 (RAM)。
打字速度:在 Pi 5 上,您應該會看到它像人類打字一樣,一個字一個字跑出來(大約每秒 5~8 個字),這是正常的。
離開對話:如果想結束,請輸入 /bye 或按鍵盤的 Ctrl + D。
課程大綱:從對話到開發
L1 入門課: 馴服 AI (Prompt Engineering) 與解決中文問題。
L2 進階課: 打造專屬分身 (Modelfile) — 建立「備課小幫手」。
L3 實戰課: Python 串接 — 將 AI 整合進您的程式碼中。
Llama 3.2 雖然支援多語言,但在預設狀態下,它有時會跳回英文,或使用中國用語(例如「信息」、「視頻」)。我們第一步要學會用「系統提示詞 (System Prompt)」來控制它。
練習目標: 讓 AI 穩定輸出台灣繁體中文。
請在終端機輸入:ollama run llama3.2 "請將以下這段話翻譯成台灣國小學生能聽懂的繁體中文,語氣要親切:'Photosynthesis is the process used by plants to convert light energy into chemical energy.'"
每次都要打「請用繁體中文...」很累。我們可以利用 Modelfile 技術,把您的教學風格「燒錄」進一個新的模型裡。
練習目標: 建立一個名為 teacher-bot 的模型,它預設就是一位資深的台灣國小老師。
建立設定檔:
nano Modelfile
FROM llama3.2
# 設定溫度 (0.7 代表有創意但不至於胡說八道)
PARAMETER temperature 0.7
# 設定系統角色 (這是最核心的部分)
SYSTEM """
你是一位經驗豐富的台灣國小老師。
你的說話風格親切、鼓勵性強,並且善於將複雜的概念簡化。
請務必使用台灣繁體中文(Traditional Chinese, Taiwan)回答。
避免使用中國大陸用語(如:質量、視頻、信息)。
"""
儲存並離開 (Ctrl+O -> Enter -> Ctrl+X)。
建立新模型:
ollama create teacher-bot -f Modelfile
運行它:
ollama run teacher-bot
請幫我設計一個關於「摩擦力」的 10 分鐘課堂活動,要在教室內就能玩。
既然您有開發 Web 系統(圖書、報修)的經驗,這一課最重要。學會這個,您就可以把 AI 功能加到您未來的 Web App 裡(例如:圖書系統自動生成書籍推薦語)。
練習目標: 寫一個 Python 腳本,讓 AI 幫您寫一段「班級聯絡簿」的短語。
安裝 Python 庫:
pip install ollama
(如果是受管理的環境,可能需要 pip install ollama --break-system-packages,或使用虛擬環境)
建立 Python 檔案:
nano ai_helper.py
import ollama
import sys
import io
# 【關鍵修正】強制將輸出編碼設為 UTF-8,解決 Big5 錯誤
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
# 顯示提示訊息
print("正在思考中... (Pi 5 努力運算中)")
try:
# 這裡呼叫 teacher-bot
response = ollama.chat(model='teacher-bot', messages=[
{
'role': 'user',
'content': '明天要去校外教學(動物園),請幫我寫一段給家長的聯絡簿提醒事項,語氣要溫暖,提醒要帶水壺和帽子。'
},
])
# 顯示分隔線與結果
print("---------------------------------")
print(response['message']['content'])
print("---------------------------------")
except Exception as e:
print(f"發生錯誤: {e}")
執行程式:
python3 ai_helper.py