Portfolio

張華宸 Watson

電機工程 · 深度學習與生成式 AI 應用

我在碩士階段專注於深度學習、生成式AI 與 LLM 之應用。曾修習多門機器學習相關課程,具備從底層模型訓練至系統整合應用的經驗。此外,我亦曾研修服務導向前端設計課程,能在顧及使用者體驗的同時,打造兼具技術深度與實用性的方案。

GitHub ↗

軟體作品

共 5 件 · 點卡片看細節

BRE 布林代數・考卷自動批改系統

結合 YOLO 區域偵測、視覺語言模型 OCR 與 LLM 推理式評分,自動批改手寫作業與紙本考卷的多代理系統。

PythonYOLOLLMOCRvLLMMulti-Agent
 

簡介

一套為教學現場設計的自動改卷系統,串接 YOLO 版面偵測、視覺語言模型 OCR 與具推理能力的 LLM,將老師從大量重複的批改工作中解放出來。系統可處理布林代數手寫作業、紙本考卷與心得報告三種截然不同的評分情境,並各自搭配對應的辨識與判分流程。

主要功能

  • 布林代數作業:OCR 統一交給同一個視覺模型,受測 LLM 只負責結構化與評分,讓不同批改模型在相同條件下比較
  • 紙本考卷:YOLO 擷取學號區與作答區 → 視覺 LLM OCR → 思考型 LLM 逐題給分;可選三模型兩輪交叉互評
  • 心得報告:依關鍵概念覆蓋率與論述細節評分
  • 多 LLM 後端(OpenAI、Gemini、本地 vLLM)可切換
  • 多代理架構,各評分代理獨立註冊,依任務類型指定調用

技術棧

  • Python / YOLO(Ultralytics)區域偵測,mAP50 約 99%
  • 視覺語言模型 OCR + 思考型 LLM 評分
  • 本地 vLLM 多端點切換,依模型 context 上限自動配置 thinking budget
  • 另有模組化重構版(modular/),以 69 份真實批改紀錄重播驗證與部署版輸出一致,尚未實際部署

成果

完整流程涵蓋 PDF 前處理、學號擷取、依名單配對學生、批改到 CSV 成績匯出,支援 Moodle 作業與紙本考試兩種流程。部署版實際批出過課程成績,也是論文實驗採用的版本。

開發角色與挑戰

獨立開發,一人包辦需求分析、模型整合、推論優化到部署的完整流程。過程中花最多時間的是效能優化——在 YOLO 與 LLM 的模型尺寸與參數之間找準確率與速度的平衡點,並持續調校加快整體推論速度,同時盡量不犧牲評分準確度。

前往 GitHub 詳閱全文 →

Reflexion Search 反思式智慧搜尋

結合 Search api 與 LLM 的多輪反思搜尋系統,自動分析結果缺口、迭代優化查詢,收斂出更完整可信的答案。

PythonLangChainLLMGoogle Search APIGradio
 

簡介

一套將 Search api 與大型語言模型結合的智慧搜尋系統。不同於單純回傳原始搜尋結果,系統會先整理、去重並依重要性排序,再由反思者「反思」結果的完整性——檢查資訊缺口與來源矛盾——並據此自動產生更精準的查詢,經多輪迭代收斂出完整答案。

主要功能

  • 結果整理:搜尋結果去重、依重要性排序,輸出附來源網址與可信度評級的結構化 Markdown
  • 反思分析:由第二個模型審視結果是否充分、來源是否矛盾、還缺哪些資訊
  • 迭代優化:根據反思結論自動生成改良查詢,可設定 1–5 輪迭代
  • 精簡摘要:在詳細結果之外,同步產出約 100 字的快速答案
  • 多語言支援:以使用者查詢的原始語言回覆

技術棧

  • Python / LangChain 串接 LLM 呼叫與 prompt 管線
  • OpenAI GPT-4.1 / GPT-4.1-mini 分別負責結果整理與反思分析
  • Google Custom Search API 即時網頁搜尋
  • Gradio 互動式網頁介面,內建 API 金鑰驗證
  • 查詢結果快取一小時,降低重複查詢的 API 成本

成果

完整實作「查詢 → 搜尋 → 整理 → 反思 → 再查詢」的閉環流程,並提供 reflexion.py 完整版與 reflexion_simple.py 核心精簡版兩種實作,兼顧實用性與架構可讀性。以 MIT 授權開源。

開發角色與挑戰

獨立開發,一人包辦架構設計、prompt 管線與介面整合。以 GPT-4.1 / GPT-4.1-mini 依任務分工、查詢結果快取一小時,在回答品質與 API 成本之間取得平衡。

前往 GitHub 詳閱全文 →

GIF Converter · 動畫拆解與 AI 去背工具

把 GIF、動態 WebP 或 AI 產生的 Sprite Sheet 拆成逐幀,AI 去背、校正角色位置,再導出成透明動畫素材。

PythonFastAPIrembgONNX RuntimePillow
 

簡介

一套在本機執行的動畫素材工具,讓「一張動圖 → 可直接放進遊戲或網頁的透明動畫」在同一個畫面內完成。

主要功能

  • 剪輯台式工作區:切割、拆解、去背、對齊、導出五個模式共用同一畫面
  • AI 去背:六種模型可切換(含可離線使用的 U2-Net),失敗影格可單獨重試
  • Sprite Sheet 切割:自動偵測大小不一的格子並排除編號文字,一鍵切成動畫影格
  • 角色對齊:以底部、中心或頂部為對齊點,消除 AI 圖常見的漂移與縮放跳動,支援逐幀微調與復原
  • 多格式導出:GIF、動態 WebP、Sprite Sheet + JSON 座標可複選

技術棧

  • 後端:FastAPI 提供 JSON API,Pydantic 驗證請求
  • rembg + ONNX Runtime 去背推論,ONNX session 依模型快取
  • Pillow 解碼與合成 GIF / WebP,scipy.ndimage 以連通區塊偵測 Sprite Sheet 格子
  • 前端:原生 JavaScript 單頁工作區,沒有建置步驟
  • PyInstaller 打包成免安裝的 Windows 執行檔,內建 U2-Net 模型

成果

對齊只記錄參數、不改動原圖,重新去背後會自動重算;服務只綁定 127.0.0.1,圖片全程在本機處理。以 MIT 授權開源。

前往 GitHub 詳閱全文 →

Walmart Version of iLovePDF · PDF 視覺化編輯工具

類 iLovePDF 的開源工具,以縮圖卡片視覺化操作頁面順序、旋轉、刪除與跨檔案合併,可打包成單一 Windows 執行檔。

ReactTypeScriptFastAPIPyMuPDFTailwindCSSPyInstaller
 

簡介

一套開源的 PDF 視覺化編輯工具,操作邏輯類似 iLovePDF,但以互動式縮圖卡片取代手動輸入頁碼——所見即所得地拖拉、旋轉、刪除頁面,所有檔案都留在自己的電腦上。

主要功能

  • 伺服器端渲染縮圖,所有檔案的頁面排在同一張畫布上
  • 拖放排序,支援跨檔案合併重組
  • 兩種選取方式:點選卡片,或輸入頁碼範圍(如 1-5, 8, 12-20)
  • 頁面旋轉、刪除,圖片轉 PDF
  • 匯出合併後的 PDF,或打包成 150 DPI 的 PNG ZIP 檔
  • 隱私優先:不需帳號、沒有資料庫,工作區閒置一小時後自動清除

技術棧

  • 後端:FastAPI + PyMuPDF(fitz),Pillow 處理圖片,Pydantic 驗證匯出請求
  • 前端:React + TypeScript + Vite + TailwindCSS,密集工作台式介面
  • @dnd-kit 實作拖放互動
  • PyInstaller 打包成單一 WalmartPDF.exe,使用者不需安裝 Python 或 Node.js

成果

以單一執行檔發佈,打包版只綁定 127.0.0.1。上傳時檢查檔案實際內容(%PDF- 檔頭、圖片驗證)並限制路徑必須位於工作區內,擋下改副檔名的檔案;主要架構決策以四份 ADR 記錄。

前往 GitHub 詳閱全文 →

Usage Monitor · AI 額度監控小工具

Windows 桌面懸浮球,即時顯示 Claude、Google Antigravity 與 OpenAI Codex 的剩餘用量額度。

ElectronJavaScriptDesktop
 

簡介

一個 Windows 桌面應用,以常駐置頂的懸浮球即時顯示 Claude、Google Antigravity 與 OpenAI Codex 的剩餘用量額度——回答的不是「用了多少 token」,而是「距離觸頂還剩多少空間」。

主要功能

  • 三額度追蹤:Claude 5 小時/7 天、Antigravity 與 Codex 額度,統一換算成 0–100 尺度
  • 智慧鎖定:Claude 週額度達 90% 時自動改顯示週用量
  • 只用顏色示警:70% 琥珀色、90% 紅色,不彈通知
  • 靠邊收合為窄條,系統匣圖示確認程式仍在執行
  • 五種外觀即時切換
  • 資料過期時誠實顯示時間戳,而非用猜的
  • 內建 Claude Code status line 安裝與開機自動啟動

技術棧

  • Electron 桌面框架 + JavaScript,electron-builder 打包
  • Claude:讀取 Claude Code status line 輸出的 rate_limits 百分比
  • Antigravity:直接查詢本機 language server,每 60 秒輪詢,不需額外 CLI
  • OpenAI Codex:透過官方本機 app-server 介面讀取額度

成果

把原本分散在終端機輸出裡的用量資訊,整合成一眼可讀的桌面小工具,是開發過程中順手解決自己需求而生的工具。選擇資料來源時,刻意排除了未公開的 OAuth 用量端點——這種用法違反服務條款,只採用各工具在本機正式提供的介面。

前往 GitHub 詳閱全文 →

學歷與經歷

2025.03 — 2026.06
工作電機工程學系助教
元智大學
  • 普通物理與邏輯電路設計課程助教:協助課堂事務、命題與解題邏輯、管理課程 Moodle 網站,並為學生解惑課程相關問題。
  • 協助收集並整理兩年度課程中之真實手寫試卷,轉化為碩論與研討會論文的實證測試資料集。
2024.09 — 2026.07
學歷電機工程 碩士學位
元智大學
2022.07 — 2022.08
工作暑期工讀 · 戶政事務所
新竹市政府
  • 負責舊時紙質文件之強化與整修,並使用 Excel 建立系統化清單,進行資料統計與歸檔。
2022.01 — 2022.06
工作生產線作業員
神達電腦
  • 提供跨產線支援,負責主機板開機測試與各項擴充槽位功能驗證。
  • 於產能高峰期間協助伺服器硬體組裝與架設。
2020.08 — 2024.06
學歷電機工程 學士學位
元智大學

技能

AI / LLM

LLMMulti-AgentLangChainOCRYOLOU2-Net

語言

PythonTypeScriptJavaScript

前端

ReactAstroTailwindCSSCanvas

後端 / 工具

FastAPIPyMuPDFElectronGradio