pub enum OutputMode {
Instruction,
JsonSchema,
ToolCall,
}Expand description
The method used to constrain LLM output to valid response keys.
In vector completions, the model must select from a predefined set of responses. This enum controls how that constraint is enforced.
Note: This setting is only relevant for vector completions and is completely ignored for agent completions.
Variants§
Instruction
The model is instructed via the prompt to output a specific key.
This is the default and most widely supported mode.
JsonSchema
A JSON schema response format is used with an enum of possible keys.
Requires model support for structured JSON output.
ToolCall
A forced tool call with an argument schema containing possible keys.
Requires model support for tool/function calling.
Trait Implementations§
Source§impl Clone for OutputMode
impl Clone for OutputMode
Source§fn clone(&self) -> OutputMode
fn clone(&self) -> OutputMode
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 OutputMode
impl Debug for OutputMode
Source§impl Default for OutputMode
impl Default for OutputMode
Source§impl<'de> Deserialize<'de> for OutputMode
impl<'de> Deserialize<'de> for OutputMode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<OutputMode> for OutputMode
impl From<OutputMode> for OutputMode
Source§fn from(mode: OutputMode) -> Self
fn from(mode: OutputMode) -> Self
Converts to this type from the input type.
Source§impl From<OutputMode> for OutputMode
impl From<OutputMode> for OutputMode
Source§fn from(mode: OutputMode) -> Self
fn from(mode: OutputMode) -> Self
Converts to this type from the input type.
Source§impl From<OutputMode> for OutputMode
impl From<OutputMode> for OutputMode
Source§fn from(mode: OutputMode) -> Self
fn from(mode: OutputMode) -> Self
Converts to this type from the input type.
Source§impl From<OutputMode> for OutputMode
impl From<OutputMode> for OutputMode
Source§fn from(mode: OutputMode) -> Self
fn from(mode: OutputMode) -> Self
Converts to this type from the input type.
Source§impl Hash for OutputMode
impl Hash for OutputMode
Source§impl JsonSchema for OutputMode
impl JsonSchema for OutputMode
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for OutputMode
impl PartialEq for OutputMode
Source§fn eq(&self, other: &OutputMode) -> bool
fn eq(&self, other: &OutputMode) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for OutputMode
impl Serialize for OutputMode
impl Copy for OutputMode
impl StructuralPartialEq for OutputMode
Auto Trait Implementations§
impl Freeze for OutputMode
impl RefUnwindSafe for OutputMode
impl Send for OutputMode
impl Sync for OutputMode
impl Unpin for OutputMode
impl UnsafeUnpin for OutputMode
impl UnwindSafe for OutputMode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more