summaryrefslogtreecommitdiffstats
path: root/src/config/message.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-11-01 10:28:54 +0800
committerGitHub <noreply@github.com>2023-11-01 10:28:54 +0800
commit7f2210dbcab017ee30e8f95771e68494b4860c59 (patch)
tree7a0c7bdc8f6930e262bf8cfdc8ffbd57aa843e40 /src/config/message.rs
parent64202758ec8693dd18951c554728bb5c6b7e5eeb (diff)
downloadaichat-7f2210dbcab017ee30e8f95771e68494b4860c59.tar.gz
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
Diffstat (limited to 'src/config/message.rs')
-rw-r--r--src/config/message.rs9
1 files changed, 8 insertions, 1 deletions
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() {