mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-09-18 01:26:37 +08:00
feat: use SystemInstructions and remove gemini dummy message
This commit is contained in:
parent
ba50a137ea
commit
ad56898d5a
@ -116,7 +116,6 @@ func ConvertRequest(textRequest model.GeneralOpenAIRequest) *ChatRequest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
shouldAddDummyModelMessage := false
|
|
||||||
for _, message := range textRequest.Messages {
|
for _, message := range textRequest.Messages {
|
||||||
content := ChatContent{
|
content := ChatContent{
|
||||||
Role: message.Role,
|
Role: message.Role,
|
||||||
@ -154,25 +153,12 @@ func ConvertRequest(textRequest model.GeneralOpenAIRequest) *ChatRequest {
|
|||||||
if content.Role == "assistant" {
|
if content.Role == "assistant" {
|
||||||
content.Role = "model"
|
content.Role = "model"
|
||||||
}
|
}
|
||||||
// Converting system prompt to prompt from user for the same reason
|
// Converting system prompt to SystemInstructions
|
||||||
if content.Role == "system" {
|
if content.Role == "system" {
|
||||||
content.Role = "user"
|
geminiRequest.SystemInstruction = &content
|
||||||
shouldAddDummyModelMessage = true
|
continue
|
||||||
}
|
}
|
||||||
geminiRequest.Contents = append(geminiRequest.Contents, content)
|
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
|
return &geminiRequest
|
||||||
|
Loading…
Reference in New Issue
Block a user