Tham chiếu
Lỗi
Sự phân biệt mà trang này tồn tại để làm rõ: một lần chạy thất bại và một lần chạy gặp lỗi là hai chuyện khác nhau, và trình bày cái này như cái kia sẽ nói với nhà phát triển rằng thay đổi của họ tồi trong khi sự thật là harness đã bị sập.
Thất bại là một kết quả. Lỗi thì không.
FAIL có nghĩa là một cổng đã được đánh giá và bằng chứng nằm dưới ngưỡng. Đó là một kết quả về chất lượng của thay đổi.
RUN_ERROR có nghĩa là lần chạy không hoàn tất. Không có cổng nào được đánh giá và không có gì về thay đổi đã được đo. Nó không phải là một trạng thái quyết định, và PARTIAL hay CANCELLED cũng vậy — chúng mô tả điều đã xảy ra với một lần chạy, không phải điều đã được quyết định về một hệ thống.
Một lần chạy không hoàn tất báo cáo gì
Một cổng trên một lần chạy không hoàn tất thoát với mã 5, không phải 1. Bằng chứng bị thiếu chứ không phải xấu, và hai trường hợp này cần cách phản ứng khác nhau: một cổng thất bại yêu cầu bạn xem lại thay đổi của mình, một cổng không hoàn tất yêu cầu bạn xem lại hạ tầng của mình.
Các trường hợp không thể đo được
Một trường hợp gặp lỗi được tính vào giới hạn của khoảng, không bị loại bỏ. Mọi chỉ số đều ghi bốn số đếm — tổng, đủ điều kiện, quan sát được và thiếu — và khoảng tính đến cả những trường hợp mà nó không nhìn thấy được.
Điều này quan trọng hơn vẻ ngoài của nó. Một chỉ số tính một trường hợp chưa được chấm là điểm không sẽ đổ lỗi các sự cố ngừng dịch vụ của chính hệ thống cho mô hình như thể đó là thất bại về chất lượng, và một mẫu số âm thầm co lại khi hệ thống bắt đầu hỏng chính là cách một hệ thống đang hỏng báo cáo một điểm số đang tăng. Cả hai điều này đều đã được quan sát trên một trợ lý đang hoạt động thực tế, nơi 13,8% số lần gọi trả về HTTP 500.
Thất bại tạm thời
Một hệ thống có thể khai báo rằng một thất bại là tạm thời, và một thất bại tạm thời sẽ được thử lại thay vì được ghi nhận như một kết quả về chất lượng. Một lần hết thời gian chờ của nhà cung cấp không phải là bằng chứng về một prompt.
Việc khai báo là tường minh: một hệ thống dạng callable ném ra TransientError với retryable=True. retryable mặc định là False, và một TransientError không có nó sẽ được ghi trên trường hợp như mọi ngoại lệ khác, nên trường hợp đó bị thiếu thay vì được thử lại. Một hệ thống HTTP và một nhà cung cấp giám khảo không cần khai báo: một lần hết thời gian chờ, một kết nối bị ngắt, một mã 429 hoặc một mã 5xx sẽ được thử lại cho chúng. Dù theo cách nào, một lần gọi cũng được thử tối đa bốn lần, có backoff, và một trường hợp vẫn thất bại thì bị tính là thiếu. Tiến trình và mức đồng thời minh họa cả hai.
Lỗi cấu hình
Mã thoát 2 có nghĩa là lời gọi lệnh hoặc cấu hình bị sai và không có gì được chạy. Một lần từ chối do hạn mức là một trong số đó: nó là một lỗi cấu hình với một lý do được nêu rõ, bị từ chối trước khi trường hợp đầu tiên được thực thi, và nó không bao giờ là một trạng thái quyết định. Một sự thật thương mại không được phép xuất hiện dưới hình thức một phán quyết về chất lượng.
Chẩn đoán những gì đã thất bại
oloproof diagnose RUN_ID --intervention gold-context --criterion answer_correctCan thiệp là điều kiện mà nó dùng để chạy lại các trường hợp thất bại — gold-context, top-k hoặc reranker — và criterion cho biết lấy các thất bại của bộ đánh giá nào. Một chẩn đoán báo cáo các yếu tố thất bại kèm số đếm, các id kịch bản đứng sau chúng và các giả định mà nó đã đưa ra. Nó nêu tên một yếu tố, không phải một nguyên nhân: engine không khẳng định rằng một điều đã gây ra một điều khác, và bất kỳ màn hình nào hiển thị nó cũng vậy.
Tiếp theo
- Khái niệm cốt lõi trình bày về các trạng thái quyết định và mẫu số.
- Cổng trong CI liệt kê mọi mã thoát.
- Đánh giá RAG đi qua một chẩn đoán từ đầu đến cuối.