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 #[builder(setter(into, strip_option))]
9 pub model: String,
10
11 pub input: Input,
12
13 #[serde(skip_serializing_if = "Option::is_none")]
14 #[builder(setter(into, strip_option))]
15 #[builder(default=None)]
16 pub parameters: Option<Parameters>,
17
18 #[builder(setter(into, strip_option))]
19 #[builder(default=Some(false))]
20 pub stream: Option<bool>,
21
22 #[builder(setter(into, strip_option))]
23 #[builder(default=None)]
24 pub stream_options: Option<StreamOptions>,
25}
26
27#[derive(Debug, Clone, Builder, Serialize, Deserialize, PartialEq)]
28pub struct Input {
29 pub messages: Vec<Message>,
30}
31
32#[derive(Debug, Clone, Builder, Serialize, Deserialize, PartialEq)]
33pub struct Message {
34 #[builder(setter(into))]
35 pub role: String,
36 #[builder(setter(into))]
37 pub content: String,
38 #[builder(setter(into, strip_option))]
39 #[builder(default=Some(false))]
40 pub partial: Option<bool>,
41}