diff options
| author | sigoden <sigoden@gmail.com> | 2024-04-19 10:55:08 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-19 10:55:08 +0800 |
| commit | 5d7c786b7f98f76bd5cb2d7814e22fac62406d97 (patch) | |
| tree | 6462b160e62f5b77d3dbe38c304dbc194eb371e1 /src/client/moonshot.rs | |
| parent | a0b4f344ee003dd9d1af19105d93f4914efdd520 (diff) | |
| download | aichat-5d7c786b7f98f76bd5cb2d7814e22fac62406d97.tar.gz | |
feat: remove moonshot client (#418)
Diffstat (limited to 'src/client/moonshot.rs')
| -rw-r--r-- | src/client/moonshot.rs | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/src/client/moonshot.rs b/src/client/moonshot.rs deleted file mode 100644 index 18cf0f2..0000000 --- a/src/client/moonshot.rs +++ /dev/null @@ -1,65 +0,0 @@ -use super::openai::openai_build_body; -use super::{ExtraConfig, MoonshotClient, Model, PromptType, SendData}; - -use crate::utils::PromptKind; - -use anyhow::Result; -use async_trait::async_trait; -use reqwest::{Client as ReqwestClient, RequestBuilder}; -use serde::Deserialize; - -const API_URL: &str = "https://api.moonshot.cn/v1/chat/completions"; - -const MODELS: [(&str, usize, &str); 3] = [ - // https://platform.moonshot.cn/docs/intro - ("moonshot-v1-8k", 8000, "text"), - ("moonshot-v1-32k", 32000, "text"), - ("moonshot-v1-128k", 128000, "text"), -]; - - -#[derive(Debug, Clone, Deserialize)] -pub struct MoonshotConfig { - pub name: Option<String>, - pub api_key: Option<String>, - pub extra: Option<ExtraConfig>, -} - -openai_compatible_client!(MoonshotClient); - -impl MoonshotClient { - config_get_fn!(api_key, get_api_key); - - pub const PROMPTS: [PromptType<'static>; 1] = [ - ("api_key", "API Key:", false, PromptKind::String), - ]; - - pub fn list_models(local_config: &MoonshotConfig) -> Vec<Model> { - let client_name = Self::name(local_config); - MODELS - .into_iter() - .map(|(name, max_input_tokens, capabilities)| { - Model::new(client_name, name) - .set_capabilities(capabilities.into()) - .set_max_input_tokens(Some(max_input_tokens)) - }) - .collect() - } - - fn request_builder(&self, client: &ReqwestClient, data: SendData) -> Result<RequestBuilder> { - let api_key = self.get_api_key().ok(); - - let body = openai_build_body(data, self.model.name.clone()); - - let url = API_URL; - - debug!("Moonshot Request: {url} {body}"); - - let mut builder = client.post(url).json(&body); - if let Some(api_key) = api_key { - builder = builder.bearer_auth(api_key); - } - - Ok(builder) - } -} |
