async_dashscope/operation/multi_modal_conversation/
param.rs

1use 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}