pub struct OutputContract {
pub codec: Symbol,
pub shape_expr: Expr,
pub grammar: Option<String>,
pub required: bool,
}Expand description
Output obligations attached to a model request.
Fields§
§codec: SymbolCodec the receiver must use for the return value.
shape_expr: ExprNormalized shape expression describing the return value.
grammar: Option<String>Optional constrained-generation grammar derived from the shape.
required: boolWhether a runner that accepts grammars must enforce the grammar.
Implementations§
Source§impl OutputContract
impl OutputContract
Sourcepub fn new(
codec: Symbol,
shape_expr: Expr,
grammar: Option<String>,
required: bool,
) -> Self
pub fn new( codec: Symbol, shape_expr: Expr, grammar: Option<String>, required: bool, ) -> Self
Builds an output contract with an explicit grammar.
Sourcepub fn for_shape(
codec: Symbol,
shape_expr: Expr,
shape: &dyn Shape,
required: bool,
) -> Self
pub fn for_shape( codec: Symbol, shape_expr: Expr, shape: &dyn Shape, required: bool, ) -> Self
Builds an output contract, deriving a grammar when the shape supports it.
Sourcepub fn into_extra_entries(self, extra: &mut Vec<(Expr, Expr)>)
pub fn into_extra_entries(self, extra: &mut Vec<(Expr, Expr)>)
Appends this contract to a ModelRequest extra map.
Trait Implementations§
Source§impl Clone for OutputContract
impl Clone for OutputContract
Source§fn clone(&self) -> OutputContract
fn clone(&self) -> OutputContract
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OutputContract
impl Debug for OutputContract
impl Eq for OutputContract
Source§impl PartialEq for OutputContract
impl PartialEq for OutputContract
impl StructuralPartialEq for OutputContract
Auto Trait Implementations§
impl Freeze for OutputContract
impl RefUnwindSafe for OutputContract
impl Send for OutputContract
impl Sync for OutputContract
impl Unpin for OutputContract
impl UnsafeUnpin for OutputContract
impl UnwindSafe for OutputContract
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more