# ChatGPT Bot prompt 系統模組 I/O 格式
### 還會拿到一個 reply token,給 Linebot 界面的,確認要傳回去哪個聊天窗口

負責三個模組(module):
1. 意圖識別(intent detection)
2. 邏輯判斷(logic)
3. prompt 系統
其中 意圖識別跟 prompt 系統的輸出都會與**語意評分**模組對接。
分成以下不同狀態:
### 1. **NOT_MODERATION**: 在意圖識別中被識別為並非詢問問題,接罐頭回答
```python
{
"LINE_USER_ID": _LINE_USER_ID,
"HIS_DLG_ID": _HIS_DLG_ID,
"USER_MSG": _USER_MSG,
"STATE": "NOT_MODERATION",
"ANSWER": None,
"OTHERS": None
}
```
<br/>
### 2. **ANS**: 由 prompt 系統給出了正確的回答格式,並通過評分標準
```python
{
"LINE_USER_ID": _LINE_USER_ID,
"HIS_DLG_ID": _HIS_DLG_ID,
"USER_MSG": _USER_MSG,
"STATE": "ANS",
"ANSWER": MODEL_RESPONSE,
"OTHERS": {
"RELATIVENESS": 0.8,
"UNDERSTANDABILITY": 0.9
}
}
```
<br/>
### 3. **ASK**: 由 prompt 系統給出了正確的回答格式,但並未通過評分標準,重新提交了不同的問題
```python
{
"LINE_USER_ID": _LINE_USER_ID,
"HIS_DLG_ID": _HIS_DLG_ID,
"USER_MSG": _USER_MSG,
"STATE": "ASK",
"ANSWER": MODEL_RESPONSE,
"OTHERS": {
"RELATIVENESS": 0.3,
"UNDERSTANDABILITY": 0.2,
"REPHRASE": [REPHRASE_1, REPHRASE_2, ..., REPHRASE_N]
}
}
```
<br/>
### 4. **ERR**: prompt 系統給出了錯誤的回答格式,並通過評分標準
```python
{
"LINE_USER_ID": _LINE_USER_ID,
"HIS_DLG_ID": _HIS_DLG_ID,
"USER_MSG": _USER_MSG,
"STATE": "ERR",
"ANSWER": None,
"OTHERS": None,
}
```