llm_wire/classify/question
Typed classification questions and heterogeneous batches.
Choice labels retain application-native values and the full distribution.
Confidence describes provider concentration evidence, not the probability
that an answer is correct. Source definitions are total; use check_*
for definitions assembled from runtime data.
Types
pub type Alternative(a) =
@internal Alternative(a)
One failure boundary for runtime definitions and answer admission.
pub opaque type Error
pub type ErrorKind {
InvalidDefinition
InvalidAnswer
}
Constructors
-
InvalidDefinition -
InvalidAnswer
pub type Probability(a) =
@internal Probability(a)
Values
pub fn alternative(
label: String,
value: a,
description: value.Value,
) -> Alternative(a)
pub fn check_choice(
instructions: value.Value,
alternatives: List(Alternative(a)),
) -> Result(Question(Choice(a)), Error)
pub fn check_noul(
instructions: value.Value,
criteria: option.Option(#(value.Value, value.Value)),
) -> Result(Question(Noul), Error)
pub fn check_score(
instructions: value.Value,
levels: List(value.Value),
) -> Result(Question(Score), Error)
pub fn choice(
instructions: value.Value,
alternatives: List(Alternative(a)),
) -> Question(Choice(a))
pub fn decode(
batch: Batch(a),
answers: List(#(String, protocol.Answer)),
) -> Result(a, Error)
pub fn definitions(
batch: Batch(a),
) -> List(#(String, protocol.QuestionView))
Provider-neutral question vocabulary; a wire may project it differently.
pub fn describe_error(error: Error) -> String
pub fn noul(
instructions: value.Value,
criteria: option.Option(#(value.Value, value.Value)),
) -> Question(Noul)
pub fn score(
instructions: value.Value,
levels: List(value.Value),
) -> Question(Score)