1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
//! Generate structured objects from language models.
//!
//! This module provides functionality for generating validated, schema-based outputs
//! from language models, with support for:
//! - Single structured objects
//! - Arrays of elements
//! - Enum values
//! - Streaming with partial results
//!
//! # Examples
//!
//! ## Basic Object Generation
//!
//! ```rust,ignore
//! use ai_sdk_core::generate_object::{generate_object, ObjectOutputStrategy};
//! use serde::{Deserialize, Serialize};
//!
//! #[derive(Serialize, Deserialize)]
//! struct Recipe {
//! name: String,
//! ingredients: Vec<String>,
//! steps: Vec<String>,
//! }
//!
//! let result = generate_object()
//! .model(model)
//! .prompt("Generate a recipe for chocolate chip cookies")
//! .output_strategy(ObjectOutputStrategy::new(recipe_schema))
//! .execute()
//! .await?;
//!
//! println!("Recipe: {:?}", result.object);
//! ```
//!
//! ## Streaming Object Generation
//!
//! ```rust,ignore
//! use ai_sdk_core::generate_object::{stream_object, ObjectOutputStrategy, ObjectStreamPart};
//! use tokio_stream::StreamExt;
//!
//! let mut result = stream_object()
//! .model(model)
//! .prompt("Generate a recipe for chocolate chip cookies")
//! .output_strategy(ObjectOutputStrategy::new(recipe_schema))
//! .execute()
//! .await?;
//!
//! // Process streaming updates
//! while let Some(part) = result.partial_object_stream.next().await {
//! match part {
//! ObjectStreamPart::Object { object } => {
//! println!("Partial recipe: {:?}", object);
//! }
//! ObjectStreamPart::Finish { .. } => break,
//! _ => {}
//! }
//! }
//! ```
pub use crate;
pub use ;
pub use ;
pub use ;
use crateRetryPolicy;
/// Configuration parameters for structured object generation.
///
/// This structure holds configuration options specific to generating structured
/// objects (schemas) from language models. It extends basic generation options
/// with schema-specific settings for JSON mode and validation.