GenAI Examiner for Cantonese-Speaking PSC Examinees
An AI-powered tutoring tool for native Cantonese speakers preparing for the Putonghua Proficiency Test (PSC).
| Module | Description |
|---|---|
| 💬 AI Intelligent Chat | Chat with an AI Putonghua coach for personalized tutoring and advice |
| 📝 Pinyin Correction | Targeted training for common errors made by Cantonese speakers (n/l confusion, flat vs. retroflex initials, front vs. back nasal finals, etc.) |
| 📖 Reading Evaluation | AI generates PSC-style reading materials and evaluates the user's reading performance |
| 🎤 Topic Speaking | Simulates Question 5 of the PSC with random topics, a 3-minute timer, and AI scoring |
| 📚 Cantonese-Mandarin Reference | Quick reference for differences between Cantonese and Putonghua, and a pronunciation error knowledge base |
# Using a virtual environment is recommended
python -m venv .venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
pip install -r requirements.txtcp .env.example .env
# Edit the .env file and fill in your API Keypython -m uvicorn app.main:app --reload --port 8000Open your browser and visit http://localhost:8000 🎉
Note: The application can start normally even without an API Key. Local features like Pinyin practice and Cantonese-Mandarin reference will work, but AI chat and evaluation features require an API Key.
PSC-Copilot/
├── app/
│ ├── main.py # FastAPI App Entry
│ ├── api/
│ │ ├── ai_service.py # AI Service (Google GenAI / OpenAI API wrappers)
│ │ └── routes.py # REST API Routes
│ ├── data/
│ │ └── psc_data.py # PSC Knowledge Base & Practice Data
│ └── static/
│ ├── index.html # SPA Main Page
│ ├── css/style.css # Design System
│ └── js/app.js # Frontend Logic + Speech Recognition
├── requirements.txt
├── .env.example
└── README.md
| Technology | Purpose |
|---|---|
| FastAPI | Backend Web Framework |
| Google GenAI / OpenAI | AI Chat and Evaluation |
| Web Speech API | Browser-side Speech Recognition |
| Vanilla HTML/CSS/JS | Frontend UI |
The Putonghua Proficiency Test (PSC) consists of five parts:
- Reading Monosyllabic Words (100 syllables, 10 points)
- Reading Polysyllabic Words (100 syllables, 20 points)
- Multiple Choice / Judgment (10 points)
- Reading a Short Passage (30 points)
- Topic Speaking (40 points) → Main focus of this tool
MIT License © 2026 Nine Three Cattery
GenAI Examiner for Cantonese-Speaking PSC Examinees
面向粤语(广东话)母语者的普通话水平测试 AI 辅导工具
| 模块 | 说明 |
|---|---|
| 💬 AI 智能对话 | 与 AI 普通话教练对话,获取个性化辅导建议 |
| 📝 拼音纠错练习 | 针对粤语母语者常见偏误(n/l 不分、平翘舌、前后鼻音等)的专项训练 |
| 📖 朗读评测 | AI 生成 PSC 风格的朗读材料,评估用户的朗读表现 |
| 🎤 命题说话 | 模拟 PSC 第五题,随机话题 + 3 分钟计时 + AI 评分 |
| 📚 粤普对照 | 粤语 ↔ 普通话常见差异速查,发音偏误知识库 |
# 建议使用虚拟环境
python -m venv .venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
pip install -r requirements.txtcp .env.example .env
# 编辑 .env 文件,填入你的 API Keypython -m uvicorn app.main:app --reload --port 8000打开浏览器访问 http://localhost:8000 🎉
注意:即使没有配置 API Key,应用也可以正常启动。拼音练习、粤普对照等本地功能不受影响,仅 AI 对话和评测功能需要 API Key。
PSC-Copilot/
├── app/
│ ├── main.py # FastAPI 应用入口
│ ├── api/
│ │ ├── ai_service.py # AI 服务封装
│ │ └── routes.py # REST API 路由
│ ├── data/
│ │ └── psc_data.py # PSC 知识库 & 练习数据
│ └── static/
│ ├── index.html # SPA 主页面
│ ├── css/style.css # 设计系统
│ └── js/app.js # 前端逻辑 + 语音识别
├── requirements.txt
├── .env.example
└── README.md
| 技术 | 用途 |
|---|---|
| FastAPI | 后端 Web 框架 |
| Google GenAI / OpenAI | AI 对话与评测 |
| Web Speech API | 浏览器端语音识别 |
| Vanilla HTML/CSS/JS | 前端 UI |
普通话水平测试(PSC)共分五个部分:
- 读单音节字词(100 个,10 分)
- 读多音节词语(100 个音节,20 分)
- 选择判断(10 分)
- 朗读短文(30 分)
- 命题说话(40 分)→ 本工具重点辅导
MIT License © 2026 Nine Three Cattery
GenAI Examiner for Cantonese-Speaking PSC Examinees
面向粵語(廣東話)母語者的普通話水平測試 AI 輔導工具
| 模組 | 說明 |
|---|---|
| 💬 AI 智能對話 | 與 AI 普通話教練對話,獲取個性化輔導建議 |
| 📝 拼音糾錯練習 | 針對粵語母語者常見偏誤(n/l 不分、平翹舌、前後鼻音等)的專項訓練 |
| 📖 朗讀評測 | AI 生成 PSC 風格的朗讀材料,評估用戶的朗讀表現 |
| 🎤 命題說話 | 模擬 PSC 第五題,隨機話題 + 3 分鐘計時 + AI 評分 |
| 📚 粵普對照 | 粵語 ↔ 普通話常見差異速查,發音偏誤知識庫 |
# 建議使用虛擬環境
python -m venv .venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
pip install -r requirements.txtcp .env.example .env
# 編輯 .env 文件,填入你的 API Keypython -m uvicorn app.main:app --reload --port 8000打開瀏覽器訪問 http://localhost:8000 🎉
注意:即使沒有配置 API Key,應用也可以正常啟動。拼音練習、粵普對照等本地功能不受影響,僅 AI 對話和評測功能需要 API Key。
PSC-Copilot/
├── app/
│ ├── main.py # FastAPI 應用入口
│ ├── api/
│ │ ├── ai_service.py # AI 服務封裝
│ │ └── routes.py # REST API 路由
│ ├── data/
│ │ └── psc_data.py # PSC 知識庫 & 練習數據
│ └── static/
│ ├── index.html # SPA 主頁面
│ ├── css/style.css # 設計系統
│ └── js/app.js # 前端邏輯 + 語音識別
├── requirements.txt
├── .env.example
└── README.md
| 技術 | 用途 |
|---|---|
| FastAPI | 後端 Web 框架 |
| Google GenAI / OpenAI | AI 對話與評測 |
| Web Speech API | 瀏覽器端語音識別 |
| Vanilla HTML/CSS/JS | 前端 UI |
普通話水平測試(PSC)共分五個部份:
- 讀單音節字詞(100 個,10 分)
- 讀多音節詞語(100 個音節,20 分)
- 選擇判斷(10 分)
- 朗讀短文(30 分)
- 命題說話(40 分)→ 本工具重點輔導
MIT License © 2026 Nine Three Cattery