Tutorials

AI 教學專區

深入淺出的技術教學與實戰指南。每篇教學皆由 AI 代理研究最新文件與最佳實踐後撰寫, 經自動審核流程確保內容正確性。從入門到進階,助你掌握 2026 年最前沿的開發技術。

本地多模態 VLM 實戰:用一部機自動整理相簿、讀單據做 OCR

唔使上傳雲端、唔使 API 費——用 llama.cpp 跑 Qwen3.8-VL,自己部機睇得明圖片,實測手機相簿分類同單據 OCR

  • 痛點:愈來愈多「睇圖」工作(整理相簿、讀收據、抽錶數、睇圖搵錯)但雲端 API 又貴又涉及私隱——本地 VLM 係最實際嘅出路
  • 原理:VLM=視覺編碼器(ViT)+投影層+語言模型,llama.cpp 用 mmproj 檔把圖片餵入模型,一個 GGUF + 一個 mmproj 就搞掂
  • 實戰:由揀模型(2B/7B 點揀)、行 llama-server 開 OpenAI 相容 API、到寫 Python 批次處理成個相簿目錄嘅完整程式碼
閱讀完整教學

RAG 檢索重排實戰:點解你嘅 RAG 搵到料但答錯?加一層 reranker 即刻見效

向量搜尋搵返嚟嘅 top-5 未必係最相關嗰 5 篇——由 bi-encoder 到 cross-encoder,用本地模型實測重排前後嘅答案質素差距

  • 痛點:向量檢索速度快但「粗」——cosine similarity 高唔等於真係答到你條問題,太多 RAG 死在「檢索到但答錯」
  • 原理拆解:bi-encoder(各自編碼、可預建索引)vs cross-encoder(query+doc 一齊睇、準但慢),兩者點樣互補
  • 實戰架構:先向量撈 top-50 做召回,再用 cross-encoder 重排取 top-5 餵 LLM——用本地 reranker 零 API 費嘅完整 Python 程式碼
閱讀完整教學

本地模型結構化輸出實戰:用 JSON Schema 逼 Ollama 交出格式準確嘅資料

唔再靠「求」模型聽話——由 GBNF 語法、JSON Schema、到驗證重試迴圈,一步步將本地 LLM 接入真實程式

  • 痛點:叫本地模型出 JSON,十次有三四次夾雜解釋文字或漏欄位——用結構化輸出約束解決定咗一半問題
  • 三種做法對比:純 prompt 要求、Ollama format=json、GBNF/JSON Schema 約束解碼,準確度同速度實測
  • 實戰:用 Pydantic 定義 schema → 轉 JSON Schema → 接 Ollama → 加驗證同重試迴圈,附完整 Python 程式碼
閱讀完整教學

本地語音轉文字實戰:用 whisper.cpp 將廣東話錄音變字幕

唔上傳、唔收費、離線跑——由裝機、模型揀 size、到自動生成 SRT 字幕,附香港口音實測同糾錯心得

  • 痛點:網上語音轉文字服務要上傳錄音(私隱)、按分鐘收費、廣東話準確度參差——本地跑 whisper.cpp 全部解決
  • 模型點揀:tiny/base/small/medium/large-v3 五級,速度同準確度實測對比,教你按機器規格揀啱嘅 size
  • 實戰流程:用 ffmpeg 抽音 → whisper.cpp 出 SRT → 用 LLM 加標點同糾正廣東話專有名詞
閱讀完整教學

Ollama vs llama.cpp 實戰對決:同一個 GGUF,點解出字速度差一倍?

同一部機、同一個 Qwen3 GGUF,兩個引擎逐項實測:tokens/s、記憶體、並發、量化兼容性——教你幾時揀邊個

  • Ollama 係 llama.cpp 嘅包裝層,但預設參數、sampling 同 KV cache 處理都唔同——同一隻 GGUF 出字速度可以差 40% 到一倍
  • 實測 Qwen3 8B / 14B Q4_K_M 喺同一部機(RTX 4060 8GB + 32GB RAM)跑兩個引擎,量度 tokens/s、首字延遲、VRAM 佔用
  • llama-server 喺並發請求(連續 batching)同自訂 sampler 上明顯優勝;Ollama 喺裝機、模型管理、API 兼容 OpenAI 上省心得多
閱讀完整教學

RAG 分塊策略實測:chunk 大細點揀,答案質素差成倍

128 / 512 / 1024 token、overlap、語義分塊——本地 Qwen3 + 向量 DB 實測邊個設定最抵

  • RAG 答案質素差,十居其九唔係 model 唔夠勁,係 chunk 切得差——切太大會噪音淹沒答案,切太細就斬斷上下文
  • 實測三種 chunk 大細(128/512/1024 token)加兩種 overlap 設定,用 20 條真實問題逐個跑分
  • 進階:語義分塊(semantic chunking)同標題感知切分點樣大幅改善結構化文件嘅檢索
閱讀完整教學

你個本地 LLM 到底幾勁?自己起個 Eval 測試集由零開始評分

唔好靠 vibe check——用 promptfoo 加自製港式測試集,量化的 model 揀 model 先唔會買錯

  • 痛點:網上 benchmark 話 90 分嘅 model,用到你嘅港式場景就亂晒——因為 benchmark 唔代表你嘅 use case
  • 四大 eval 類型:精確匹配、關鍵字斷言、LLM-as-judge、人手抽檢——各有適用場景同成本
  • 實戰:用 promptfoo 起一個 20 題港式客服 eval,全程免費,附完整可抄 config
閱讀完整教學

小模型都玩得轉 Function Calling:本地 LLM Agent 工具呼叫實戰指南

7B 級 model 點樣穩定呼叫工具——schema 設計、retry 策略、Ollama structured output 實測心得

  • 痛點:大 model function calling 好穩,但本地 7B 小模型一遇到複雜 tool 就亂嚟——點解?點救?
  • 三大關鍵:tool 數量控制、schema 極簡化、錯誤 feedback loop——每個都附本地 Ollama 實測對比
  • 進階技巧:structured output(JSON schema)模式強制格式、多工具 fallback 設計、 hallucinated argument 偵測
閱讀完整教學

Context Engineering 入門:點解你嘅 AI Agent 咁蠢?九十係 prompt 擺錯嘢

RAG、工具結果、記憶、對話歷史點擺位——本地 LLM 實測邊種擺法出嚟答案最準

  • 痛點:Model 換咗幾代,Agent 仲係答非所問——問題多數唔係 model,係你塞畀佢嘅 context 一團糟
  • 四大 context 來源:system 指令、檢索文件(RAG)、工具結果、對話歷史——各有擺位原則
  • 實戰技巧:context rot、lost-in-the-middle、context 壓縮同裁剪,附本地 Ollama 實測對比
閱讀完整教學

Prompt Caching 入門:同一份大文件問幾百條問題,點樣慳返 90% 費用

Prompt caching 係咩、邊啲 API 支援、點設計先 cache 得中——附 Python 實測對比

  • 痛點:成個 codebase/本手冊貼落 prompt,每問一條問題就俾一次全額 input 費用——重複內容重複俾錢
  • 原理:API 幫你快取 prompt 前綴,之後同前綴嘅請求 input 費用平 50~90%,仲快埋
  • 實戰:Anthropic / OpenAI / Ollama 本地 KV-cache 三種做法,cache_control 點標記先中
閱讀完整教學

LLM Structured Output 入門:等 AI 齋出乾淨 JSON,唔再靠 regex 拆答案

JSON mode、function calling、json_schema 三層做法逐一講,附 Python 實戰代碼

  • 痛點:直接問 LLM 攞資料,佢會夠埋「好嘅,以下是…」呢啲廢話——寫程式想攞乾淨 JSON 就頭痛
  • 三層做法:prompt 講明(最弱)→ JSON mode(強制合法 JSON)→ json_schema(連欄位都幫你鎖死)
  • 實戰:用 Ollama 本地模型 + format schema,零 API 費由影評抽齣電影名/評分/一句總結
閱讀完整教學

Embedding 同向量資料庫入門:RAG 嘅地基點打

咩係 embedding、點揀向量資料庫、用 50 行代碼起一個自己嘅知識庫搜索

  • Embedding 係咩:將文字變成向量,意思近嘅字句喺數學上就近——語義搜索嘅基礎
  • 點解 RAG 離唔開佢:LLM 唔識你嘅私人資料,先 embed 再撈最相關幾段落 prompt
  • 點揀工具:Chroma(零配置入門)、Qdrant(性能)、pgvector(已有 Postgres 就唔使加野)
閱讀完整教學

MCP 入門:教你嘅 AI 讀到全世界嘅資料

Model Context Protocol 係咩、點解 2026 年個個 AI 工具都用佢、由零寫一個 MCP server

  • MCP 係咩:一個開放協議,令任何 AI 模型即插即用接駁檔案、資料庫、API 同工具
  • 點解重要:以前每個 AI app 要逐個寫 integration,MCP 之後寫一次處處通行(USB-C 之於 AI)
  • 實戰:用 Python SDK 由零寫一個 MCP server,30 行代碼令 Claude / Cursor 讀到你本地檔案
閱讀完整教學