訂明本例驗收任務
假設知識任務已提供文件脈絡、縮寫及各脈絡字典。只在所選字典找完全相同縮寫;另一字典有同名也不能補用。結果帶回脈絡,讓接收者知道展開資料來自哪裏。
- 用已提供的文件脈絡
- 只查該脈絡的縮寫字典
- 帶來源脈絡回覆,或列缺口
脈絡或縮寫欠項便未確認,其他字典有同名也一樣。
使用已填個案
| 個案 | 已提供輸入 | 預期結構化結果 | 判斷及原因 |
|---|---|---|---|
| 貨倉 CT | {"context":"warehouse","token":"CT","glossaries":{"warehouse":{"CT":"carton"},"training":{"CT":"class time"}}} | {"status":"resolved","context":"warehouse","expanded":"carton"} | 貨倉字典為 carton;培訓字典是另一意思。 |
| 培訓 CT | {"context":"training","token":"CT","glossaries":{"warehouse":{"CT":"carton"},"training":{"CT":"class time"}}} | {"status":"resolved","context":"training","expanded":"class time"} | 選培訓脈絡便用該字典的意思。 |
| 所選字典沒有該縮寫 | {"context":"warehouse","token":"LT","glossaries":{"warehouse":{"CT":"carton"},"training":{"LT":"lesson time"}}} | {"status":"unknown-token","context":"warehouse"} | 培訓 LT 不可補貨倉未有的項目。 |
逐步處理 no-token-fallback 個案,須得到甚麼結果?原因是甚麼?
查看參考答案
{"status":"unknown-token","context":"warehouse"}。培訓 LT 不可補貨倉未有的項目。
執行完整本機驗算
import assert from 'node:assert/strict';
function evaluate(x){
if(!Object.hasOwn(x.glossaries,x.context))return {status:'unknown-context'};
const g=x.glossaries[x.context];return Object.hasOwn(g,x.token)?{status:'resolved',context:x.context,expanded:g[x.token]}:{status:'unknown-token',context:x.context};
}
const cases = [
{
"id": "warehouse-ct",
"input": {
"context": "warehouse",
"token": "CT",
"glossaries": {
"warehouse": {
"CT": "carton"
},
"training": {
"CT": "class time"
}
}
},
"expected": {
"status": "resolved",
"context": "warehouse",
"expanded": "carton"
}
},
{
"id": "training-ct",
"input": {
"context": "training",
"token": "CT",
"glossaries": {
"warehouse": {
"CT": "carton"
},
"training": {
"CT": "class time"
}
}
},
"expected": {
"status": "resolved",
"context": "training",
"expanded": "class time"
}
},
{
"id": "no-token-fallback",
"input": {
"context": "warehouse",
"token": "LT",
"glossaries": {
"warehouse": {
"CT": "carton"
},
"training": {
"LT": "lesson time"
}
}
},
"expected": {
"status": "unknown-token",
"context": "warehouse"
}
}
];
for (const c of cases) assert.deepEqual(evaluate(c.input), c.expected, c.id);
console.log(JSON.stringify({checked:cases.length,caseIds:cases.map(c=>c.id)}));
每次答案連同脈絡選擇保存。本例測按檢索脈絡選字典,標籤已訂好;不從單一縮寫推斷行業意思。