From 6286251d320a7f512e49534c30b42452d30d93cc Mon Sep 17 00:00:00 2001 From: sigoden Date: Tue, 19 Dec 2023 20:37:53 +0800 Subject: feat: support gemini (#273) --- src/client/common.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/client/common.rs') diff --git a/src/client/common.rs b/src/client/common.rs index 2716d87..98cffa2 100644 --- a/src/client/common.rs +++ b/src/client/common.rs @@ -1,4 +1,4 @@ -use super::{openai::OpenAIConfig, ClientConfig, Message}; +use super::{openai::OpenAIConfig, ClientConfig, Message, MessageContent}; use crate::{ config::{GlobalConfig, Input}, @@ -308,6 +308,19 @@ where Ok(()) } +pub fn patch_system_message(messages: &mut Vec) { + if messages[0].role.is_system() { + let system_message = messages.remove(0); + if let (Some(message), MessageContent::Text(system_text)) = + (messages.get_mut(0), system_message.content) + { + if let MessageContent::Text(text) = message.content.clone() { + message.content = MessageContent::Text(format!("{}\n\n{}", system_text, text)) + } + } + } +} + fn set_config_value(json: &mut Value, path: &str, kind: &PromptKind, value: &str) { let segs: Vec<&str> = path.split('.').collect(); match segs.as_slice() { -- cgit v1.2.3