diff options
| author | sigoden <sigoden@gmail.com> | 2024-04-24 07:56:24 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-24 07:56:24 +0800 |
| commit | 4f8d895154c602fb51a7694911efd96d52129f82 (patch) | |
| tree | 3c8decb301c0b77937a152af2d4f996d0960839c /src/client/common.rs | |
| parent | 0a4c0413ef0154cde2e3485ec0415e6069596a23 (diff) | |
| download | aichat-4f8d895154c602fb51a7694911efd96d52129f82.tar.gz | |
refactor: handling of system message (#432)
Diffstat (limited to 'src/client/common.rs')
| -rw-r--r-- | src/client/common.rs | 8 |
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, |
