|
@@ -1,25 +1,21 @@
|
|
|
package mistral
|
|
package mistral
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
- "encoding/json"
|
|
|
|
|
"one-api/dto"
|
|
"one-api/dto"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
-func requestOpenAI2Mistral(request dto.GeneralOpenAIRequest) *dto.GeneralOpenAIRequest {
|
|
|
|
|
|
|
+func requestOpenAI2Mistral(request *dto.GeneralOpenAIRequest) *dto.GeneralOpenAIRequest {
|
|
|
messages := make([]dto.Message, 0, len(request.Messages))
|
|
messages := make([]dto.Message, 0, len(request.Messages))
|
|
|
for _, message := range request.Messages {
|
|
for _, message := range request.Messages {
|
|
|
- if !message.IsStringContent() {
|
|
|
|
|
- mediaMessages := message.ParseContent()
|
|
|
|
|
- for j, mediaMessage := range mediaMessages {
|
|
|
|
|
- if mediaMessage.Type == dto.ContentTypeImageURL {
|
|
|
|
|
- imageUrl := mediaMessage.ImageUrl.(dto.MessageImageUrl)
|
|
|
|
|
- mediaMessage.ImageUrl = imageUrl.Url
|
|
|
|
|
- mediaMessages[j] = mediaMessage
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ mediaMessages := message.ParseContent()
|
|
|
|
|
+ for j, mediaMessage := range mediaMessages {
|
|
|
|
|
+ if mediaMessage.Type == dto.ContentTypeImageURL {
|
|
|
|
|
+ imageUrl := mediaMessage.ImageUrl.(dto.MessageImageUrl)
|
|
|
|
|
+ mediaMessage.ImageUrl = imageUrl.Url
|
|
|
|
|
+ mediaMessages[j] = mediaMessage
|
|
|
}
|
|
}
|
|
|
- messageRaw, _ := json.Marshal(mediaMessages)
|
|
|
|
|
- message.Content = messageRaw
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+ message.SetMediaContent(mediaMessages)
|
|
|
messages = append(messages, dto.Message{
|
|
messages = append(messages, dto.Message{
|
|
|
Role: message.Role,
|
|
Role: message.Role,
|
|
|
Content: message.Content,
|
|
Content: message.Content,
|