Jetson Orin Nano 成功用 llama.cpp 運行 gemma-4-E2B. 測試 透過SLM 來編程, 以下是讓OpenCode 可以調用 SLM 的設定.
cat opencode.json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"llama.cpp": {
"npm": "@ai-sdk/openai-compatible",
"name": "llama-server (local)",
"options": {
"baseURL": "http://SERVER_IP_ADDRESS:8080/v1"
},
"models": {
"gemma-4-E2B-it-UD-Q4_K_XL": {
"name": "gemma-4-E2B-it-UD-Q4_K_XL",
"limit": {
"context": 100000,
"output": 65536
}
}
}
}
}
}
結論, SLM 的不夠聰明,比方說,「開啓一個檔案隨機跳到某一行, 讀15行出來」的做法,就有差異:
SLM(全部讀進記憶體): - read_text().splitlines() 或 [line for line in f] 遍歷所有行並存成列表,再 random.sample 抽 15 行 - 記憶體 O(N),檔案越大越佔用
LLM(seek 隨機跳轉):
- 只取檔案總大小 → 隨機選一個位元偏移 → 跳過去校準到行首 → 直接讀 15 個非空行
- 記憶體 O(15),與檔案大小完全無關
留言