| 123456789101112131415161718192021222324252627282930313233343536 |
- package mistral
- import (
- "one-api/dto"
- )
- func requestOpenAI2Mistral(request *dto.GeneralOpenAIRequest) *dto.GeneralOpenAIRequest {
- messages := make([]dto.Message, 0, len(request.Messages))
- for _, message := range request.Messages {
- mediaMessages := message.ParseContent()
- for j, mediaMessage := range mediaMessages {
- if mediaMessage.Type == dto.ContentTypeImageURL {
- imageUrl := mediaMessage.GetImageMedia()
- mediaMessage.ImageUrl = imageUrl.Url
- mediaMessages[j] = mediaMessage
- }
- }
- message.SetMediaContent(mediaMessages)
- 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,
- }
- }
|