Structured Output
Basic Usage
use orpheus::prelude::*;
fn main() -> anyhow::Result<()> {
let client = Orpheus::from_env()?;
// Define your response format
let person_format = Format::json("person")
.with_schema(|schema| {
schema
.property("name", Param::string())
.property("age", Param::number())
.required(["name", "age"])
})
.build();
let response = client
.chat("Jessica is a 20 year old college student.")
.model("openai/gpt-4o")
.response_format(person_format)
.send()?;
println!("{}", response.content()?);
// Output: {"name": "Jessica", "age": 20}
Ok(())
}Schema Definition
Format Builder
Parameter Types
String Parameters
Number Parameters
Boolean Parameters
Object Parameters
Array Parameters
Null Parameters
Advanced Features
Union Types (anyOf)
Last updated
Was this helpful?