swiftide_integrations/dashscope/
mod.rs

1use config::DashscopeConfig;
2
3use crate::openai;
4
5mod config;
6
7pub type Dashscope = openai::GenericOpenAI<DashscopeConfig>;
8impl Dashscope {
9    pub fn builder() -> DashscopeBuilder {
10        DashscopeBuilder::default()
11    }
12}
13
14pub type DashscopeBuilder = openai::GenericOpenAIBuilder<DashscopeConfig>;
15pub type DashscopeBuilderError = openai::GenericOpenAIBuilderError;
16pub use openai::{Options, OptionsBuilder, OptionsBuilderError};
17
18impl Default for Dashscope {
19    fn default() -> Self {
20        Dashscope::builder().build().unwrap()
21    }
22}
23
24#[cfg(test)]
25mod test {
26    use super::*;
27    #[test]
28    fn test_default_prompt_model() {
29        let openai = Dashscope::builder()
30            .default_prompt_model("qwen-long")
31            .build()
32            .unwrap();
33        assert_eq!(
34            openai.default_options.prompt_model,
35            Some("qwen-long".to_string())
36        );
37
38        let openai = Dashscope::builder()
39            .default_prompt_model("qwen-turbo")
40            .build()
41            .unwrap();
42        assert_eq!(
43            openai.default_options.prompt_model,
44            Some("qwen-turbo".to_string())
45        );
46    }
47}