Files
duocthu/docs/evaluation-safety.md
T

54 lines
2.5 KiB
Markdown

# Đánh giá, grounding và giới hạn
> Loại chính: Explanation/How-to
> Đối tượng: RAG engineer, reviewer và operator
## Mô hình an toàn
Đây là chatbot tra cứu Dược thư, không phải hệ thống kê đơn. Hệ thống chỉ phát hành
nội dung khi evidence và provenance vượt qua các cổng:
1. scope guard chặn ngoài phạm vi và yêu cầu quyết định điều trị;
2. clarification yêu cầu drug/population/age/weight/attribute còn thiếu;
3. evidence policy yêu cầu score và provenance;
4. quarantine buộc xem PDF với bảng/công thức chưa chuẩn hóa;
5. citation validation chặn source ID ngoài evidence;
6. numeric grounding chặn số liệu không có trong nguồn;
7. semantic support và completeness chặn claim sai hoặc thiếu;
8. request budget giới hạn 40 giây và 8 model calls theo default;
9. clarify circuit breaker dừng loop không hội tụ.
Provider lỗi, output sai schema hoặc validator không chắc chắn không được biến thành
raw evidence dump. `verify_pdf` nghĩa là đã có nguồn nhưng cần xem vùng PDF;
`abstain` nghĩa là không phát hành answer chuyên môn cho lượt đó.
## Chạy manual battery
```powershell
Set-Location apps/ai-service
python scripts/manual_battery.py `
--base-url http://localhost:8079 `
--target ai `
--cases evals/production_manual_60.jsonl `
--output evals/results/local.jsonl `
--run-id local-20260814
```
Dùng `--target web` để kiểm tra cả BFF. Có thể chọn subset bằng `--start`, `--ids`
hoặc `--limit`. Báo cáo phải lưu commit SHA, model, corpus hash, target và thời gian.
Đọc kết quả theo decision/reason, citation requirement, hành vi abstain/clarify và
conversation order. Không quy đổi số test pass thành chất lượng lâm sàng và không
so sánh hai run khác model/corpus/target mà không ghi khác biệt.
## Giới hạn đã biết
- Bảng/công thức không đi thẳng vào prose answer.
- Reverse-relation và yêu cầu chọn điều trị có thể bị từ chối chủ động.
- Generation phụ thuộc provider; mode disabled không có hội thoại agent đầy đủ.
- Conversation store fail-open; một phần loop state nằm trong process.
- Frontend chưa có automated test runner.
- Corpus/benchmark count phải gắn ngày, model và hash; không coi số cũ là vĩnh viễn.
- Test/eval chỉ xác nhận invariant và tập ca đã mã hóa, không chứng minh coverage vô hạn.