37 lines
1022 B
Go
Raw Normal View History

2024-11-05 17:11:33 +08:00
package mistral
import (
"one-api/dto"
)
2025-02-22 16:29:48 +08:00
func requestOpenAI2Mistral(request *dto.GeneralOpenAIRequest) *dto.GeneralOpenAIRequest {
2024-11-05 17:11:33 +08:00
messages := make([]dto.Message, 0, len(request.Messages))
for _, message := range request.Messages {
2025-02-22 16:29:48 +08:00
mediaMessages := message.ParseContent()
for j, mediaMessage := range mediaMessages {
if mediaMessage.Type == dto.ContentTypeImageURL {
imageUrl := mediaMessage.GetImageMedia()
2025-02-22 16:29:48 +08:00
mediaMessage.ImageUrl = imageUrl.Url
mediaMessages[j] = mediaMessage
2024-11-05 17:11:33 +08:00
}
}
2025-02-22 16:29:48 +08:00
message.SetMediaContent(mediaMessages)
2024-11-05 17:11:33 +08:00
messages = append(messages, dto.Message{
Role: message.Role,
Content: message.Content,
ToolCalls: message.ToolCalls,
ToolCallId: message.ToolCallId,
})
}
return &dto.GeneralOpenAIRequest{
Model: request.Model,
Stream: request.Stream,
Messages: messages,
Temperature: request.Temperature,
TopP: request.TopP,
MaxTokens: request.MaxTokens,
Tools: request.Tools,
ToolChoice: request.ToolChoice,
}
}