pub enum StructuredMode {
Auto,
Strict,
Json,
Tool,
Prompt,
}Expand description
Mode selection for structured output generation.
Variants§
Auto
Auto-select best mode based on provider capabilities.
Strict
OpenAI native strict JSON schema (response_format.type = json_schema).
Json
OpenAI json_object mode (guarantees valid JSON, not schema-conformant).
Tool
Use tool-calling: inject a synthetic tool whose parameters IS the schema. Works on all providers that support tool use (Anthropic, OpenAI, etc).
Prompt
Prompt-only: append schema instructions to the prompt. Least reliable.
Trait Implementations§
Source§impl Clone for StructuredMode
impl Clone for StructuredMode
Source§fn clone(&self) -> StructuredMode
fn clone(&self) -> StructuredMode
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 StructuredMode
impl Debug for StructuredMode
Source§impl<'de> Deserialize<'de> for StructuredMode
impl<'de> Deserialize<'de> for StructuredMode
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 PartialEq for StructuredMode
impl PartialEq for StructuredMode
Source§fn eq(&self, other: &StructuredMode) -> bool
fn eq(&self, other: &StructuredMode) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for StructuredMode
impl Serialize for StructuredMode
impl Copy for StructuredMode
impl Eq for StructuredMode
impl StructuralPartialEq for StructuredMode
Auto Trait Implementations§
impl Freeze for StructuredMode
impl RefUnwindSafe for StructuredMode
impl Send for StructuredMode
impl Sync for StructuredMode
impl Unpin for StructuredMode
impl UnsafeUnpin for StructuredMode
impl UnwindSafe for StructuredMode
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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