Hướng dẫn
Tham chiếu cấu hình
Mọi trường của oloproof.yaml và release.yaml, kèm kiểu, giá trị mặc định, các giá trị nó chấp nhận và một ví dụ, được lấy từ các mô hình đọc các tệp này. Hãy dùng trang này để tra cứu một trường; đọc các trang bắt đầu nhanh và cổng để học quy trình.
Cả hai tệp đều được kiểm tra trước khi bất cứ thứ gì chạy. Một trường không xác định, một trường viết sai chính tả hoặc một giá trị sai kiểu là một lỗi cấu hình và lệnh thoát với 2 mà không thực thi trường hợp nào. Cả hai tệp đều có JSON Schema, mà một trình soạn thảo đọc được JSON Schema có thể dùng để gợi ý hoàn thành. Gói đã cài đặt ghi chúng, cùng với các schema kết quả, vào schemas/v1/ dưới thư mục hiện tại: python -m oloproof_core.models.schema_export (hai tệp là project_config.schema.json và release_policy.schema.json).
Trong các bảng bên dưới, "bắt buộc" nghĩa là tệp bị từ chối nếu thiếu trường đó; mọi trường khác cho thấy giá trị được dùng khi nó bị bỏ qua.
Tổng quan về oloproof.yaml
Một dự án nhỏ, đầy đủ. Nó chạy một hàm Python cục bộ, không cần mạng và không cần khóa, và là hình dạng mà oloproof init tạo khung.
# oloproof.yaml
version: 1
project: support-bot
dataset: datasets/support.jsonl
system:
name: support-bot
callable: app.bot:answer
evaluators:
- type: exact_match
criterion: correct_label
field: labelCác trường cấp cao nhất
| Trường | Kiểu | Mặc định | Nó là gì |
|---|---|---|---|
| version | 1 | 1 | Phiên bản định dạng tệp. Chỉ có 1. |
| project | chuỗi | bắt buộc | Tên dự án, hiển thị trong báo cáo và được dùng khi push. |
| dataset | đường dẫn | bắt buộc | Tệp bộ kiểm thử, JSONL, tương đối với dự án. Các dòng của nó được mô tả trong Bộ kiểm thử. |
| system | ánh xạ | bắt buộc | Hệ thống được kiểm thử. Xem bên dưới. |
| concurrency | ánh xạ | system: 8, judge: 4 | Bao nhiêu lời gọi hệ thống và lời gọi giám khảo chạy cùng lúc. |
| evaluators | danh sách | bắt buộc, ít nhất một | Những gì được đo trên mỗi trường hợp. Mỗi mục có một type. |
| metrics | danh sách | rỗng | Các chỉ số bổ sung ngoài chỉ số mà mỗi tiêu chí của bộ đánh giá vốn đã là. |
| predictive | ánh xạ | không có | Nhãn, điểm số và sự thật của một bộ phân loại nằm ở đâu. Xem Mô hình dự đoán. |
| slices | danh sách chuỗi | rỗng | Các lát cắt khám phá: metadata.<key>, relevant_position hoặc context_truncated. Chúng không bao giờ tới được cổng. Xem Lát cắt. |
| min_slice_support | số nguyên, ít nhất 1 | 30 | Dưới số trường hợp đủ điều kiện này, một lát cắt hiển thị ước lượng nhưng không có khoảng. |
| replicates | số nguyên, ít nhất 1 | 1 | Đo mỗi trường hợp chừng này lần. Trường hợp vẫn là đơn vị: các lần lặp được tổng hợp bên trong nó trước khi bất kỳ khoảng nào được tính. |
| pricing | danh sách | rỗng | Số tiền bạn trả cho mỗi triệu token, theo mô hình. Không có nó, chi phí được báo bằng token và không bao giờ bằng đô la. |
| egress | danh sách chuỗi | rỗng | Nội dung thô nào mà oloproof push được phép gửi lên một không gian làm việc được lưu trữ. Xem Kết quả và thực thi. |
concurrency
| Trường | Kiểu | Mặc định |
|---|---|---|
| system | số nguyên, ít nhất 1 | 8 |
| judge | số nguyên, ít nhất 1 | 4 |
Các mục pricing
Oloproof không đi kèm bảng giá nào. Mỗi mục nêu một mô hình đúng như model: của một bộ đánh giá nêu nó.
| Trường | Kiểu | Mặc định |
|---|---|---|
| model | chuỗi | bắt buộc |
| input_per_mtok | số, từ 0 trở lên | bắt buộc |
| output_per_mtok | số, từ 0 trở lên | bắt buộc |
# oloproof.yaml
version: 1
project: support-bot
dataset: datasets/support.jsonl
system:
name: support-bot
callable: app.bot:answer
evaluators:
- type: exact_match
criterion: correct_label
field: label
pricing:
- model: my-judge-model
input_per_mtok: 0.15
output_per_mtok: 0.6
egress: [raw_outputs]system
Một hệ thống cần đúng một trong callable, http hoặc rag.
| Trường | Kiểu | Mặc định | Nó là gì |
|---|---|---|---|
| name | chuỗi | bắt buộc | Tên của hệ thống. Một phần của danh tính phiên bản. |
| version | chuỗi | không có | Nhãn của bạn cho phiên bản này. Bắt buộc với một hệ thống HTTP. Một phần của danh tính, nên việc đổi nó làm mất hiệu lực các lần thực thi đã lưu đệm. |
| callable | module:attribute | không có | Một hàm Python, đồng bộ hoặc bất đồng bộ. Nó nhận input của trường hợp và trả về đầu ra. |
| http | ánh xạ | không có | Một endpoint được gọi một lần cho mỗi trường hợp. Xem bên dưới. |
| rag | ánh xạ | không có | Một lớp RAG phân tầng được khai báo bằng @rag_system. Xem bên dưới. |
| config | ánh xạ | rỗng | Các thiết lập dạng tự do được ghi cùng phiên bản hệ thống. Đổi chúng sẽ đổi phiên bản. |
| code_paths | danh sách mẫu glob | rỗng | Các tệp nguồn mà nội dung của chúng đi vào phiên bản của một hệ thống callable. Không có nó, chỉ module của chính callable được băm. |
| timeout_s | số lớn hơn 0 | 120 | Giới hạn thời gian cho mỗi lời gọi với một hệ thống callable. Một hệ thống HTTP dùng http.timeout_s thay vào đó. |
| records | danh sách loại artifact | rỗng | Các loại artifact mà một hệ thống callable ghi lại, chẳng hạn retrieval/v1. Bị từ chối trên một hệ thống HTTP hoặc RAG. |
system.http
| Trường | Kiểu | Mặc định | Nó là gì |
|---|---|---|---|
| url | chuỗi | bắt buộc | Nơi mỗi trường hợp được gửi tới. |
| method | GET, POST hoặc PUT | POST | Phương thức HTTP. |
| output_path | đường dẫn có dấu chấm | không có | Trường nào của phản hồi JSON là đầu ra, chẳng hạn result.answer. Không có nghĩa là toàn bộ thân phản hồi. |
| artifacts | ánh xạ từ loại tới đường dẫn có dấu chấm | rỗng | Các trường phản hồi được ghi lại thành artifact, chẳng hạn retrieval/v1: debug.retrieval. |
| version | chuỗi | không có | Được dùng làm phiên bản của hệ thống khi không có system.version. Một hệ thống HTTP cần một trong hai. |
| timeout_s | số lớn hơn 0 | 30 | Giới hạn thời gian cho mỗi yêu cầu. |
# oloproof.yaml
version: 1
project: support-api
dataset: datasets/support.jsonl
system:
name: support-api
version: "2026-10-08"
http:
url: http://localhost:8000/answer
output_path: answer
artifacts:
retrieval/v1: debug.retrieval
evaluators:
- type: hit_rate
k: 5Hợp đồng yêu cầu và phản hồi, và điều gì xảy ra khi hết thời gian và khi có lỗi HTTP, nằm trong Kết quả và thực thi.
system.rag
| Trường | Kiểu | Mặc định | Nó là gì |
|---|---|---|---|
| object | module:attribute | bắt buộc | Lớp được khai báo bằng @rag_system, hoặc một thể hiện của nó. |
| depth | số nguyên, ít nhất 1 | của lớp | Việc truy xuất trả về bao nhiêu đoạn văn. |
| top_k | số nguyên, ít nhất 1 | của lớp | Bao nhiêu trong số đó tới được bước sinh. |
| token_budget | số nguyên, ít nhất 1 | của lớp | Một giới hạn token cho ngữ cảnh. Cần count_tokens(passage) của lớp. |
| index_version | chuỗi | của lớp | Một phần của danh tính truy xuất. Hãy đổi nó mỗi khi chỉ mục được xây dựng lại. |
Các thiết lập đưa ở đây ghi đè các thiết lập mà lớp khai báo. Một hệ thống phân tầng tự ghi lại các artifact retrieval/v1, context/v1 và citations/v1 của nó, nên records bị từ chối khi đi cùng nó. Xem RAG.
evaluators
Mọi mục nhận một type và hai trường chung sau:
| Trường | Kiểu | Mặc định | Nó là gì |
|---|---|---|---|
| criterion | chuỗi | bắt buộc trừ khi loại đó có mặc định | Tên của thứ được đo. Mỗi tiêu chí là một chỉ số, và metric: của một quy tắc nêu nó. |
| on_execution_error | missing hoặc fail | missing | Một trường hợp mà lời gọi hệ thống thất bại được tính là gì cho tiêu chí này. missing giữ nó trong mẫu số là chưa quan sát; fail tính nó là một thất bại. |
fail chỉ áp dụng cho các bộ đánh giá đạt/không đạt; một bộ đánh giá điểm số có nó là một lỗi cấu hình. on_execution_error là một trường YAML; các lớp bộ đánh giá của SDK không nhận đối số như vậy, và một trường hợp bị lỗi được tính là bị thiếu.
Các loại bộ đánh giá
"Đọc" liệt kê những gì phán quyết của bộ đánh giá phụ thuộc vào, cũng là thứ mà phán quyết đã lưu đệm của nó được lập khóa theo. "SDK" nêu lớp trong oloproof.evaluators.
| type YAML | Đọc | SDK | Cần mạng hoặc khóa |
|---|---|---|---|
| exact_match | output, expected | ExactMatch | không |
| contains | output, expected | Contains | không |
| regex | output | Regex | không |
| json_schema | output | JsonSchema | không |
| rubric_judge | input, output, expected | RubricJudge | có, một nhà cung cấp mô hình |
| model_classifier | output (hoặc trường được nêu bởi text), tùy chọn premise | chỉ YAML | có, một máy chủ tương thích TEI |
| probability_judge | trường hợp và đầu ra | chỉ YAML | có, một nhà cung cấp tương thích OpenAI trả về log xác suất |
| cascade | như hai tầng của nó | chỉ YAML | có |
| hit_rate, recall, mrr, ndcg | artifacts.retrieval, expected | HitRate, Recall, MRR, NDCG | không |
| citation_validity | artifacts.citations, artifacts.context | CitationValidity | không |
| groundedness_judge | input, output, artifacts.context | Groundedness | có |
| citation_support_judge | input, output, artifacts.context, artifacts.citations | CitationSupport | có |
| agent_max_steps | artifacts.agent_trajectory | AgentMaxSteps | không |
| agent_tool_called | artifacts.agent_trajectory | AgentToolCalled | không |
| agent_no_tool_loop | artifacts.agent_trajectory | AgentNoToolLoop | không |
| agent_tool_sequence | artifacts.agent_trajectory, expected | AgentToolSequence | không |
| agent_no_undeclared_tool | artifacts.agent_trajectory, expected | AgentNoUndeclaredTool | không |
| agent_constraints_satisfied | artifacts.agent_trajectory | AgentConstraintsSatisfied | không |
| agent_route | artifacts.agent_trajectory | AgentRoute | không |
| agent_tool_permissions | artifacts.agent_trajectory | AgentToolPermissions | không |
| agent_max_handoffs | artifacts.agent_trajectory | AgentMaxHandoffs | không |
| predictive_correct | trường nhãn của output và expected | PredictiveCorrect | không |
| predictive_recall | như trên | PredictiveRecall | không |
| predictive_precision | như trên | PredictivePrecision | không |
| predictive_absolute_error | như trên, dạng số | AbsoluteError | không |
| predictive_brier | trường điểm số của output, nhãn của expected | Brier | không |
| predictive_log_loss | như trên | LogLoss | không |
| predictive_ranking | như trên | PredictiveRanking | không |
| không có loại YAML | artifacts.conversation | ConversationCompleted (chỉ SDK) | không |
| không có loại YAML | expected, artifacts.conversation | ConversationJudge (chỉ SDK) | có |
| không có loại YAML | những gì bạn khai báo | @evaluator và CustomEvaluator (chỉ SDK) | tùy bạn |
Một giám khảo gọi một mô hình được lưu trữ sẽ gửi nội dung trường hợp tới nhà cung cấp đó và bị nhà cung cấp đó tính phí. Khóa được đọc từ biến môi trường được nêu trong api_key_env; Oloproof không bao giờ lưu chúng trong các tệp này.
Bộ đánh giá tất định
| Loại | Trường | Kiểu | Mặc định |
|---|---|---|---|
| exact_match | field | đường dẫn có dấu chấm trong đầu ra | không có: toàn bộ đầu ra |
| exact_match | expected_field | đường dẫn có dấu chấm trong expected | không có: giống field |
| exact_match | strip | boolean | true |
| exact_match | casefold | boolean | false |
| contains | field, expected_field | như exact_match | không có |
| regex | pattern | biểu thức chính quy | bắt buộc |
| regex | field | đường dẫn có dấu chấm | không có |
| regex | pass_if | match hoặc no_match | match |
| json_schema | schema | một JSON Schema viết trực tiếp, hoặc một đường dẫn tới tệp JSON tương đối với dự án | bắt buộc |
| json_schema | field | đường dẫn có dấu chấm | không có |
Giám khảo mô hình
rubric_judge, groundedness_judge và citation_support_judge dùng chung các trường này. rubric_judge yêu cầu đúng một trong rubric_file hoặc rubric_text; hai giám khảo RAG nhận tối đa một và nếu không thì dùng một rubric có sẵn. criterion của chúng mặc định là groundedness và citation_support.
| Trường | Kiểu | Mặc định |
|---|---|---|
| provider | anthropic, openai hoặc openai_compatible | bắt buộc |
| model | chuỗi | bắt buộc |
| rubric_file | đường dẫn | không có |
| rubric_text | chuỗi | không có |
| api_key_env | tên biến môi trường | ANTHROPIC_API_KEY hoặc OPENAI_API_KEY |
| base_url | URL | của nhà cung cấp |
| temperature | số | 0 |
| max_tokens | số nguyên, ít nhất 1 | 512 |
| timeout_s | số lớn hơn 0 | 60 |
probability_judge hỏi một câu hỏi có kiểu và đọc các xác suất của mô hình:
| Trường | Kiểu | Mặc định |
|---|---|---|
| provider | openai hoặc openai_compatible | bắt buộc |
| model | chuỗi | bắt buộc |
| question | chuỗi | bắt buộc |
| form | yes_no, choice hoặc score | bắt buộc |
| min_probability | số trong (0, 1] | bắt buộc |
| options | ánh xạ từ câu trả lời tới mô tả | cho choice |
| pass_options | danh sách câu trả lời | cho choice |
| levels | ánh xạ từ mức tới mô tả, thấp nhất trước | cho score |
| pass_at_least | một mức | cho score |
| calibration | slope (lớn hơn 0), intercept, from_version | không có |
| api_key_env, base_url | như trên | không có |
| timeout_s | số lớn hơn 0 | 60 |
cascade chạy một giám khảo rẻ trước và chuyển lên các trường hợp chưa chắc chắn:
| Trường | Kiểu | Mặc định |
|---|---|---|
| first | một mục probability_judge | bắt buộc |
| then | một mục rubric_judge hoặc probability_judge | bắt buộc |
| escalate_between | hai xác suất | bắt buộc |
Các tầng chấm theo chính criterion của cascade; một tầng nêu một tiêu chí khác sẽ bị từ chối.
model_classifier chấm điểm văn bản bằng một mô hình đã huấn luyện trên một máy chủ tương thích TEI:
| Trường | Kiểu | Mặc định |
|---|---|---|
| model | chuỗi | bắt buộc |
| base_url | URL | bắt buộc |
| label | nhãn của bộ phân loại cần đọc | bắt buộc |
| min_score hoặc max_score | số trong [0, 1], đúng một | bắt buộc |
| text | trường nào được phân loại | output |
| premise | một văn bản thứ hai, cho các bộ phân loại cặp | không có |
| api_key_env | tên biến môi trường | không có |
| timeout_s | số lớn hơn 0 | 30 |
Bộ đánh giá RAG
| Loại | Trường | Kiểu | Mặc định |
|---|---|---|---|
| hit_rate, recall, mrr, ndcg | k | số nguyên, ít nhất 1 | 5 cho hit_rate và recall, 10 cho mrr và ndcg |
| hit_rate, recall, mrr, ndcg | relevance_unit | doc hoặc chunk | doc |
| hit_rate, recall, mrr, ndcg | criterion | chuỗi | <type>_at_<k>, chẳng hạn hit_rate_at_5 |
| citation_validity | require_citations | boolean | false |
| citation_validity | criterion | chuỗi | citations_valid |
Bộ đánh giá agent
| Loại | Trường | Kiểu | Mặc định |
|---|---|---|---|
| agent_max_steps | max_steps | số nguyên, ít nhất 1 | bắt buộc |
| agent_tool_called | tool_name | chuỗi | bắt buộc |
| agent_tool_called | min_calls | số nguyên, ít nhất 1 | 1 |
| agent_no_tool_loop | max_repeats | số nguyên, ít nhất 1 | 2 |
| agent_tool_sequence | ordered | boolean | true |
| agent_constraints_satisfied | constraints | danh sách tên ràng buộc | rỗng |
| agent_tool_permissions | permissions | ánh xạ từ agent tới các công cụ được phép | bắt buộc |
| agent_max_handoffs | max_handoffs | số nguyên, từ 0 trở lên | bắt buộc |
Mỗi loại agent có một criterion mặc định, nên có thể bỏ qua nó: chính tên loại của nó, hoặc một tên được dựng từ thiết lập của nó (agent_steps_le_8, agent_tool_lookup_called, agent_handoffs_le_2). Xem Agent.
Bộ đánh giá dự đoán
| Loại | Trường | Kiểu | Mặc định |
|---|---|---|---|
| predictive_correct, predictive_recall, predictive_precision | positive | bất kỳ giá trị JSON nào | true, hoặc của khối predictive: |
| như trên | field | trường đầu ra | label, hoặc predictive.label_field |
| như trên | expected_field | trường kỳ vọng | label, hoặc predictive.expected_field |
| predictive_absolute_error | target_range | hai số | bắt buộc |
| predictive_absolute_error | field, expected_field | như trên | label |
| predictive_brier, predictive_log_loss, predictive_ranking | positive | bất kỳ giá trị JSON nào | true, hoặc của khối |
| như trên | field | trường đầu ra | score, hoặc predictive.score_field |
| như trên | expected_field | trường kỳ vọng | label, hoặc của khối |
| predictive_log_loss | clip | số trong (0, 0.5) | bắt buộc |
Một bộ đánh giá dự đoán không viết positive, field hoặc expected_field sẽ lấy chúng từ khối predictive:; một giá trị mà nó viết thì được giữ nguyên.
predictive
| Trường | Kiểu | Mặc định |
|---|---|---|
| label_field | chuỗi | label |
| score_field | chuỗi | score |
| expected_field | chuỗi | label |
| positive | bất kỳ giá trị JSON nào | true |
| calibration_bins | số nguyên, ít nhất 1 | 10 |
| thresholds | danh sách số | rỗng |
| average | macro hoặc micro | không có: không tổng hợp |
metrics
Mỗi tiêu chí của bộ đánh giá vốn đã là một chỉ số. Một mục metrics: thêm một chỉ số nữa, được phân biệt bằng type.
| type | Trường | Nó là gì |
|---|---|---|
| quantile | id, source, quantile trong (0, 1) | Một phân vị của latency_ms, input_tokens, output_tokens, cost_usd, agent_steps hoặc agent_tool_calls. |
| ranking | id, criterion, statistic: roc_auc hoặc average_precision | Một thống kê trên thứ tự điểm số của một tiêu chí xếp hạng. |
| human_score, human_preference | id | Bị từ chối: chưa có phương pháp được chấp nhận nào đọc các nhãn này. |
| cost_per_accepted | id, criterion, cost_ceiling_usd, cost_ceiling_source | Bị từ chối cho tới khi phần kết nối của nó được chấp nhận qua kiểm định. |
# oloproof.yaml
version: 1
project: support-bot
dataset: datasets/support.jsonl
system:
name: support-bot
callable: app.bot:answer
evaluators:
- type: exact_match
criterion: correct_label
field: label
metrics:
- id: latency_p95
type: quantile
source: latency_ms
quantile: 0.95release.yaml
Chính sách phát hành: quy tắc nào quyết định, và quyết định nào chặn. Các thiết lập bị bỏ qua giữ giá trị mặc định, nên một chính sách chỉ nêu các quy tắc của nó vẫn chặn trên FAIL, INSUFFICIENT_EVIDENCE và MANUAL_REVIEW.
# release.yaml
version: 1
rules:
- id: label_accuracy
metric: correct_label
min: 0.8| Trường | Kiểu | Mặc định | Nó là gì |
|---|---|---|---|
| version | 1 | 1 | Phiên bản định dạng tệp. |
| confidence_level | xác suất | 0.95 | Mức của mọi khoảng mà một quy tắc đọc. |
| block_on | danh sách trạng thái quyết định | FAIL, INSUFFICIENT_EVIDENCE, MANUAL_REVIEW | Các trạng thái khiến cổng chặn, và đặt mã thoát. |
| warn_on | danh sách trạng thái quyết định | rỗng | Các trạng thái cảnh báo mà không chặn. Không được trùng với block_on. |
| block_on_partial_run | boolean | true | Một lần chạy chưa hoàn tất có chặn hay không, với mã thoát 5. |
| require_validated_evaluators | boolean | true | Một quy tắc trên một giám khảo mô hình có giữ lại quyết định cho tới khi giám khảo được xác thực so với nhãn của con người hay không. Các bộ đánh giá tất định được miễn. |
| minimum_evaluator_agreement | số trong [0, 1] | không có | Mức đồng thuận với nhãn của con người mà một giám khảo phải đạt, theo cận dưới của nó, trước khi được xác thực. |
| maximum_evaluator_bias | số trong (0, 1] | không có | Tỷ lệ đạt của một giám khảo được phép cách tỷ lệ của con người bao xa trước khi nó được xác thực. |
| allow_approximate_methods | boolean | false | Một quy tắc có được quyết định dựa trên một khoảng mà engine đánh dấu là xấp xỉ (khoảng nhị phân theo cụm) hay không. Nếu không, nó ghi MANUAL_REVIEW. |
| min_clusters | số nguyên, ít nhất 10 | 20 | Ít cụm hơn số này thì một quy tắc theo cụm ghi INSUFFICIENT_EVIDENCE. |
| difference_method | bounded_paired_difference@1 hoặc conditional_exact_paired_difference@1 | không có: phương pháp thứ nhất | Phương pháp được chấp nhận nào chặn biên một khác biệt tỷ lệ nhị phân ghép cặp. |
| early_stopping | boolean | false | Chạy các trường hợp theo lô và dừng khi mọi quy tắc đã được quyết định. Xem Cổng. |
| early_stopping_seed | số nguyên, từ 0 trở lên | không có | Seed của thứ tự trường hợp. |
| early_stopping_batch_size | số nguyên, ít nhất 1 | 25 | Số trường hợp mỗi lô. |
| rules | danh sách | bắt buộc, ít nhất một | Các quy tắc. Xem bên dưới. |
| families | danh sách | rỗng | Các quy tắc mà các FAIL sai của chúng được kiểm soát cùng nhau. |
| review_rule | ánh xạ | không có | Bị từ chối: phần kết nối chưa được chấp nhận. |
rules
Một danh sách chứa cả hai loại. Một quy tắc lần chạy nhận đúng một trong min, max hoặc max_failures. Một quy tắc so sánh nêu kind của nó và quyết định một khác biệt giữa hai lần chạy; xem Quy tắc so sánh.
| Trường | Kiểu | Mặc định | Áp dụng cho |
|---|---|---|---|
| id | chuỗi | bắt buộc | tất cả |
| metric | một id chỉ số hoặc tiêu chí | bắt buộc | tất cả |
| kind | interval_threshold, observed_count, superiority, non_inferiority, equivalence | được suy ra cho các quy tắc lần chạy | tất cả |
| min | số | không có | quy tắc lần chạy: PASS khi cận dưới của khoảng ít nhất bằng giá trị này |
| max | số | không có | quy tắc lần chạy: PASS khi cận trên của khoảng nhiều nhất bằng giá trị này |
| max_failures | số nguyên, từ 0 trở lên | không có | observed_count: một số đếm trên bộ kiểm thử đã thực thi, không có khoảng |
| margin | số lớn hơn 0, theo đơn vị của chỉ số | không có | non_inferiority và equivalence; bị từ chối trên superiority |
| direction | min hoặc max | min | chỉ non_inferiority: cao hơn hay thấp hơn là tốt hơn |
| max_missing_fraction | số trong [0, 1] | không có | quy tắc khoảng và quy tắc so sánh |
| requires_manual_review | boolean | false | tất cả: quy tắc luôn ghi MANUAL_REVIEW |
| scope | global hoặc một lát cắt | global | quy tắc khoảng và quy tắc so sánh |
| min_support | số nguyên, ít nhất 1 | không có | quy tắc so sánh trên một lát cắt |
families
| Trường | Kiểu | Mặc định |
|---|---|---|
| id | chuỗi | bắt buộc |
| correction | holm | holm |
| rules | danh sách id quy tắc | bắt buộc, ít nhất một |
# release.yaml
version: 1
warn_on: [INSUFFICIENT_EVIDENCE]
block_on: [FAIL, MANUAL_REVIEW]
rules:
- id: label_accuracy
metric: correct_label
min: 0.8
max_missing_fraction: 0.05
- id: no_regression
metric: correct_label
kind: non_inferiority
margin: 0.02Các loại artifact
Một artifact là một bản ghi có kiểu mà một hệ thống viết bên cạnh đầu ra của nó, chẳng hạn những gì nó đã truy xuất. Một loại là một tên chữ thường với một phiên bản tùy chọn, khớp ^[a-z][a-z0-9_]*(/v[1-9][0-9]*)?$. Các bộ đánh giá cần một artifact sẽ nêu nó, và một lần chạy mà hệ thống không khai báo một loại bắt buộc sẽ bị từ chối trước khi bắt đầu, thay vì tính mọi trường hợp là bị thiếu.
| Loại | Được viết bởi | Được yêu cầu bởi |
|---|---|---|
| retrieval/v1 | current_case().retrieval(...), một @rag_system, hoặc http.artifacts | hit_rate, recall, mrr, ndcg |
| context/v1 | current_case().context(...) hoặc một @rag_system | citation_validity, groundedness_judge, citation_support_judge |
| citations/v1 | current_case().citations(...) hoặc một @rag_system | citation_validity, citation_support_judge |
| agent_trajectory/v1 | current_case().agent_trajectory(...) | mọi bộ đánh giá agent_*, và các nguồn agent_steps và agent_tool_calls |
| conversation/v1 | current_case().artifact(CONVERSATION, ...) | ConversationCompleted, ConversationJudge |
| stage_timings/v1 | một @rag_system | không có; hiển thị bên cạnh độ trễ |
Một hệ thống callable khai báo các loại mà nó ghi lại trong records: (hoặc @system(records=...)); một hệ thống HTTP trong http.artifacts; một hệ thống RAG phân tầng tự ghi lại các loại của nó.
Phiên bản, khóa bộ nhớ đệm và việc mất hiệu lực
Oloproof tái sử dụng công việc có đầu vào không thay đổi, và quyết định "không thay đổi" nghĩa là gì từ các digest nội dung. Mỗi digest được engine tính và ghi lại cùng lần chạy.
| Bản ghi | Được tái sử dụng khi những thứ này giống hệt nhau |
|---|---|
| Phiên bản hệ thống | name, version, config, và một digest mã: mã nguồn module của một callable (hoặc mọi tệp khớp code_paths), url, method, output_path và artifacts của một hệ thống HTTP |
| Lần thực thi | phiên bản hệ thống, input của trường hợp và chỉ số lần lặp. Chỉ các lần thực thi thành công mới được tái sử dụng. |
| Phán quyết | phiên bản bộ đánh giá (loại của nó và mọi thiết lập) và một digest của mỗi trường mà nó đọc, như được liệt kê trong bảng bộ đánh giá |
| Phân tích | kế hoạch phân tích, chỉ số, mức tin cậy, digest của bộ kiểm thử và mọi đầu vào mà nó đã đếm |
| Cổng | mọi phân tích, digest của chính sách, việc lần chạy đã hoàn tất hay chưa, và trạng thái hiệu lực của mỗi bộ đánh giá mà các quyết định viện dẫn |
Những gì Oloproof không thể thấy là do bạn khai báo:
- Hành vi của một hệ thống HTTP nằm trên máy chủ. Hãy đổi system.version mỗi khi thứ đằng sau URL thay đổi, nếu không một đầu ra cũ đã lưu đệm sẽ đứng thay cho hệ thống mới.
- Các module phụ trợ của một callable chỉ được băm khi code_paths khớp với chúng. Không có nó, việc sửa một module phụ trợ không thay đổi phiên bản.
- Một phương thức hoặc một đối tượng callable phải khai báo một phiên bản, và phiên bản phải thay đổi khi trạng thái của đối tượng thay đổi.
- Một chỉ mục RAG được nhận diện bằng index_version; hãy đổi nó khi chỉ mục được xây dựng lại.
- Danh tính của một giám khảo mô hình là các thiết lập của nó, không phải trọng số của nhà cung cấp. Bộ nhớ đệm không phát hiện được việc một nhà cung cấp cập nhật mô hình đằng sau cùng một tên.
- Một @evaluator tùy chỉnh băm tệp module định nghĩa nó, và các phán quyết của nó chỉ được tái sử dụng giữa các lần chạy khi nó khai báo cacheable=True. Các giám khảo rubric có sẵn có thể lưu đệm; các bộ đánh giá tất định được tính lại, việc này rẻ.
Công việc đã lưu đệm nằm trong kho lưu trữ cục bộ của dự án, .oloproof/store.sqlite bên cạnh oloproof.yaml (hoặc dưới OLOPROOF_HOME). Xóa kho lưu trữ sẽ loại bỏ mọi bộ nhớ đệm và mọi lần chạy. Trong một không gian làm việc được lưu trữ, engine không tái sử dụng các lần thực thi, phán quyết hay phân tích đã lưu đệm, vì một lần push có thể ghi vào chúng; nó tính lại.