pub enum OutputFormat {
Json,
JsonSchema {
schema: Value,
},
}Expand description
Output format configuration for structured outputs.
Structured outputs constrain Claude’s responses to follow a specific schema, ensuring valid, parseable output for downstream processing.
This feature requires the beta header structured-outputs-2025-11-13.
§Example
use serde_json::json;
use adk_anthropic::OutputFormat;
let output_format = OutputFormat::json_schema(json!({
"type": "object",
"properties": {
"name": { "type": "string" },
"email": { "type": "string" },
"plan_interest": { "type": "string" },
"demo_requested": { "type": "boolean" }
},
"required": ["name", "email", "plan_interest", "demo_requested"],
"additionalProperties": false
}));Variants§
Json
JSON object format — {type: "json_object"}.
JsonSchema
JSON schema format for structured outputs.
Claude will return valid JSON matching the provided schema in
response.content[0].text.
Implementations§
Source§impl OutputFormat
impl OutputFormat
Sourcepub fn json_schema(schema: Value) -> Self
pub fn json_schema(schema: Value) -> Self
Create a new JSON schema output format.
§Arguments
schema- A JSON schema that defines the structure of the response.
§Example
use serde_json::json;
use adk_anthropic::OutputFormat;
let output_format = OutputFormat::json_schema(json!({
"type": "object",
"properties": {
"summary": { "type": "string" },
"confidence": { "type": "number" }
},
"required": ["summary", "confidence"],
"additionalProperties": false
}));Trait Implementations§
Source§impl Clone for OutputFormat
impl Clone for OutputFormat
Source§fn clone(&self) -> OutputFormat
fn clone(&self) -> OutputFormat
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 OutputFormat
impl Debug for OutputFormat
Source§impl<'de> Deserialize<'de> for OutputFormat
impl<'de> Deserialize<'de> for OutputFormat
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 OutputFormat
impl PartialEq for OutputFormat
Source§fn eq(&self, other: &OutputFormat) -> bool
fn eq(&self, other: &OutputFormat) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for OutputFormat
impl Serialize for OutputFormat
impl StructuralPartialEq for OutputFormat
Auto Trait Implementations§
impl Freeze for OutputFormat
impl RefUnwindSafe for OutputFormat
impl Send for OutputFormat
impl Sync for OutputFormat
impl Unpin for OutputFormat
impl UnsafeUnpin for OutputFormat
impl UnwindSafe for OutputFormat
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