🐛 fix: function call error
This commit is contained in:
parent
6cd0f932c9
commit
68e5cf1183
@ -150,7 +150,7 @@ func convertFromChatOpenai(request *types.ChatCompletionRequest) *BaiduChatReque
|
|||||||
if message.Role == types.ChatMessageRoleSystem {
|
if message.Role == types.ChatMessageRoleSystem {
|
||||||
baiduChatRequest.System = message.StringContent()
|
baiduChatRequest.System = message.StringContent()
|
||||||
continue
|
continue
|
||||||
} else if message.Role == types.ChatMessageRoleFunction {
|
} else if message.Role == types.ChatMessageRoleFunction || message.Role == types.ChatMessageRoleTool {
|
||||||
baiduChatRequest.Messages = append(baiduChatRequest.Messages, BaiduMessage{
|
baiduChatRequest.Messages = append(baiduChatRequest.Messages, BaiduMessage{
|
||||||
Role: types.ChatMessageRoleAssistant,
|
Role: types.ChatMessageRoleAssistant,
|
||||||
FunctionCall: &types.ChatCompletionToolCallsFunction{
|
FunctionCall: &types.ChatCompletionToolCallsFunction{
|
||||||
|
@ -151,7 +151,7 @@ func OpenAIToGeminiChatContent(openaiContents []types.ChatCompletionMessage) ([]
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
} else if openaiContent.Role == types.ChatMessageRoleTool {
|
} else if openaiContent.Role == types.ChatMessageRoleFunction || openaiContent.Role == types.ChatMessageRoleTool {
|
||||||
content = GeminiChatContent{
|
content = GeminiChatContent{
|
||||||
Role: "function",
|
Role: "function",
|
||||||
Parts: []GeminiPart{
|
Parts: []GeminiPart{
|
||||||
|
@ -145,7 +145,7 @@ func convertFromChatOpenai(request *types.ChatCompletionRequest) *MiniMaxChatReq
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 如果role为function, 则需要在前面一条记录添加function_call,如果没有消息,则添加一个message
|
// 如果role为function, 则需要在前面一条记录添加function_call,如果没有消息,则添加一个message
|
||||||
if message.Role == types.ChatMessageRoleFunction {
|
if message.Role == types.ChatMessageRoleFunction || message.Role == types.ChatMessageRoleTool {
|
||||||
if len(messges) == 0 {
|
if len(messges) == 0 {
|
||||||
messges = append(messges, MiniMaxChatMessage{
|
messges = append(messges, MiniMaxChatMessage{
|
||||||
SenderType: "USER",
|
SenderType: "USER",
|
||||||
|
@ -75,7 +75,7 @@ func (p *XunfeiProvider) getChatRequest(request *types.ChatCompletionRequest) (*
|
|||||||
func (p *XunfeiProvider) convertFromChatOpenai(request *types.ChatCompletionRequest) *XunfeiChatRequest {
|
func (p *XunfeiProvider) convertFromChatOpenai(request *types.ChatCompletionRequest) *XunfeiChatRequest {
|
||||||
messages := make([]XunfeiMessage, 0, len(request.Messages))
|
messages := make([]XunfeiMessage, 0, len(request.Messages))
|
||||||
for _, message := range request.Messages {
|
for _, message := range request.Messages {
|
||||||
if message.Role == types.ChatMessageRoleFunction {
|
if message.Role == types.ChatMessageRoleFunction || message.Role == types.ChatMessageRoleTool {
|
||||||
messages = append(messages, XunfeiMessage{
|
messages = append(messages, XunfeiMessage{
|
||||||
Role: types.ChatMessageRoleUser,
|
Role: types.ChatMessageRoleUser,
|
||||||
Content: "这是函数调用返回的内容,请回答之前的问题:\n" + message.StringContent(),
|
Content: "这是函数调用返回的内容,请回答之前的问题:\n" + message.StringContent(),
|
||||||
|
Loading…
Reference in New Issue
Block a user