From ad56898d5a915f21eb03da3e250c4c6dfd7fb6ca Mon Sep 17 00:00:00 2001 From: mxdlzg Date: Mon, 23 Dec 2024 13:23:48 +0800 Subject: [PATCH] feat: use SystemInstructions and remove gemini dummy message --- relay/adaptor/gemini/main.go | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/relay/adaptor/gemini/main.go b/relay/adaptor/gemini/main.go index 6aec63a088..3746bcdaf2 100644 --- a/relay/adaptor/gemini/main.go +++ b/relay/adaptor/gemini/main.go @@ -116,7 +116,6 @@ func ConvertRequest(textRequest model.GeneralOpenAIRequest) *ChatRequest { } } } - shouldAddDummyModelMessage := false for _, message := range textRequest.Messages { content := ChatContent{ Role: message.Role, @@ -154,25 +153,12 @@ func ConvertRequest(textRequest model.GeneralOpenAIRequest) *ChatRequest { if content.Role == "assistant" { content.Role = "model" } - // Converting system prompt to prompt from user for the same reason + // Converting system prompt to SystemInstructions if content.Role == "system" { - content.Role = "user" - shouldAddDummyModelMessage = true + geminiRequest.SystemInstruction = &content + continue } geminiRequest.Contents = append(geminiRequest.Contents, content) - - // If a system message is the last message, we need to add a dummy model message to make gemini happy - if shouldAddDummyModelMessage { - geminiRequest.Contents = append(geminiRequest.Contents, ChatContent{ - Role: "model", - Parts: []Part{ - { - Text: "Okay", - }, - }, - }) - shouldAddDummyModelMessage = false - } } return &geminiRequest