Files
ai-scoring-application/scripts/README-evaluation-upload.md

125 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AI 評分結果上傳腳本說明
## 概述
這個腳本用於解析 AI 評分結果的 JSON 資料,並將結果上傳到資料庫的三個相關表中:
- `evaluations` - 評審記錄主表
- `evaluation_scores` - 評分結果明細表
- `evaluation_feedback` - AI 評語和建議表
## 資料庫表結構
### 1. evaluations 表
儲存評審的基本資訊:
- `id` - 主鍵
- `project_id` - 專案 ID
- `overall_score` - 總分 (78.5)
- `max_possible_score` - 滿分 (100)
- `grade` - 等級 (A-)
- `analysis_duration` - 分析耗時
- `ai_model_version` - AI 模型版本
- `status` - 狀態 (completed)
- `error_message` - 錯誤訊息
### 2. evaluation_scores 表
儲存各項評分標準的詳細分數:
- `id` - 主鍵
- `evaluation_id` - 關聯到 evaluations 表
- `criteria_item_id` - 關聯到 criteria_items 表
- `score` - 得分
- `max_score` - 滿分
- `weight` - 權重
- `weighted_score` - 加權分數
- `percentage` - 百分比
### 3. evaluation_feedback 表
儲存 AI 的評語和建議:
- `id` - 主鍵
- `evaluation_id` - 關聯到 evaluations 表
- `criteria_item_id` - 關聯到 criteria_items 表 (可為空)
- `feedback_type` - 反饋類型 (overall/criteria/strength/improvement)
- `content` - 反饋內容
- `sort_order` - 排序
## 使用方式
### 1. 環境設定
確保已設定資料庫連線環境變數:
```bash
export DB_HOST=localhost
export DB_USER=root
export DB_PASSWORD=your_password
export DB_NAME=ai_scoring_app
```
### 2. 執行腳本
```bash
cd scripts
node parse-ai-evaluation.js
```
### 3. 檢查結果
腳本會輸出詳細的執行過程,包括:
- 資料庫連接狀態
- 各表的記錄創建數量
- 最終的評分結果摘要
## 重要注意事項
### 1. criteria_item_id 對應
腳本中的 `criteriaNameToId` 物件需要根據實際資料庫中的 `criteria_items` 表來調整:
```javascript
const criteriaNameToId = {
"應用實務性": 52, // 需要確認實際 ID
"創新性": 53,
"成效與效益": 54,
"擴散與可複用性": 55,
"簡報與表達": 56
};
```
### 2. project_id 設定
腳本中假設專案 ID 為 1實際使用時需要根據實際情況調整
```javascript
const projectId = 1; // 需要根據實際專案 ID 調整
```
### 3. 資料驗證
執行前請確認:
- 資料庫連線正常
- `criteria_items` 表中有對應的評分項目
- `projects` 表中有對應的專案記錄
## 資料解析說明
### AI JSON 結構
腳本解析的 AI JSON 包含以下主要部分:
- 基本資訊:專案標題、總分、等級等
- 評分標準:各項標準的得分和反饋
- 詳細分析:整體分析和關鍵發現
- 改進建議:保持優勢、關鍵改進、行動計劃
### 資料映射
- 每個評分標準會創建一條 `evaluation_scores` 記錄
- 每個評分標準的反饋會創建多條 `evaluation_feedback` 記錄
- 整體分析會創建 `feedback_type` 為 'overall' 的反饋記錄
## 錯誤處理
腳本包含完整的錯誤處理機制:
- 資料庫連線錯誤
- SQL 執行錯誤
- 資料驗證錯誤
所有錯誤都會在控制台輸出詳細資訊,並確保資料庫連線正確關閉。
## 擴展功能
如需處理其他 AI 評分結果,可以:
1. 修改 `aiEvaluationResult` 物件
2. 調整 `criteriaNameToId` 對應關係
3. 更新 `projectId` 設定
4. 重新執行腳本