allium
FreeGive your AI agents something more useful than a prompt. Velocity through clarity.
The English summary is being prepared. Showing the original description.
Set up LLM-as-judge evaluation for ORC workflows
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Set up automated quality evaluation for ORC workflow outputs. Read docs/EVALUATION-COMPONENT.md for the full reference.
(require '[ai.obney.orc.evaluation.interface :as eval])
The evaluation component provides LLM-as-judge scoring:
Each judge returns a score (0.0-1.0) with structured feedback.
(eval/evaluate-trace
{:instruction "Summarize the article covering all main points"
:inputs {:article "Long article text..."}
:outputs {:summary "Short summary..."}}
{:judges [:grounding :completeness]})
;; => ScoreWithFeedback with :score, :feedback, :dimensions, and—when
;; model-backed—durable :model-provenance on the recorded score event
Attach judges to workflow nodes for automatic scoring during execution:
(orc/workflow "evaluated-pipeline"
(orc/blackboard {:question :string :answer :string})
;; Define judge configurations
(orc/judges
{:grounding {:type :grounding :weight 0.5}
:completeness {:type :completeness :weight 0.5}})
;; Attach judges to a node
(orc/llm "answer"
:instruction "Answer the question thoroughly."
:reads [:question]
:writes [:answer]
:judges [:grounding :completeness]))
When executed with tracing enabled, each judged node produces evaluation scores in the trace.
Evaluate a workflow across multiple test cases:
(eval/evaluate-traces
[{:instruction "Answer the question"
:inputs {:question "What is AI?"}
:outputs {:answer "Artificial intelligence..."}}
{:instruction "Answer the question"
:inputs {:question "What is ML?"}
:outputs {:answer "Machine learning..."}}]
{:judges [:grounding :completeness]})
;; => {:avg-score 0.82 :results [...] :min-score ... :max-score ...}
Evaluation judges feed directly into GEPA optimization. When GEPA proposes instruction candidates, judges score them — the scores drive Pareto selection.
;; GEPA uses judges automatically when configured
(gepa/optimize! ctx
{:sheet-id sheet-id
:node-name "answer"
:judges {:grounding 0.5 :completeness 0.5}
...})
docs/EVALUATION-COMPONENT.md — Full evaluation guidedocs/SELF-IMPROVING-LOOP.md — Evaluation and continuous improvementdocs/GEPA-GUIDE.md — How judges integrate with optimizationNo reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Give your AI agents something more useful than a prompt. Velocity through clarity.
The English summary is being prepared. Showing the original description.
Extract an Allium specification from an existing codebase. Use when the user has existing code and wants to distil behaviour into a spec, reverse engineer a specification from implementation, generate a spec from code, turn implementation into a behavioural specification, or document what a codebase does in Allium terms.
The English summary is being prepared. Showing the original description.
Run a structured discovery session to build an Allium specification through conversation. Use when the user wants to create a new spec from scratch, elicit or gather requirements, capture domain behaviour, specify a feature or system, define what a system should do, or is describing functionality and needs help shaping it into a specification.
The English summary is being prepared. Showing the original description.
Implement command handlers that validate state and emit events using the Grain framework
The English summary is being prepared. Showing the original description.
Create scheduled background jobs that run on cron schedules
The English summary is being prepared. Showing the original description.
Implement query handlers that read from event-sourced read models
The English summary is being prepared. Showing the original description.