<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MacOS on YennJ12 Engineering Blog</title><link>https://yennj12.js.org/yennj12_blog_V4/tags/macos/</link><description>Recent content in MacOS on YennJ12 Engineering Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Sun, 19 Jul 2026 09:00:00 +0800</lastBuildDate><atom:link href="https://yennj12.js.org/yennj12_blog_V4/tags/macos/feed.xml" rel="self" type="application/rss+xml"/><item><title>ollama on mac - part 5 - 工具呼叫、多模型服務與進階實踐</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/ollama-on-mac-part5-advanced-zh/</link><pubDate>Sun, 19 Jul 2026 09:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/ollama-on-mac-part5-advanced-zh/</guid><description>大多數人裝完 Ollama，跑幾句 ollama run llama3，覺得「喔，本地也能聊天」，就把它當成離線玩具。 少數人會把它接進 App、串 API，當成一個省錢的雲端替代品。 但真正把 Ollama 用透的人，會把它當成一個能跑 agent、能看圖、能推理、能上生產的本地 LLM 平台。 這篇是全系列的最後一塊拼圖：把前四篇的能力組合起來，蓋出真正能用的東西。
一、從「會跑模型」到「用模型蓋東西」 前面四篇，我們一路走過：
Part 1：把 Ollama 裝起來，跑出第一個本地模型。 Part 2：認識公開模型生態，學會依任務與硬體選型（量化、參數量）。 Part 3：用 REST API 與自訂 Modelfile 把模型變成可程式化的服務。 Part 4：把 Ollama 接進真實應用（chatbot、RAG、streaming）。 到這裡，你已經會「呼叫模型」了。但呼叫模型只是起點。真正有價值的系統，是讓模型能：
主動使用工具（查天氣、查資料庫、算數）——這是 agent 的核心。 看得懂圖片（截圖、發票、手寫）——多模態。 會多步推理（數學、規劃、除錯）——reasoning 模型。 跑得夠快、記憶體不爆——效能調校。 同時服務多個模型與請求——並行架構。 安全地被遠端存取——這一點做錯會出大事。 穩定地待在生產環境——監控、版本、磁碟、log。 本篇就把這七件事一次講清楚。這是全系列最長、最「工程」的一篇，建議搭配一台 Apple Silicon 的 Mac 邊讀邊試。
核心心態轉換：前四篇你是「模型的使用者」；這一篇開始，你是「本地 LLM 系統的架構師」。
二、工具呼叫 / Function Calling：讓模型會用工具 2.1 最重要的觀念：模型不執行工具 新手最大的誤解，是以為「function calling」代表模型會自己去查天氣、自己去跑資料庫。不是。
模型能做的只有一件事：根據對話，決定「現在應該呼叫哪個工具、帶什麼參數」，然後把這個決定用結構化 JSON 吐出來。 真正去執行工具的是你的程式。執行完，你再把結果餵回去，模型才根據結果產生最終回答。
┌──────────────────────────────────────────────────────────────┐ │ Tool Calling 迴圈 │ └──────────────────────────────────────────────────────────────┘ 使用者問題 │ ▼ ┌─────────┐ 「我需要 get_temperature(&amp;#39;台北&amp;#39;)」 │ Model │──────────────────────────────┐ └─────────┘ ▼ ▲ ┌──────────────────┐ │ │ 你的程式 │ │ role:&amp;#34;tool&amp;#34; 把結果餵回 │ 真正執行工具 │ │ content:&amp;#34;30°C&amp;#34; │ (查 API/DB/算數) │ └──────────────────────────└──────────────────┘ │ ▼ ┌─────────┐ │ Model │──▶ 「台北目前 30°C，比東京的 18°C 高。」 └─────────┘ (沒有再要求工具 → 迴圈結束) 關鍵：模型不執行、不上網、不碰你的資料庫。它只負責「決策」，執行權永遠在你手上——這也正是安全性的來源。</description></item><item><title>ollama on mac - part 3 - REST API 與自訂 Modelfile</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/ollama-on-mac-part3-api-modelfile-zh/</link><pubDate>Fri, 17 Jul 2026 09:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/ollama-on-mac-part3-api-modelfile-zh/</guid><description>大多數人用 Ollama:打開終端機,ollama run llama3.2,聊兩句就關掉。 資深工程師用 Ollama:把它當成一台跑在 localhost:11434 的本機 LLM 伺服器。 前者是玩具,後者是可以接進整個系統的基礎設施。 這一篇,我們把那道 HTTP 門推開。
在 Part 1 我們裝好了 Ollama、跑起第一個模型;Part 2 我們把公開模型全覽過一遍、學會怎麼選型。到這裡為止,你都還停留在 ollama run 這個「門面」。
但 ollama run 只是一個 CLI 包裝,它底下真正在做事的,是一個 HTTP 伺服器。只要你懂 REST API 與 Modelfile,你就能把 Ollama 從一個聊天玩具,升級成一個可以被任何程式語言呼叫、可以客製 persona、可以輸出結構化 JSON 的本機推論引擎。 這一篇是整個系列裡最偏「參考手冊」的一篇,建議收藏後隨查隨用。
一、為什麼 CLI 只是門面 當你輸入 ollama run llama3.2,實際發生的事情是:
CLI 檢查後台是否有 ollama serve 在跑(GUI App 會自動幫你起)。 CLI 透過 HTTP 呼叫 http://localhost:11434/api/chat。 伺服器把模型載入記憶體、跑推論、把結果串流回 CLI。 CLI 只是把串流的文字印在你的終端機上。 換句話說,你在終端機看到的每一個字,都是先經過一次 HTTP 往返的。CLI 能做的,你的程式全部都能做,而且能做得更多:控制參數、拿到 token 計數、強制 JSON 輸出、同時對多個模型下指令。</description></item><item><title>ollama on mac - part 1 - 安裝與第一個本地模型</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/ollama-on-mac-part1-installation-zh/</link><pubDate>Wed, 15 Jul 2026 09:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/ollama-on-mac-part1-installation-zh/</guid><description>大部分人第一次聽到「在自己的 Mac 上跑 LLM」,直覺反應是:那不是要一張幾萬塊的顯示卡、還要會編譯一堆奇怪的 C++ 專案嗎? 現實是:在 Apple Silicon 的 Mac 上,你只要下載一個 .dmg、拖進 /Applications,再打一行 ollama run llama3.2,兩分鐘後就能跟一個本地模型對話。 沒有 API 金鑰、沒有帳單、沒有網路也能用,而且你的 prompt 永遠不會離開這台電腦。 這一系列會帶你從安裝一路走到 API 整合與工具呼叫;這篇 Part 1,我們先把地基打穩。
一、為什麼要在本機跑 LLM? 在動手安裝之前,先搞清楚一件事:為什麼不直接用 OpenAI、Claude 這類雲端 API 就好? 這決定了 Ollama 值不值得你花時間。
本地跑 LLM 的核心價值有五個:
隱私(Privacy):你的 prompt、公司的程式碼、病歷、合約草稿,全部留在這台 Mac 上,不會經過任何第三方伺服器。對受法規管制的產業(醫療、金融、法務)這幾乎是唯一能用 LLM 的方式。 離線(Offline):飛機上、咖啡廳的爛 Wi-Fi、公司內網隔離環境,只要模型已經下載好,完全不需要網路。 零 API 費用(Zero cost):雲端 API 是按 token 計費,重度使用一個月幾百美金跑不掉。本地模型下載後,你想 call 幾百萬次都是免費的,只花電費。 低延遲(Low latency):沒有網路來回(round-trip),第一個 token 通常在幾十毫秒內就出來,適合需要即時回饋的互動場景。 可實驗(Experimentation):想試不同模型、改參數、自訂 system prompt、做 fine-tune、跑 RAG,本地環境讓你毫無顧忌地亂玩,不用擔心帳單爆炸。 當然,天下沒有白吃的午餐。本地跑 LLM 的取捨大致如下:</description></item></channel></rss>