async_dashscope/operation/generation/
param.rs1use derive_builder::Builder;
2use serde::{Deserialize, Serialize};
3
4use crate::operation::common::{Parameters, StreamOptions};
5
6#[derive(Debug, Clone, Builder, Serialize, Deserialize, PartialEq)]
7pub struct GenerationParam {
8 pub model: String,
9
10 pub input: Input,
11
12 #[serde(skip_serializing_if = "Option::is_none")]
13 #[builder(setter(into, strip_option))]
14 #[builder(default=None)]
15 pub parameters: Option<Parameters>,
16
17 #[builder(setter(into, strip_option))]
18 #[builder(default=Some(false))]
19 pub stream: Option<bool>,
20
21 #[builder(setter(into, strip_option))]
22 #[builder(default=None)]
23 pub stream_options: Option<StreamOptions>,
24}
25
26#[derive(Debug, Clone, Builder, Serialize, Deserialize, PartialEq)]
27pub struct Input {
28 pub messages: Vec<Message>,
29}
30
31#[derive(Debug, Clone, Builder, Serialize, Deserialize, PartialEq)]
32pub struct Message {
33 #[builder(setter(into))]
34 pub role: String,
35 #[builder(setter(into))]
36 pub content: String,
37 #[builder(setter(into, strip_option))]
38 #[builder(default=Some(false))]
39 pub partial: Option<bool>,
40}