From 16603e253032933fa8d94674bb7bba27470ea2cd Mon Sep 17 00:00:00 2001 From: "Laisky.Cai" Date: Fri, 29 Dec 2023 01:39:49 +0000 Subject: [PATCH] doc: Relax safety settings for Gemini - Fix an error message in getting image bytes from a URL in Gemini. - Remove safety settings from the Gemini OpenAI request and set all harm categories to block only high. - Add a log statement about how many images are sent to Gemini vision. --- controller/relay-gemini.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/controller/relay-gemini.go b/controller/relay-gemini.go index 7dd008ef..67d43ea9 100644 --- a/controller/relay-gemini.go +++ b/controller/relay-gemini.go @@ -121,9 +121,11 @@ func requestOpenAI2Gemini(textRequest GeneralOpenAIRequest) *GeminiChatRequest { mimeType, data, err := image.GetImageFromUrl(part.ImageURL.Url) if err != nil { - common.LogError(context.TODO(), + common.LogWarn(context.TODO(), fmt.Sprintf("get image from url %s got %+v", part.ImageURL.Url, err)) + continue } + parts = append(parts, GeminiPart{ InlineData: &GeminiInlineData{ MimeType: mimeType, @@ -132,6 +134,8 @@ func requestOpenAI2Gemini(textRequest GeneralOpenAIRequest) *GeminiChatRequest { }) } } + common.LogInfo(context.TODO(), + fmt.Sprintf("send %d images to gemini-pro-vision", len(parts))) content.Parts = parts // there's no assistant role in gemini and API shall vomit if Role is not user or model