summaryrefslogtreecommitdiffstats
path: root/src/client/common.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-04-24 07:56:24 +0800
committerGitHub <noreply@github.com>2024-04-24 07:56:24 +0800
commit4f8d895154c602fb51a7694911efd96d52129f82 (patch)
tree3c8decb301c0b77937a152af2d4f996d0960839c /src/client/common.rs
parent0a4c0413ef0154cde2e3485ec0415e6069596a23 (diff)
downloadaichat-4f8d895154c602fb51a7694911efd96d52129f82.tar.gz
refactor: handling of system message (#432)
Diffstat (limited to 'src/client/common.rs')
-rw-r--r--src/client/common.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/client/common.rs b/src/client/common.rs
index b6ccce7..62c5f92 100644
--- a/src/client/common.rs
+++ b/src/client/common.rs
@@ -414,6 +414,14 @@ pub fn patch_system_message(messages: &mut Vec<Message>) {
}
}
+pub fn extract_sytem_message(messages: &mut Vec<Message>) -> Option<String> {
+ if messages[0].role.is_system() {
+ let system_message = messages.remove(0);
+ return Some(system_message.content.to_text());
+ }
+ None
+}
+
pub async fn json_stream<S, F>(mut stream: S, mut handle: F) -> Result<()>
where
S: Stream<Item = Result<bytes::Bytes, reqwest::Error>> + Unpin,