Repository navigation
Releases
TypedLM 0.1.0
First release on crates.io: typedlm, typedlm-macros, typedlm-cli.
Added
-
Signaturetrait and#[derive(TypedLm)]with#[lm(output, name, description, validate)]. -
Programwith strategy selection, repair of invalid answers,runandexecute. -
Validation pipeline: tolerant JSON extraction, schema validation with paths, custom rules.
-
OpenAiCompatibleprovider with four strategies, schema dialects and transport retries. -
Evaluation: datasets with partial labels,
ExactMatch,FieldAccuracy, reports with
confidence intervals. -
Tracing spans with OpenTelemetry GenAI field names.
-
Regression tests:
Baselinestores a report and compares later runs example by example,
comparefor paired comparisons,Report::require_scoreagainst the interval. Reports
carry per-example scores and a dataset fingerprint and can be read back. -
evaluate_withandEvalOptions: several runs per example, with a count of examples whose
runs agree. -
typedlm::testing:TestProvider(fixed or schema-valid answers, recorded requests),
FnProvider,RecorderandReplayfor offline tests. -
Providerfor&PandArc<P>;Request,ResponseandCapabilitiesserialise. -
typedlm-cli: theEvalsharness (runacross models with a matrix,compare,history,
snapshots under.typedlm/evaluations) and thetypedlmbinary for stored reports. -
Report::labelfor the run's configuration, e.g. the requested model. -
Worked examples:
Program::demonstration, sent before the input as user/assistant turns. -
Compiled programs:
Program::compile,CompiledProgram(JSON artefact with signature hash and
optional provenance), loading with checks of signature and demonstrations. -
ProgramimplementsDebugwithout showing the provider. -
Optimizer (feature
optimize):optimize_few_shotchooses demonstrations by budgeted local
search on a validation set; candidates fromdemonstrations_from_labelsor
bootstrap_demonstrations; result asCompiledProgramwith a paired comparison. -
optimize_instructions: a teacher model proposes instructions from the program's mistakes
on a validation set; better proposals are kept. The teacher is a TypedLM program itself
(ProposeInstructions). -
Typed tools: action enums as output,
tool_specs(one tool per variant, native tool calls with
tool_choice: required),Action,Policy(writes need confirmation by default),
ToolProgramand atypedlm.tooltracing span.
Fixed
- Reports, baselines and artefacts read back numbers exactly (
serde_jsonwith
float_roundtrip).
Documentation: https://casoon.github.io/typedlm/ · API: https://docs.rs/typedlm