From 7f2210dbcab017ee30e8f95771e68494b4860c59 Mon Sep 17 00:00:00 2001 From: sigoden Date: Wed, 1 Nov 2023 10:28:54 +0800 Subject: refactor: clients/* and config.rs (#193) - add register_clients macro to make it easier to add a new client - no create_client_config, just add const PROMPTS - move ModelInfo from clients/ to config/ - model's max_tokens are optional - improve code quanity on config/mod.rs - add/use macro config_get_fn --- src/config/message.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/config/message.rs') diff --git a/src/config/message.rs b/src/config/message.rs index d5fcff1..5882337 100644 --- a/src/config/message.rs +++ b/src/config/message.rs @@ -17,7 +17,7 @@ impl Message { } } -#[derive(Debug, Clone, Deserialize, Serialize)] +#[derive(Debug, Clone, Copy, Deserialize, Serialize)] #[serde(rename_all = "snake_case")] pub enum MessageRole { System, @@ -25,6 +25,13 @@ pub enum MessageRole { User, } +impl MessageRole { + #[allow(dead_code)] + pub fn is_system(&self) -> bool { + matches!(self, MessageRole::System) + } +} + pub fn num_tokens_from_messages(messages: &[Message]) -> usize { let mut num_tokens = 0; for message in messages.iter() { -- cgit v1.2.3