Skip to content

pi-qcaleval ​

@oqtopus-team/pi-qcaleval evaluates calibration figures independently of QDash. For the QDash host integration, see Calibration Evaluation.

Tool ​

qcal_evaluate accepts calibration context and figures and returns a parsed diagnosis.

InputContract
contextTask, target, and sweep context; omit fitted results.
questionExtra point for the significance question.
task_nameTask name for a host to resolve knowledge.
knowledgeExperiment background for questions Q2–Q6.
criteriaguidance, parameters, statuses, and range_format for the question templates.
imagesBase64 figure blocks; the last figure is judged and earlier figures are references.
max_imagesNumber of newest figures to include; default 1, maximum 4.
use_examples, examplesInclude labeled examples in Q3, Q5, and Q6; maximum six examples and six example figures.
questionsSubset of the six questions to ask.
modelExplicit evaluation model as provider/modelId.
dry_runReturn prompt previews without a model call; figures can be omitted.

Parsed answers ​

KeyQuestionParsed answer
technical_descriptionQ1 Describe the figure in JSON{plot_type, x_axis, y_axis, main_features}, or the text when not JSON
experimental_conclusionQ2 Classify the outcome{classification: expected | suboptimal | anomalous | apparatus, reason}
experimental_significanceQ3 What does this result implytext
fit_reliabilityQ4 Is the fit reliable for extraction{assessment: reliable | unreliable | no_fit, reason}
parameter_extractionQ5 Extract parameters in JSONthe object, or the text when not JSON
calibration_diagnosisQ6 Determine the status{status: CODE, suggested_range, notes}
OutputContract
successTrue for status SUCCESS, or for outcome expected when Q6 was not asked.
details.diagnosisParsed answers keyed by question.
details.answersAnswers exactly as returned by the model.
details.questionsQuestions asked.
details.promptUser turns sent to the model, with [figure] at image positions.
details.callsPer-question duration, stop reason, and token counts.
details.missing_keysQuestions with no answer after one retry of a failed call.
details.promptsPer-question prompts from dry_run.

Without task-specific criteria, the status choices are SUCCESS, SUBOPTIMAL, NO_SIGNAL, and ANOMALOUS.

Labeled examples ​

FieldUse
scenario, analysisQ3 significance examples.
parametersQ5 extraction example; the first example with values is used.
status, suggested_rangeQ6 diagnosis examples.
FiguresUp to six example figures precede the query figure.

Configuration ​

PriorityModel source
1Call's model (provider/modelId), then QCALEVAL_MODEL.
2Configured model whose ID contains Ising-Calibration.
3Conversation model with image input; sets details.fallback: true.
SettingLimit
Output tokensModel's maxTokens, capped at 4096 per answer.
TemperatureSet to 0 for reproducible answers.
ProviderDeclare the model, base URL, and credential in pi's models.json. See Pi Extension Design.

Released under the Apache 2.0 License.