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