AI 應用 · 本地 LLM
考試出題器 — 基於本地 LLM 的自動出題系統
餵入教材,LLM 自動摘要重點並生成多題型考試。支援審閱替換、互動式 HTML 試卷輸出,一鍵完成從教材到考卷的全流程。
使用的技術
FlaskLM StudioLLMPDF ParsingWord 解析HTML ExportCondaPython
專案背景
出考卷是教學工作中最耗時的環節之一。這個專案利用本地運行的 LLM(透過 LM Studio), 將教材內容自動轉換為結構化的考試題目,完全離線運行,無需依賴雲端 API,保障資料隱私。
核心流程
📄
Step 1輸入教材
支援多檔案上傳(PDF、Word、TXT、Markdown)或直接貼文字,可混合使用多種來源。
🧠
Step 2摘要重點
LLM 先閱讀所有教材,提取核心概念和必考重點,作為後續出題的知識基礎。
✏️
Step 3分題型生成
每種題型(是非題、填充題、選擇題)獨立呼叫 LLM 生成,自動重試補齊不足的題數。
👀
Step 4審閱與替換
使用者逐題檢視,標記不滿意的題目,一鍵替換 — LLM 會自動避開已生成的舊題。
📝
Step 5輸出互動式試卷
生成互動式 HTML 試卷,支援線上作答、自動計分、對答案、列印,開箱即用。
檔案架構
exam-generator/ ├── app.py # Flask 主程式,4 個 API 端點 ├── config.py # LM Studio 連線設定 ├── generator/ │ └── question_gen.py # 核心引擎:摘要 → 分題型生成 → 自動補齊 → 替換 ├── parsers/ # 支援 PDF、Word、純文字、Markdown 解析 ├── exporter/ │ └── html_exporter.py # 輸出互動式 HTML 試卷 ├── templates/ │ └── index.html # 前端介面 ├── start.bat / start.ps1 # 一鍵啟動腳本 └── requirements.txt
技術亮點
🔒
完全離線
本地 LLM 運行,資料不離開本機
📚
多格式解析
PDF / Word / TXT / MD 全支援
🔄
智慧替換
標記不滿意的題目,LLM 自動避舊題重新生成
📊
互動式輸出
HTML 試卷可作答、計分、列印
⚡
一鍵啟動
start.bat / start.ps1 自動建環境裝依賴
🎯
多題型支援
是非題、填充題、選擇題獨立生成
使用場景
- • 教師備課:上傳教材後快速生成測驗卷,大幅縮短出題時間
- • 學生自測:用自己的筆記生成練習題,針對性複習
- • 企業培訓:根據培訓文件自動產生考核試卷
- • 語言學習:生成填空題和選擇題進行詞彙與語法練習