İçeriğe geç

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

AlanTürVarsayılanNedir
version11Dosya biçimi sürümü. Yalnızca 1 vardır.
projectdizezorunluProjenin adı; raporlarda gösterilir ve push ederken kullanılır.
datasetyolzorunluProjeye göre JSONL paket dosyası. Satırları Paketler sayfasında anlatılır.
systemeşlemezorunluTest edilen sistem. Aşağıya bakın.
concurrencyeşlemesystem: 8, judge: 4Aynı anda kaç sistem çağrısı ve hakem çağrısı çalışacağı.
evaluatorslistezorunlu, en az birHer vakada neyin ölçüldüğü. Her girdinin bir type değeri vardır.
metricslisteboşHer değerlendirici kriterinin zaten olduğu metriğin ötesindeki ek metrikler.
predictiveeşlemeyokBir sınıflandırıcının etiketinin, puanının ve gerçeğinin nerede olduğu. Bkz. Tahminsel modeller.
slicesdize listesiboşKeşif amaçlı dilimler: metadata.<key>, relevant_position ya da context_truncated. Asla kapıya ulaşmazlar. Bkz. Dilimler.
min_slice_supporttamsayı, en az 130Bu sayıdan az uygun vakada bir dilim tahminini gösterir ama aralık göstermez.
replicatestamsayı, en az 11Her vakayı bu kadar kez ölçün. Birim vaka olarak kalır: yinelemeler herhangi bir aralık hesaplanmadan önce vaka içinde toplanır.
pricinglisteboşModel başına milyon token için ne ödediğiniz. Bu olmadan maliyet asla dolar olarak değil, token olarak bildirilir.
egressdize listesiboş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

AlanTürVarsayılan
systemtamsayı, en az 18
judgetamsayı, en az 14

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.

AlanTürVarsayılan
modeldizezorunlu
input_per_mtoksayı, 0 ya da daha fazlazorunlu
output_per_mtoksayı, 0 ya da daha fazlazorunlu
# 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.

AlanTürVarsayılanNedir
namedizezorunluSistemin adı. Sürüm kimliğinin parçası.
versiondizeyokBu 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.
callablemodule:attributeyokEşzamanlı ya da eşzamansız bir Python fonksiyonu. Vakanın input değerini alır ve çıktıyı döndürür.
httpeşlemeyokHer vaka için bir kez çağrılan bir uç nokta. Aşağıya bakın.
rageşlemeyok@rag_system ile bildirilmiş aşamalı bir RAG sınıfı. Aşağıya bakın.
configeşlemeboşSistem sürümüyle birlikte kaydedilen serbest biçimli ayarlar. Onları değiştirmek sürümü değiştirir.
code_pathsglob örüntüleri listesiboşİçerikleri bir callable sistemin sürümüne giren kaynak dosyalar. Bu olmadan yalnızca callable'ın kendi modülü özetlenir.
timeout_s0'ın üzerinde sayı120Bir callable sistem için çağrı başına zaman sınırı. Bir HTTP sistemi bunun yerine http.timeout_s kullanır.
recordsyapıt türleri listesiboşBir callable sistemin kaydettiği yapıt türleri, örneğin retrieval/v1. Bir HTTP ya da RAG sisteminde reddedilir.

system.http

AlanTürVarsayılanNedir
urldizezorunluHer vakanın gönderildiği yer.
methodGET, POST ya da PUTPOSTHTTP yöntemi.
output_pathnoktalı yolyokJSON yanıtının hangi alanının çıktı olduğu, örneğin result.answer. Yoksa gövdenin tamamı demektir.
artifactstürden noktalı yola eşlemeboşYapıt olarak kaydedilen yanıt alanları, örneğin retrieval/v1: debug.retrieval.
versiondizeyoksystem.version yokken sistemin sürümü olarak kullanılır. Bir HTTP sistemi ikisinden birine ihtiyaç duyar.
timeout_s0'ı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

AlanTürVarsayılanNedir
objectmodule:attributezorunlu@rag_system ile bildirilmiş sınıf ya da onun bir örneği.
depthtamsayı, en az 1sınıfınkiGetirmenin kaç pasaj döndürdüğü.
top_ktamsayı, en az 1sınıfınkiBunlardan kaçının üretime ulaştığı.
token_budgettamsayı, en az 1sınıfınkiBağlam üzerinde bir token sınırı. Sınıfın count_tokens(passage) yöntemini gerektirir.
index_versiondizesınıfınkiGetirme 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:

AlanTürVarsayılanNedir
criteriondizetü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_errormissing ya da failmissingSistem ç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 typeOkuduğuSDKAğ ya da anahtar gerekir mi
exact_matchoutput, expectedExactMatchhayır
containsoutput, expectedContainshayır
regexoutputRegexhayır
json_schemaoutputJsonSchemahayır
rubric_judgeinput, output, expectedRubricJudgeevet, bir model sağlayıcısı
model_classifieroutput (ya da text ile adlandırılan alan), isteğe bağlı olarak premiseyalnızca YAMLevet, TEI uyumlu bir sunucu
probability_judgevaka ve çıktıyalnızca YAMLevet, log olasılıkları döndüren OpenAI uyumlu bir sağlayıcı
cascadeiki aşaması gibiyalnızca YAMLevet
hit_rate, recall, mrr, ndcgartifacts.retrieval, expectedHitRate, Recall, MRR, NDCGhayır
citation_validityartifacts.citations, artifacts.contextCitationValidityhayır
groundedness_judgeinput, output, artifacts.contextGroundednessevet
citation_support_judgeinput, output, artifacts.context, artifacts.citationsCitationSupportevet
agent_max_stepsartifacts.agent_trajectoryAgentMaxStepshayır
agent_tool_calledartifacts.agent_trajectoryAgentToolCalledhayır
agent_no_tool_loopartifacts.agent_trajectoryAgentNoToolLoophayır
agent_tool_sequenceartifacts.agent_trajectory, expectedAgentToolSequencehayır
agent_no_undeclared_toolartifacts.agent_trajectory, expectedAgentNoUndeclaredToolhayır
agent_constraints_satisfiedartifacts.agent_trajectoryAgentConstraintsSatisfiedhayır
agent_routeartifacts.agent_trajectoryAgentRoutehayır
agent_tool_permissionsartifacts.agent_trajectoryAgentToolPermissionshayır
agent_max_handoffsartifacts.agent_trajectoryAgentMaxHandoffshayır
predictive_correctoutput ve expected içindeki etiket alanıPredictiveCorrecthayır
predictive_recallyukarıdaki gibiPredictiveRecallhayır
predictive_precisionyukarıdaki gibiPredictivePrecisionhayır
predictive_absolute_erroryukarıdaki gibi, sayısalAbsoluteErrorhayır
predictive_brieroutput içindeki puan alanı, expected içindeki etiketBrierhayır
predictive_log_lossyukarıdaki gibiLogLosshayır
predictive_rankingyukarıdaki gibiPredictiveRankinghayır
YAML türü yokartifacts.conversationConversationCompleted (yalnızca SDK)hayır
YAML türü yokexpected, artifacts.conversationConversationJudge (yalnızca SDK)evet
YAML türü yoksizin 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ürAlanTürVarsayılan
exact_matchfieldçıktıda noktalı yolyok: çıktının tamamı
exact_matchexpected_fieldexpected içinde noktalı yolyok: field ile aynı
exact_matchstripmantıksal değertrue
exact_matchcasefoldmantıksal değerfalse
containsfield, expected_fieldexact_match gibiyok
regexpatterndüzenli ifadezorunlu
regexfieldnoktalı yolyok
regexpass_ifmatch ya da no_matchmatch
json_schemaschemasatır içi bir JSON Schema ya da projeye göre bir JSON dosyası yoluzorunlu
json_schemafieldnoktalı yolyok

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.

AlanTürVarsayılan
provideranthropic, openai ya da openai_compatiblezorunlu
modeldizezorunlu
rubric_fileyolyok
rubric_textdizeyok
api_key_envortam değişkeni adıANTHROPIC_API_KEY ya da OPENAI_API_KEY
base_urlURLsağlayıcınınki
temperaturesayı0
max_tokenstamsayı, en az 1512
timeout_s0'ın üzerinde sayı60

probability_judge tipli bir soru sorar ve modelin olasılıklarını okur:

AlanTürVarsayılan
provideropenai ya da openai_compatiblezorunlu
modeldizezorunlu
questiondizezorunlu
formyes_no, choice ya da scorezorunlu
min_probability(0, 1] içinde sayızorunlu
optionsyanıttan açıklamaya eşlemechoice için
pass_optionsyanıt listesichoice için
levelsen düşükten başlayarak düzeyden açıklamaya eşlemescore için
pass_at_leastbir düzeyscore için
calibrationslope (0'ın üzerinde), intercept, from_versionyok
api_key_env, base_urlyukarıdaki gibiyok
timeout_s0'ın üzerinde sayı60

cascade önce ucuz bir hakem çalıştırır ve belirsiz vakaları yukarı taşır:

AlanTürVarsayılan
firstbir probability_judge girdisizorunlu
thenbir rubric_judge ya da probability_judge girdisizorunlu
escalate_betweeniki olasılıkzorunlu

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:

AlanTürVarsayılan
modeldizezorunlu
base_urlURLzorunlu
labelokunacak sınıflandırıcı etiketizorunlu
min_score ya da max_score[0, 1] içinde sayı, tam olarak birizorunlu
texthangi alanın sınıflandırıldığıoutput
premiseçift sınıflandırıcıları için ikinci bir metinyok
api_key_envortam değişkeni adıyok
timeout_s0'ın üzerinde sayı30

RAG değerlendiricileri

TürAlanTürVarsayılan
hit_rate, recall, mrr, ndcgktamsayı, en az 1hit_rate ve recall için 5, mrr ve ndcg için 10
hit_rate, recall, mrr, ndcgrelevance_unitdoc ya da chunkdoc
hit_rate, recall, mrr, ndcgcriteriondize<type>_at_<k>, örneğin hit_rate_at_5
citation_validityrequire_citationsmantıksal değerfalse
citation_validitycriteriondizecitations_valid

Ajan değerlendiricileri

TürAlanTürVarsayılan
agent_max_stepsmax_stepstamsayı, en az 1zorunlu
agent_tool_calledtool_namedizezorunlu
agent_tool_calledmin_callstamsayı, en az 11
agent_no_tool_loopmax_repeatstamsayı, en az 12
agent_tool_sequenceorderedmantıksal değertrue
agent_constraints_satisfiedconstraintskısıt adları listesiboş
agent_tool_permissionspermissionsajandan izin verilen araçlara eşlemezorunlu
agent_max_handoffsmax_handoffstamsayı, 0 ya da daha fazlazorunlu

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ürAlanTürVarsayılan
predictive_correct, predictive_recall, predictive_precisionpositiveherhangi bir JSON değeritrue ya da predictive: bloğununki
aynıfieldçıktı alanılabel ya da predictive.label_field
aynıexpected_fieldbeklenen alanlabel ya da predictive.expected_field
predictive_absolute_errortarget_rangeiki sayızorunlu
predictive_absolute_errorfield, expected_fieldyukarıdaki gibilabel
predictive_brier, predictive_log_loss, predictive_rankingpositiveherhangi bir JSON değeritrue ya da bloğunki
aynıfieldçıktı alanıscore ya da predictive.score_field
aynıexpected_fieldbeklenen alanlabel ya da bloğunki
predictive_log_lossclip(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

AlanTürVarsayılan
label_fielddizelabel
score_fielddizescore
expected_fielddizelabel
positiveherhangi bir JSON değeritrue
calibration_binstamsayı, en az 110
thresholdssayı listesiboş
averagemacro ya da microyok: toplam yok

metrics

Her değerlendirici kriteri zaten bir metriktir. Bir metrics: girdisi, type ile ayırt edilen bir tane daha ekler.

typeAlanlarNedir
quantileid, source, (0, 1) içinde quantilelatency_ms, input_tokens, output_tokens, cost_usd, agent_steps ya da agent_tool_calls değerlerinin bir çeyrekliği.
rankingid, criterion, statistic: roc_auc ya da average_precisionBir sıralama kriterinin puanlarının sırası üzerinde bir istatistik.
human_score, human_preferenceidReddedilir: henüz hiçbir kabul edilmiş yöntem bu etiketleri okumaz.
cost_per_acceptedid, criterion, cost_ceiling_usd, cost_ceiling_sourceBağ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.95

release.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
AlanTürVarsayılanNedir
version11Dosya biçimi sürümü.
confidence_levelolasılık0.95Bir kuralın okuduğu her aralığın düzeyi.
block_onkarar durumları listesiFAIL, INSUFFICIENT_EVIDENCE, MANUAL_REVIEWKapının engellemesine neden olan ve çıkış kodunu belirleyen durumlar.
warn_onkarar durumları listesiboşEngellemeden uyaran durumlar. block_on ile çakışmamalıdır.
block_on_partial_runmantıksal değertrueTamamlanmayan bir çalıştırmanın 5 çıkışıyla engelleyip engellemediği.
require_validated_evaluatorsmantıksal değertrueBir 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ıyokBir hakemin doğrulanabilmesi için alt sınırıyla ulaşması gereken insan etiketleriyle uyum.
maximum_evaluator_bias(0, 1] içinde sayıyokBir hakemin doğrulanabilmesi için geçme oranının insanlarınkinden ne kadar uzakta olabileceği.
allow_approximate_methodsmantıksal değerfalseBir 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_clusterstamsayı, en az 1020Bundan az küme olduğunda kümelenmiş bir kural INSUFFICIENT_EVIDENCE gösterir.
difference_methodbounded_paired_difference@1 ya da conditional_exact_paired_difference@1yok: birincisiEşleştirilmiş bir ikili oran farkını hangi kabul edilmiş yöntemin sınırladığı.
early_stoppingmantıksal değerfalseVakaları gruplar halinde çalıştırın ve her kurala karar verildiğinde durun. Bkz. Kapı denetimi.
early_stopping_seedtamsayı, 0 ya da daha fazlayokVaka sırasının tohumu.
early_stopping_batch_sizetamsayı, en az 125Grup başına vaka.
ruleslistezorunlu, en az birKurallar. Aşağıya bakın.
familieslisteboşYanlış FAIL'leri birlikte denetlenen kurallar.
review_ruleeşlemeyokReddedilir: 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ı.

AlanTürVarsayılanUygulandığı
iddizezorunluhepsi
metricbir metrik kimliği ya da kriterzorunluhepsi
kindinterval_threshold, observed_count, superiority, non_inferiority, equivalenceçalıştırma kuralları için çıkarsanırhepsi
minsayıyokçalıştırma kuralları: aralığın alt sınırı en az bu olduğunda PASS
maxsayıyokçalıştırma kuralları: aralığın üst sınırı en fazla bu olduğunda PASS
max_failurestamsayı, 0 ya da daha fazlayokobserved_count: yürütülen paket üzerinden bir sayım, aralık yok
margin0'ın üzerinde sayı, metriğin birimindeyoknon_inferiority ve equivalence; superiority üzerinde reddedilir
directionmin ya da maxminyalnızca non_inferiority: yüksek mi düşük mü daha iyi
max_missing_fraction[0, 1] içinde sayıyokaralık ve karşılaştırma kuralları
requires_manual_reviewmantıksal değerfalsehepsi: kural her zaman MANUAL_REVIEW gösterir
scopeglobal ya da bir dilimglobalaralık ve karşılaştırma kuralları
min_supporttamsayı, en az 1yokbir dilim üzerindeki karşılaştırma kuralları

families

AlanTürVarsayılan
iddizezorunlu
correctionholmholm
ruleskural kimlikleri listesizorunlu, 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.02

Yapı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ürYazanGerektiren
retrieval/v1current_case().retrieval(...), bir @rag_system ya da http.artifactshit_rate, recall, mrr, ndcg
context/v1current_case().context(...) ya da bir @rag_systemcitation_validity, groundedness_judge, citation_support_judge
citations/v1current_case().citations(...) ya da bir @rag_systemcitation_validity, citation_support_judge
agent_trajectory/v1current_case().agent_trajectory(...)her agent_* değerlendiricisi ve agent_steps ile agent_tool_calls kaynakları
conversation/v1current_case().artifact(CONVERSATION, ...)ConversationCompleted, ConversationJudge
stage_timings/v1bir @rag_systemhiç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ütmesistem 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.