Kılavuzlar
Yapılandırma başvurusu
oloproof.yaml ve release.yaml dosyalarının her alanı; türü, varsayılanı, kabul ettiği değerler ve bir örnekle birlikte, dosyaları okuyan modellerden alınmıştır. Bir alana bakmak için kullanın; iş akışını öğrenmek için hızlı başlangıç ve kapı denetimi sayfalarını okuyun.
İki dosya da herhangi bir şey çalışmadan önce doğrulanır. Bilinmeyen bir alan, yanlış yazılmış bir alan ya da yanlış türde bir değer bir yapılandırma hatasıdır ve komut tek bir vaka yürütmeden 2 ile çıkar. İki dosyanın da JSON Schema'ları vardır; JSON Schema okuyan bir düzenleyici onları tamamlama için kullanabilir. Kurulu paket onları, sonuç şemalarıyla birlikte, geçerli dizin altındaki schemas/v1/ içine yazar: python -m oloproof_core.models.schema_export (ikisi project_config.schema.json ve release_policy.schema.json dosyalarıdır).
Aşağıdaki tablolarda "zorunlu", dosyanın o alan olmadan reddedildiği anlamına gelir; diğer her alan, verilmediğinde kullanılan değeri gösterir.
Bir bakışta oloproof.yaml
Küçük, eksiksiz bir proje. Bir Python fonksiyonunu yerelde çalıştırır, ağ ve anahtar gerektirmez ve oloproof init komutunun oluşturduğu biçimdir.
# 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Üst düzey alanlar
| Alan | Tür | Varsayılan | Nedir |
|---|---|---|---|
| version | 1 | 1 | Dosya biçimi sürümü. Yalnızca 1 vardır. |
| project | dize | zorunlu | Projenin adı; raporlarda gösterilir ve push ederken kullanılır. |
| dataset | yol | zorunlu | Projeye göre JSONL paket dosyası. Satırları Paketler sayfasında anlatılır. |
| system | eşleme | zorunlu | Test edilen sistem. Aşağıya bakın. |
| concurrency | eşleme | system: 8, judge: 4 | Aynı anda kaç sistem çağrısı ve hakem çağrısı çalışacağı. |
| evaluators | liste | zorunlu, en az bir | Her vakada neyin ölçüldüğü. Her girdinin bir type değeri vardır. |
| metrics | liste | boş | Her değerlendirici kriterinin zaten olduğu metriğin ötesindeki ek metrikler. |
| predictive | eşleme | yok | Bir sınıflandırıcının etiketinin, puanının ve gerçeğinin nerede olduğu. Bkz. Tahminsel modeller. |
| slices | dize listesi | boş | Keşif amaçlı dilimler: metadata.<key>, relevant_position ya da context_truncated. Asla kapıya ulaşmazlar. Bkz. Dilimler. |
| min_slice_support | tamsayı, en az 1 | 30 | Bu sayıdan az uygun vakada bir dilim tahminini gösterir ama aralık göstermez. |
| replicates | tamsayı, en az 1 | 1 | Her vakayı bu kadar kez ölçün. Birim vaka olarak kalır: yinelemeler herhangi bir aralık hesaplanmadan önce vaka içinde toplanır. |
| pricing | liste | boş | Model başına milyon token için ne ödediğiniz. Bu olmadan maliyet asla dolar olarak değil, token olarak bildirilir. |
| egress | dize listesi | boş | oloproof push komutunun barındırılan bir çalışma alanına hangi ham içeriği gönderebileceği. Bkz. Sonuçlar ve yürütme. |
concurrency
| Alan | Tür | Varsayılan |
|---|---|---|
| system | tamsayı, en az 1 | 8 |
| judge | tamsayı, en az 1 | 4 |
pricing girdileri
Oloproof bir fiyat tablosuyla gelmez. Her girdi bir modeli tam olarak bir değerlendiricinin model: alanının adlandırdığı gibi adlandırır.
| Alan | Tür | Varsayılan |
|---|---|---|
| model | dize | zorunlu |
| input_per_mtok | sayı, 0 ya da daha fazla | zorunlu |
| output_per_mtok | sayı, 0 ya da daha fazla | zorunlu |
# 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
Bir sistem callable, http ya da rag değerlerinden tam olarak birine ihtiyaç duyar.
| Alan | Tür | Varsayılan | Nedir |
|---|---|---|---|
| name | dize | zorunlu | Sistemin adı. Sürüm kimliğinin parçası. |
| version | dize | yok | Bu sürüm için sizin etiketiniz. Bir HTTP sistemi için zorunludur. Kimliğin parçasıdır, bu yüzden onu değiştirmek önbellekteki yürütmeleri geçersiz kılar. |
| callable | module:attribute | yok | Eşzamanlı ya da eşzamansız bir Python fonksiyonu. Vakanın input değerini alır ve çıktıyı döndürür. |
| http | eşleme | yok | Her vaka için bir kez çağrılan bir uç nokta. Aşağıya bakın. |
| rag | eşleme | yok | @rag_system ile bildirilmiş aşamalı bir RAG sınıfı. Aşağıya bakın. |
| config | eşleme | boş | Sistem sürümüyle birlikte kaydedilen serbest biçimli ayarlar. Onları değiştirmek sürümü değiştirir. |
| code_paths | glob örüntüleri listesi | boş | İçerikleri bir callable sistemin sürümüne giren kaynak dosyalar. Bu olmadan yalnızca callable'ın kendi modülü özetlenir. |
| timeout_s | 0'ın üzerinde sayı | 120 | Bir callable sistem için çağrı başına zaman sınırı. Bir HTTP sistemi bunun yerine http.timeout_s kullanır. |
| records | yapıt türleri listesi | boş | Bir callable sistemin kaydettiği yapıt türleri, örneğin retrieval/v1. Bir HTTP ya da RAG sisteminde reddedilir. |
system.http
| Alan | Tür | Varsayılan | Nedir |
|---|---|---|---|
| url | dize | zorunlu | Her vakanın gönderildiği yer. |
| method | GET, POST ya da PUT | POST | HTTP yöntemi. |
| output_path | noktalı yol | yok | JSON yanıtının hangi alanının çıktı olduğu, örneğin result.answer. Yoksa gövdenin tamamı demektir. |
| artifacts | türden noktalı yola eşleme | boş | Yapıt olarak kaydedilen yanıt alanları, örneğin retrieval/v1: debug.retrieval. |
| version | dize | yok | system.version yokken sistemin sürümü olarak kullanılır. Bir HTTP sistemi ikisinden birine ihtiyaç duyar. |
| timeout_s | 0'ın üzerinde sayı | 30 | İstek başına zaman sınırı. |
# 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: 5İstek ve yanıt sözleşmesi ile zaman aşımlarında ve HTTP hatalarında ne olduğu Sonuçlar ve yürütme sayfasındadır.
system.rag
| Alan | Tür | Varsayılan | Nedir |
|---|---|---|---|
| object | module:attribute | zorunlu | @rag_system ile bildirilmiş sınıf ya da onun bir örneği. |
| depth | tamsayı, en az 1 | sınıfınki | Getirmenin kaç pasaj döndürdüğü. |
| top_k | tamsayı, en az 1 | sınıfınki | Bunlardan kaçının üretime ulaştığı. |
| token_budget | tamsayı, en az 1 | sınıfınki | Bağlam üzerinde bir token sınırı. Sınıfın count_tokens(passage) yöntemini gerektirir. |
| index_version | dize | sınıfınki | Getirme kimliğinin parçası. Dizin her yeniden oluşturulduğunda değiştirin. |
Burada verilen ayarlar sınıfın bildirdiklerini geçersiz kılar. Aşamalı bir sistem kendi retrieval/v1, context/v1 ve citations/v1 yapıtlarını kaydeder, bu yüzden yanında records reddedilir. Bkz. RAG.
evaluators
Her girdi bir type ve şu iki ortak alanı alır:
| Alan | Tür | Varsayılan | Nedir |
|---|---|---|---|
| criterion | dize | türün varsayılanı yoksa zorunlu | Ölçülen şeyin adı. Her kriter bir metriktir ve bir kuralın metric: alanı onu adlandırır. |
| on_execution_error | missing ya da fail | missing | Sistem çağrısı başarısız olan bir vakanın bu kriter için ne sayıldığı. missing onu gözlenmemiş olarak paydada tutar; fail onu başarısızlık sayar. |
fail yalnızca geçti/kaldı değerlendiricilerine uygulanır; onu taşıyan bir puan değerlendiricisi bir yapılandırma hatasıdır. on_execution_error bir YAML alanıdır; SDK değerlendirici sınıfları böyle bir argüman almaz ve hata veren bir vaka eksik sayılır.
Değerlendirici türleri
"Okuduğu", değerlendiricinin hükmünün neye bağlı olduğunu listeler; önbellekteki yargısının anahtarı da budur. "SDK", oloproof.evaluators içindeki sınıfı adlandırır.
| YAML type | Okuduğu | SDK | Ağ ya da anahtar gerekir mi |
|---|---|---|---|
| exact_match | output, expected | ExactMatch | hayır |
| contains | output, expected | Contains | hayır |
| regex | output | Regex | hayır |
| json_schema | output | JsonSchema | hayır |
| rubric_judge | input, output, expected | RubricJudge | evet, bir model sağlayıcısı |
| model_classifier | output (ya da text ile adlandırılan alan), isteğe bağlı olarak premise | yalnızca YAML | evet, TEI uyumlu bir sunucu |
| probability_judge | vaka ve çıktı | yalnızca YAML | evet, log olasılıkları döndüren OpenAI uyumlu bir sağlayıcı |
| cascade | iki aşaması gibi | yalnızca YAML | evet |
| hit_rate, recall, mrr, ndcg | artifacts.retrieval, expected | HitRate, Recall, MRR, NDCG | hayır |
| citation_validity | artifacts.citations, artifacts.context | CitationValidity | hayır |
| groundedness_judge | input, output, artifacts.context | Groundedness | evet |
| citation_support_judge | input, output, artifacts.context, artifacts.citations | CitationSupport | evet |
| agent_max_steps | artifacts.agent_trajectory | AgentMaxSteps | hayır |
| agent_tool_called | artifacts.agent_trajectory | AgentToolCalled | hayır |
| agent_no_tool_loop | artifacts.agent_trajectory | AgentNoToolLoop | hayır |
| agent_tool_sequence | artifacts.agent_trajectory, expected | AgentToolSequence | hayır |
| agent_no_undeclared_tool | artifacts.agent_trajectory, expected | AgentNoUndeclaredTool | hayır |
| agent_constraints_satisfied | artifacts.agent_trajectory | AgentConstraintsSatisfied | hayır |
| agent_route | artifacts.agent_trajectory | AgentRoute | hayır |
| agent_tool_permissions | artifacts.agent_trajectory | AgentToolPermissions | hayır |
| agent_max_handoffs | artifacts.agent_trajectory | AgentMaxHandoffs | hayır |
| predictive_correct | output ve expected içindeki etiket alanı | PredictiveCorrect | hayır |
| predictive_recall | yukarıdaki gibi | PredictiveRecall | hayır |
| predictive_precision | yukarıdaki gibi | PredictivePrecision | hayır |
| predictive_absolute_error | yukarıdaki gibi, sayısal | AbsoluteError | hayır |
| predictive_brier | output içindeki puan alanı, expected içindeki etiket | Brier | hayır |
| predictive_log_loss | yukarıdaki gibi | LogLoss | hayır |
| predictive_ranking | yukarıdaki gibi | PredictiveRanking | hayır |
| YAML türü yok | artifacts.conversation | ConversationCompleted (yalnızca SDK) | hayır |
| YAML türü yok | expected, artifacts.conversation | ConversationJudge (yalnızca SDK) | evet |
| YAML türü yok | sizin bildirdiğiniz | @evaluator ve CustomEvaluator (yalnızca SDK) | size bağlı |
Barındırılan bir modeli çağıran bir hakem vaka içeriğini o sağlayıcıya gönderir ve onun tarafından faturalanır. Anahtarlar api_key_env içinde adlandırılan ortam değişkeninden okunur; Oloproof onları asla bu dosyalarda saklamaz.
Deterministik değerlendiriciler
| Tür | Alan | Tür | Varsayılan |
|---|---|---|---|
| exact_match | field | çıktıda noktalı yol | yok: çıktının tamamı |
| exact_match | expected_field | expected içinde noktalı yol | yok: field ile aynı |
| exact_match | strip | mantıksal değer | true |
| exact_match | casefold | mantıksal değer | false |
| contains | field, expected_field | exact_match gibi | yok |
| regex | pattern | düzenli ifade | zorunlu |
| regex | field | noktalı yol | yok |
| regex | pass_if | match ya da no_match | match |
| json_schema | schema | satır içi bir JSON Schema ya da projeye göre bir JSON dosyası yolu | zorunlu |
| json_schema | field | noktalı yol | yok |
Model hakemleri
rubric_judge, groundedness_judge ve citation_support_judge bu alanları paylaşır. rubric_judge, rubric_file ya da rubric_text değerlerinden tam olarak birini gerektirir; iki RAG hakemi en fazla birini alır, aksi halde yerleşik bir rubrik kullanır. criterion değerleri varsayılan olarak groundedness ve citation_support olur.
| Alan | Tür | Varsayılan |
|---|---|---|
| provider | anthropic, openai ya da openai_compatible | zorunlu |
| model | dize | zorunlu |
| rubric_file | yol | yok |
| rubric_text | dize | yok |
| api_key_env | ortam değişkeni adı | ANTHROPIC_API_KEY ya da OPENAI_API_KEY |
| base_url | URL | sağlayıcınınki |
| temperature | sayı | 0 |
| max_tokens | tamsayı, en az 1 | 512 |
| timeout_s | 0'ın üzerinde sayı | 60 |
probability_judge tipli bir soru sorar ve modelin olasılıklarını okur:
| Alan | Tür | Varsayılan |
|---|---|---|
| provider | openai ya da openai_compatible | zorunlu |
| model | dize | zorunlu |
| question | dize | zorunlu |
| form | yes_no, choice ya da score | zorunlu |
| min_probability | (0, 1] içinde sayı | zorunlu |
| options | yanıttan açıklamaya eşleme | choice için |
| pass_options | yanıt listesi | choice için |
| levels | en düşükten başlayarak düzeyden açıklamaya eşleme | score için |
| pass_at_least | bir düzey | score için |
| calibration | slope (0'ın üzerinde), intercept, from_version | yok |
| api_key_env, base_url | yukarıdaki gibi | yok |
| timeout_s | 0'ın üzerinde sayı | 60 |
cascade önce ucuz bir hakem çalıştırır ve belirsiz vakaları yukarı taşır:
| Alan | Tür | Varsayılan |
|---|---|---|
| first | bir probability_judge girdisi | zorunlu |
| then | bir rubric_judge ya da probability_judge girdisi | zorunlu |
| escalate_between | iki olasılık | zorunlu |
Aşamalar kaskadın kendi criterion değerini değerlendirir; farklı birini adlandıran bir aşama reddedilir.
model_classifier, metni TEI uyumlu bir sunucudaki eğitilmiş bir modelle puanlar:
| Alan | Tür | Varsayılan |
|---|---|---|
| model | dize | zorunlu |
| base_url | URL | zorunlu |
| label | okunacak sınıflandırıcı etiketi | zorunlu |
| min_score ya da max_score | [0, 1] içinde sayı, tam olarak biri | zorunlu |
| text | hangi alanın sınıflandırıldığı | output |
| premise | çift sınıflandırıcıları için ikinci bir metin | yok |
| api_key_env | ortam değişkeni adı | yok |
| timeout_s | 0'ın üzerinde sayı | 30 |
RAG değerlendiricileri
| Tür | Alan | Tür | Varsayılan |
|---|---|---|---|
| hit_rate, recall, mrr, ndcg | k | tamsayı, en az 1 | hit_rate ve recall için 5, mrr ve ndcg için 10 |
| hit_rate, recall, mrr, ndcg | relevance_unit | doc ya da chunk | doc |
| hit_rate, recall, mrr, ndcg | criterion | dize | <type>_at_<k>, örneğin hit_rate_at_5 |
| citation_validity | require_citations | mantıksal değer | false |
| citation_validity | criterion | dize | citations_valid |
Ajan değerlendiricileri
| Tür | Alan | Tür | Varsayılan |
|---|---|---|---|
| agent_max_steps | max_steps | tamsayı, en az 1 | zorunlu |
| agent_tool_called | tool_name | dize | zorunlu |
| agent_tool_called | min_calls | tamsayı, en az 1 | 1 |
| agent_no_tool_loop | max_repeats | tamsayı, en az 1 | 2 |
| agent_tool_sequence | ordered | mantıksal değer | true |
| agent_constraints_satisfied | constraints | kısıt adları listesi | boş |
| agent_tool_permissions | permissions | ajandan izin verilen araçlara eşleme | zorunlu |
| agent_max_handoffs | max_handoffs | tamsayı, 0 ya da daha fazla | zorunlu |
Her ajan türünün varsayılan bir criterion değeri vardır, bu yüzden verilmeyebilir: kendi tür adı ya da ayarından oluşturulan bir ad (agent_steps_le_8, agent_tool_lookup_called, agent_handoffs_le_2). Bkz. Ajanlar.
Tahminsel değerlendiriciler
| Tür | Alan | Tür | Varsayılan |
|---|---|---|---|
| predictive_correct, predictive_recall, predictive_precision | positive | herhangi bir JSON değeri | true ya da predictive: bloğununki |
| aynı | field | çıktı alanı | label ya da predictive.label_field |
| aynı | expected_field | beklenen alan | label ya da predictive.expected_field |
| predictive_absolute_error | target_range | iki sayı | zorunlu |
| predictive_absolute_error | field, expected_field | yukarıdaki gibi | label |
| predictive_brier, predictive_log_loss, predictive_ranking | positive | herhangi bir JSON değeri | true ya da bloğunki |
| aynı | field | çıktı alanı | score ya da predictive.score_field |
| aynı | expected_field | beklenen alan | label ya da bloğunki |
| predictive_log_loss | clip | (0, 0.5) içinde sayı | zorunlu |
positive, field ya da expected_field değerini yazmayan bir tahminsel değerlendirici onu predictive: bloğundan alır; yazdığı bir değer korunur.
predictive
| Alan | Tür | Varsayılan |
|---|---|---|
| label_field | dize | label |
| score_field | dize | score |
| expected_field | dize | label |
| positive | herhangi bir JSON değeri | true |
| calibration_bins | tamsayı, en az 1 | 10 |
| thresholds | sayı listesi | boş |
| average | macro ya da micro | yok: toplam yok |
metrics
Her değerlendirici kriteri zaten bir metriktir. Bir metrics: girdisi, type ile ayırt edilen bir tane daha ekler.
| type | Alanlar | Nedir |
|---|---|---|
| quantile | id, source, (0, 1) içinde quantile | latency_ms, input_tokens, output_tokens, cost_usd, agent_steps ya da agent_tool_calls değerlerinin bir çeyrekliği. |
| ranking | id, criterion, statistic: roc_auc ya da average_precision | Bir sıralama kriterinin puanlarının sırası üzerinde bir istatistik. |
| human_score, human_preference | id | Reddedilir: henüz hiçbir kabul edilmiş yöntem bu etiketleri okumaz. |
| cost_per_accepted | id, criterion, cost_ceiling_usd, cost_ceiling_source | Bağlantısı denetimle kabul edilene kadar reddedilir. |
# 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
Sürüm politikası: hangi kuralların karar verdiği ve hangi kararların engellediği. Verilmeyen ayarlar varsayılanlarını korur, bu yüzden yalnızca kurallarını adlandıran bir politika yine de FAIL, INSUFFICIENT_EVIDENCE ve MANUAL_REVIEW durumlarında engeller.
# release.yaml
version: 1
rules:
- id: label_accuracy
metric: correct_label
min: 0.8| Alan | Tür | Varsayılan | Nedir |
|---|---|---|---|
| version | 1 | 1 | Dosya biçimi sürümü. |
| confidence_level | olasılık | 0.95 | Bir kuralın okuduğu her aralığın düzeyi. |
| block_on | karar durumları listesi | FAIL, INSUFFICIENT_EVIDENCE, MANUAL_REVIEW | Kapının engellemesine neden olan ve çıkış kodunu belirleyen durumlar. |
| warn_on | karar durumları listesi | boş | Engellemeden uyaran durumlar. block_on ile çakışmamalıdır. |
| block_on_partial_run | mantıksal değer | true | Tamamlanmayan bir çalıştırmanın 5 çıkışıyla engelleyip engellemediği. |
| require_validated_evaluators | mantıksal değer | true | Bir model hakemi üzerindeki bir kuralın, hakem insan etiketlerine karşı doğrulanana kadar kararını alıkoyup koymadığı. Deterministik değerlendiriciler muaftır. |
| minimum_evaluator_agreement | [0, 1] içinde sayı | yok | Bir hakemin doğrulanabilmesi için alt sınırıyla ulaşması gereken insan etiketleriyle uyum. |
| maximum_evaluator_bias | (0, 1] içinde sayı | yok | Bir hakemin doğrulanabilmesi için geçme oranının insanlarınkinden ne kadar uzakta olabileceği. |
| allow_approximate_methods | mantıksal değer | false | Bir kuralın, motorun yaklaşık olarak işaretlediği bir aralığa (kümelenmiş ikili aralık) göre karar verip veremeyeceği. Aksi halde MANUAL_REVIEW gösterir. |
| min_clusters | tamsayı, en az 10 | 20 | Bundan az küme olduğunda kümelenmiş bir kural INSUFFICIENT_EVIDENCE gösterir. |
| difference_method | bounded_paired_difference@1 ya da conditional_exact_paired_difference@1 | yok: birincisi | Eşleştirilmiş bir ikili oran farkını hangi kabul edilmiş yöntemin sınırladığı. |
| early_stopping | mantıksal değer | false | Vakaları gruplar halinde çalıştırın ve her kurala karar verildiğinde durun. Bkz. Kapı denetimi. |
| early_stopping_seed | tamsayı, 0 ya da daha fazla | yok | Vaka sırasının tohumu. |
| early_stopping_batch_size | tamsayı, en az 1 | 25 | Grup başına vaka. |
| rules | liste | zorunlu, en az bir | Kurallar. Aşağıya bakın. |
| families | liste | boş | Yanlış FAIL'leri birlikte denetlenen kurallar. |
| review_rule | eşleme | yok | Reddedilir: bağlantısı henüz kabul edilmedi. |
rules
Tek bir liste iki türü de tutar. Bir çalıştırma kuralı min, max ya da max_failures değerlerinden tam olarak birini alır. Bir karşılaştırma kuralı kind değerini adlandırır ve iki çalıştırma arasındaki bir farka karar verir; bkz. Karşılaştırma kuralları.
| Alan | Tür | Varsayılan | Uygulandığı |
|---|---|---|---|
| id | dize | zorunlu | hepsi |
| metric | bir metrik kimliği ya da kriter | zorunlu | hepsi |
| kind | interval_threshold, observed_count, superiority, non_inferiority, equivalence | çalıştırma kuralları için çıkarsanır | hepsi |
| min | sayı | yok | çalıştırma kuralları: aralığın alt sınırı en az bu olduğunda PASS |
| max | sayı | yok | çalıştırma kuralları: aralığın üst sınırı en fazla bu olduğunda PASS |
| max_failures | tamsayı, 0 ya da daha fazla | yok | observed_count: yürütülen paket üzerinden bir sayım, aralık yok |
| margin | 0'ın üzerinde sayı, metriğin biriminde | yok | non_inferiority ve equivalence; superiority üzerinde reddedilir |
| direction | min ya da max | min | yalnızca non_inferiority: yüksek mi düşük mü daha iyi |
| max_missing_fraction | [0, 1] içinde sayı | yok | aralık ve karşılaştırma kuralları |
| requires_manual_review | mantıksal değer | false | hepsi: kural her zaman MANUAL_REVIEW gösterir |
| scope | global ya da bir dilim | global | aralık ve karşılaştırma kuralları |
| min_support | tamsayı, en az 1 | yok | bir dilim üzerindeki karşılaştırma kuralları |
families
| Alan | Tür | Varsayılan |
|---|---|---|
| id | dize | zorunlu |
| correction | holm | holm |
| rules | kural kimlikleri listesi | zorunlu, en az bir |
# 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.02Yapıt türleri
Bir yapıt, bir sistemin çıktısının yanına yazdığı tipli bir kayıttır; örneğin ne getirdiği. Bir tür, isteğe bağlı bir sürümle birlikte küçük harfli bir addır ve ^[a-z][a-z0-9_]*(/v[1-9][0-9]*)?$ ile eşleşir. Bir yapıta ihtiyaç duyan değerlendiriciler onu adlandırır ve sistemi gerekli bir türü bildirmeyen bir çalıştırma, her vakayı eksik saymak yerine başlamadan reddedilir.
| Tür | Yazan | Gerektiren |
|---|---|---|
| retrieval/v1 | current_case().retrieval(...), bir @rag_system ya da http.artifacts | hit_rate, recall, mrr, ndcg |
| context/v1 | current_case().context(...) ya da bir @rag_system | citation_validity, groundedness_judge, citation_support_judge |
| citations/v1 | current_case().citations(...) ya da bir @rag_system | citation_validity, citation_support_judge |
| agent_trajectory/v1 | current_case().agent_trajectory(...) | her agent_* değerlendiricisi ve agent_steps ile agent_tool_calls kaynakları |
| conversation/v1 | current_case().artifact(CONVERSATION, ...) | ConversationCompleted, ConversationJudge |
| stage_timings/v1 | bir @rag_system | hiçbiri; gecikmenin yanında gösterilir |
Bir callable sistem kaydettiği türleri records: (ya da @system(records=...)) içinde bildirir; bir HTTP sistemi http.artifacts içinde; aşamalı bir RAG sistemi kendininkileri kaydeder.
Sürümler, önbellek anahtarları ve geçersiz kılma
Oloproof girdileri değişmemiş işi yeniden kullanır ve "değişmemiş"in ne demek olduğuna içerik özetlerinden karar verir. Her biri motor tarafından hesaplanır ve çalıştırmayla birlikte kaydedilir.
| Kayıt | Şunlar aynı olduğunda yeniden kullanılır |
|---|---|
| Sistem sürümü | name, version, config ve bir kod özeti: bir callable'ın modül kaynağı (ya da code_paths ile eşleşen her dosya), bir HTTP sisteminin url, method, output_path ve artifacts değerleri |
| Yürütme | sistem sürümü, vakanın input değeri ve yineleme indeksi. Yalnızca başarılı yürütmeler yeniden kullanılır. |
| Yargı | değerlendirici sürümü (türü ve her ayarı) ve değerlendirici tablosunda listelendiği gibi okuduğu her alanın bir özeti |
| Çözümleme | çözümleme planı, metrik, güven düzeyi, paket özeti ve saydığı her girdi |
| Kapı | her çözümleme, politika özeti, çalıştırmanın tamamlanıp tamamlanmadığı ve kararların andığı her değerlendiricinin etkin durumu |
Oloproof'un göremediğini bildirmek size kalır:
- Bir HTTP sisteminin davranışı sunucuda yaşar. URL'nin arkasındaki şey her değiştiğinde system.version değerini değiştirin; aksi halde eski bir önbellek çıktısı yeni sistemin yerine geçer.
- Bir callable'ın yardımcı modülleri yalnızca code_paths onlarla eşleştiğinde özetlenir. Bu olmadan bir yardımcıyı düzenlemek sürümü değiştirmez.
- Bir yöntem ya da callable bir nesne bir sürüm bildirmelidir ve nesnenin durumu değiştiğinde sürüm de değişmelidir.
- Bir RAG dizini index_version ile tanımlanır; dizin yeniden oluşturulduğunda onu değiştirin.
- Bir model hakeminin kimliği, sağlayıcının ağırlıkları değil, ayarlarıdır. Bir sağlayıcının aynı adın arkasındaki modeli güncellemesi önbellek tarafından algılanmaz.
- Özel bir @evaluator onu tanımlayan modül dosyasını özetler ve yargıları çalıştırmalar arasında yalnızca cacheable=True bildirdiğinde yeniden kullanılır. Yerleşik rubrik hakemleri önbelleğe alınabilir; deterministik değerlendiriciler yeniden hesaplanır, bu da ucuzdur.
Önbellekteki iş projenin yerel deposunda, oloproof.yaml yanındaki .oloproof/store.sqlite dosyasında (ya da OLOPROOF_HOME altında) yaşar. Depoyu silmek her önbelleği ve her çalıştırmayı atar. Barındırılan bir çalışma alanında motor önbellekteki yürütmeleri, yargıları ya da çözümlemeleri yeniden kullanmaz, çünkü bir push onları yazabilir; yeniden hesaplar.