评估报告.json 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. {
  2. "工具自检": {
  3. "总数": 15,
  4. "通过": 15,
  5. "明细": [
  6. {
  7. "案例": "成对小贝 01+03 应合成大贝 02",
  8. "工具": "贝位计算器",
  9. "输入": "01+03",
  10. "必须包含": [
  11. "02",
  12. "大贝"
  13. ],
  14. "通过": true,
  15. "实际输出": "01 + 03 → 大贝 02\n说明:40尺箱写大贝号 02;20尺箱写各自的小贝号 01 / 03"
  16. },
  17. {
  18. "案例": "成对小贝 09+11 应合成大贝 10",
  19. "工具": "贝位计算器",
  20. "输入": "09,11",
  21. "必须包含": [
  22. "10"
  23. ],
  24. "通过": true,
  25. "实际输出": "09 + 11 → 大贝 10\n说明:40尺箱写大贝号 10;20尺箱写各自的小贝号 09 / 11"
  26. },
  27. {
  28. "案例": "大贝 06 应能拆回 05 和 07",
  29. "工具": "贝位计算器",
  30. "输入": "06",
  31. "必须包含": [
  32. "05",
  33. "07"
  34. ],
  35. "通过": true,
  36. "实际输出": "大贝 06 → 由小贝 05 和 07 合成\n说明:这个贝位上的 40 尺箱写 06,20 尺箱分别写 05 / 07"
  37. },
  38. {
  39. "案例": "单个奇数小贝保持原样",
  40. "工具": "贝位计算器",
  41. "输入": "05",
  42. "必须包含": [
  43. "05",
  44. "小贝"
  45. ],
  46. "通过": true,
  47. "实际输出": "05 是小贝号(奇数),保持原样\n说明:20 尺箱写小贝号 05;如果这里装 40 尺箱,应写成大贝号 06"
  48. },
  49. {
  50. "案例": "非法配对(含偶数)应报错",
  51. "工具": "贝位计算器",
  52. "输入": "01+04",
  53. "必须包含": [
  54. "错误"
  55. ],
  56. "通过": true,
  57. "实际输出": "错误:01 和 04 里有偶数。成对的小贝必须是两个奇数(如 01+03)"
  58. },
  59. {
  60. "案例": "不相邻的两个奇数不算一对",
  61. "工具": "贝位计算器",
  62. "输入": "01+07",
  63. "必须包含": [
  64. "错误"
  65. ],
  66. "通过": true,
  67. "实际输出": "错误:01 和 07 不相邻,不是一对小贝(相邻的两个奇数才成对)"
  68. },
  69. {
  70. "案例": "六位坐标拆成贝位/排位/层号",
  71. "工具": "坐标解析器",
  72. "输入": "010682",
  73. "必须包含": [
  74. "01",
  75. "06",
  76. "82"
  77. ],
  78. "通过": true,
  79. "实际输出": "坐标 010682 拆解:\n 贝位 Bay = 01\n 排位 Pos = 06(偶数排位,通常在中线左侧 / 左舷方向)\n 层号 Tier = 82 → 舱面(甲板)"
  80. },
  81. {
  82. "案例": "层号 82 应判为甲板",
  83. "工具": "坐标解析器",
  84. "输入": "010682",
  85. "必须包含": [
  86. "甲板"
  87. ],
  88. "通过": true,
  89. "实际输出": "坐标 010682 拆解:\n 贝位 Bay = 01\n 排位 Pos = 06(偶数排位,通常在中线左侧 / 左舷方向)\n 层号 Tier = 82 → 舱面(甲板)"
  90. },
  91. {
  92. "案例": "层号 04 应判为舱内",
  93. "工具": "坐标解析器",
  94. "输入": "020204",
  95. "必须包含": [
  96. "舱内"
  97. ],
  98. "通过": true,
  99. "实际输出": "坐标 020204 拆解:\n 贝位 Bay = 02\n 排位 Pos = 02(偶数排位,通常在中线左侧 / 左舷方向)\n 层号 Tier = 04 → 舱内"
  100. },
  101. {
  102. "案例": "三个数字反向拼成六位坐标并补前导零",
  103. "工具": "坐标解析器",
  104. "输入": "1,6,82",
  105. "必须包含": [
  106. "010682"
  107. ],
  108. "通过": true,
  109. "实际输出": "贝位01 + 排位06 + 层号82 → 坐标 010682\n位置:舱面(甲板)"
  110. },
  111. {
  112. "案例": "位数不够的坐标应报错",
  113. "工具": "坐标解析器",
  114. "输入": "12345",
  115. "必须包含": [
  116. "错误"
  117. ],
  118. "通过": true,
  119. "实际输出": "错误:'12345' 不是合法的六位坐标(应为 6 位数字,如 010682)"
  120. },
  121. {
  122. "案例": "合法的 40 尺/20 尺混装清单应通过校验",
  123. "工具": "箱位校验器",
  124. "输入": "HE 020682\nf 010304",
  125. "必须包含": [
  126. "未发现"
  127. ],
  128. "通过": true,
  129. "实际输出": "共收到 2 个箱位,去重后 2 个\n箱型统计:HE=1 f=1\n✅ 未发现格式或贝位问题"
  130. },
  131. {
  132. "案例": "40 尺箱写了奇数贝位应被查出来",
  133. "工具": "箱位校验器",
  134. "输入": "HE 010682",
  135. "必须包含": [
  136. "40尺"
  137. ],
  138. "通过": true,
  139. "实际输出": "共收到 1 个箱位,去重后 1 个\n箱型统计:HE=1\n⚠️ 发现 1 处问题:\n - 'HE 010682':40尺箱应写偶数大贝号,但贝位是 01"
  140. },
  141. {
  142. "案例": "重复坐标应被查出来",
  143. "工具": "箱位校验器",
  144. "输入": "f 010304\nf 010304",
  145. "必须包含": [
  146. "重复"
  147. ],
  148. "通过": true,
  149. "实际输出": "共收到 2 个箱位,去重后 1 个\n箱型统计:f=2\n⚠️ 重复坐标:010304\n✅ 未发现格式或贝位问题"
  150. },
  151. {
  152. "案例": "知识库能检索到大贝相关规则",
  153. "工具": "知识库检索",
  154. "输入": "40尺箱写大贝还是小贝",
  155. "必须包含": [
  156. "大贝"
  157. ],
  158. "通过": true,
  159. "实际输出": "【资料1|相关度 0.473】\n40 尺箱写大贝号、20 尺箱写小贝号:40 尺箱(含标记为 + 的箱位)一律写中间那个偶数大贝号,例如 02、06、10;20 尺箱写它自己所在的具体小贝号,也就是奇数号。图上写成「(02)03」的,读作括号内 02 是大贝号、外面 03 是小贝号。\n\n【资料2|相关度 0.223】\nC 型图纸的箱型标记是「代码 + 重空字母」,例如 NJE。判断尺寸看后缀的大小写:全大写的是 40 尺箱,含小写字母的是 20 尺箱。\n\n【资料3|相关度 0.179】\n40 尺箱的贝位配对规则:40 尺集装箱要占两个相邻的 20 尺小贝位,图纸上把中间那个偶数号叫\"大贝\"。所以 01+03 合成 02,05+07 合成 06,09+11 合成 10,13+15 合成 14,17+19 合成 18,21+23 合成 22,25+27 合成 26。规律是\"大贝号 = 前一个小贝号 + 1\"。"
  160. }
  161. ]
  162. },
  163. "端到端": {
  164. "总数": 12,
  165. "通过": 12,
  166. "准确率": 100.0,
  167. "平均耗时": 12.49,
  168. "分类准确率": {
  169. "规则问答": 100.0,
  170. "会用工具": 100.0,
  171. "边界情况(不该瞎编)": 100.0
  172. },
  173. "明细": [
  174. {
  175. "问题": "40 尺箱应该写大贝号还是小贝号?",
  176. "分类": "规则问答",
  177. "通过": true,
  178. "回答": "40 尺箱应写大贝号,即中间那个偶数号,例如 02、06、10(资料1)。",
  179. "步数": 1,
  180. "耗时": 6.93
  181. },
  182. {
  183. "问题": "层号 82 的箱子是装在甲板上还是船舱里面?",
  184. "分类": "规则问答",
  185. "通过": true,
  186. "回答": "层号 82 的箱子装在甲板上(舱面)。依据:资料1。",
  187. "步数": 1,
  188. "耗时": 8.99
  189. },
  190. {
  191. "问题": "贝位 09 和贝位 11 合成的大贝是几号?",
  192. "分类": "会用工具",
  193. "通过": true,
  194. "回答": "贝位 09 和贝位 11 合成的大贝是 10 号。",
  195. "步数": 2,
  196. "耗时": 19.51
  197. },
  198. {
  199. "问题": "把贝位 1、排位 6、层号 82 拼成六位坐标。",
  200. "分类": "会用工具",
  201. "通过": true,
  202. "回答": "010682",
  203. "步数": 1,
  204. "耗时": 7.95
  205. },
  206. {
  207. "问题": "坐标 020486 代表什么?这个箱子在哪?",
  208. "分类": "会用工具",
  209. "通过": true,
  210. "回答": "坐标 020486 表示:贝位 02、排位 04、层号 86。根据资料1,层号 86 属于舱面(甲板);根据资料2,排位 04 为偶数,通常在中线左侧/左舷方向。因此这个箱子在甲板左舷。",
  211. "步数": 2,
  212. "耗时": 29.39
  213. },
  214. {
  215. "问题": "读 .xls 和 .xlsx 分别要用什么 Python 库?",
  216. "分类": "规则问答",
  217. "通过": true,
  218. "回答": "读 .xls 老格式用 xlrd,读 .xlsx 新格式用 openpyxl;写输出结果表统一用 openpyxl(资料1)。",
  219. "步数": 1,
  220. "耗时": 8.59
  221. },
  222. {
  223. "问题": "坐标如果把前导零弄丢了,会有什么后果?",
  224. "分类": "规则问答",
  225. "通过": true,
  226. "回答": "坐标前导零丢失会导致六位箱位坐标直接报废(资料1)。例如 020682 会变成 20682、06 变成 6,系统无法再按“贝位2位+排位2位+层号2位”正确解析,贝位、排位、层号会发生错位或无法识别(资料1、资料2)。",
  227. "步数": 1,
  228. "耗时": 9.41
  229. },
  230. {
  231. "问题": "配载图上写着 TB 的那一格,算不算箱位?",
  232. "分类": "规则问答",
  233. "通过": true,
  234. "回答": "不算箱位。“TB”是锁具箱,按资料1规定应跳过,不作为箱位输出。",
  235. "步数": 1,
  236. "耗时": 7.15
  237. },
  238. {
  239. "问题": "图上出现一个 X 标记,应该怎么处理?",
  240. "分类": "规则问答",
  241. "通过": true,
  242. "回答": "图上出现 X 标记时,应把它视为非本船箱型/占位标记,统一改写成“+”号;“+”代表非本航次或者占位箱位,写大贝号。不能只认 X 这一个符号,其他不能识别为本船箱型的非空标记也都要统一转成“+”。(资料2、资料3)",
  243. "步数": 1,
  244. "耗时": 9.56
  245. },
  246. {
  247. "问题": "帮我检查一下这两个箱位对不对:HE 010682 和 f 010304",
  248. "分类": "会用工具",
  249. "通过": true,
  250. "回答": "这两个箱位中,“HE 010682”不对:HE 是40尺箱,应写偶数大贝号,但坐标贝位是01。“f 010304”校验未发现问题。",
  251. "步数": 2,
  252. "耗时": 30.84
  253. },
  254. {
  255. "问题": "宁波到洛杉矶一个 40 尺柜的运费是多少?",
  256. "分类": "边界情况(不该瞎编)",
  257. "通过": true,
  258. "回答": "资料里没有提到。",
  259. "步数": 0,
  260. "耗时": 6.03
  261. },
  262. {
  263. "问题": "今天舟山港的风速有几级?",
  264. "分类": "边界情况(不该瞎编)",
  265. "通过": true,
  266. "回答": "资料里没有提到。",
  267. "步数": 0,
  268. "耗时": 5.53
  269. }
  270. ]
  271. }
  272. }