From d4e043e5bf1a939ac2269d53a5ae6250101f9f41 Mon Sep 17 00:00:00 2001 From: sigoden Date: Wed, 5 Jun 2024 15:07:21 +0800 Subject: feat: use systemInstruction for gemini-1.5-* models (#564) --- src/client/vertexai.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/client/vertexai.rs b/src/client/vertexai.rs index dc75c9f..5211438 100644 --- a/src/client/vertexai.rs +++ b/src/client/vertexai.rs @@ -262,7 +262,12 @@ pub fn gemini_build_chat_completions_body( stream: _, } = data; - patch_system_message(&mut messages); + let mut system_message = None; + if model.name().starts_with("gemini-1.5") { + system_message = extract_system_message(&mut messages); + } else { + patch_system_message(&mut messages); + }; let mut network_image_urls = vec![]; let contents: Vec = messages @@ -333,6 +338,10 @@ pub fn gemini_build_chat_completions_body( let mut body = json!({ "contents": contents, "generationConfig": {} }); + if let Some(v) = system_message { + body["systemInstruction"] = json!({ "parts": [{ "text": v }] }); + } + if let Some(v) = model.max_tokens_param() { body["generationConfig"]["maxOutputTokens"] = v.into(); } -- cgit v1.2.3