mirror of
				https://github.com/linux-do/new-api.git
				synced 2025-11-04 13:23:42 +08:00 
			
		
		
		
	fix: 修正 Unicode 转义序列解析问题,close #63
This commit is contained in:
		@@ -88,17 +88,17 @@ func requestOpenAI2Ali(request GeneralOpenAIRequest) *AliChatRequest {
 | 
			
		||||
		message := request.Messages[i]
 | 
			
		||||
		if message.Role == "system" {
 | 
			
		||||
			messages = append(messages, AliMessage{
 | 
			
		||||
				User: string(message.Content),
 | 
			
		||||
				User: message.StringContent(),
 | 
			
		||||
				Bot:  "Okay",
 | 
			
		||||
			})
 | 
			
		||||
			continue
 | 
			
		||||
		} else {
 | 
			
		||||
			if i == len(request.Messages)-1 {
 | 
			
		||||
				prompt = string(message.Content)
 | 
			
		||||
				prompt = message.StringContent()
 | 
			
		||||
				break
 | 
			
		||||
			}
 | 
			
		||||
			messages = append(messages, AliMessage{
 | 
			
		||||
				User: string(message.Content),
 | 
			
		||||
				User: message.StringContent(),
 | 
			
		||||
				Bot:  string(request.Messages[i+1].Content),
 | 
			
		||||
			})
 | 
			
		||||
			i++
 | 
			
		||||
 
 | 
			
		||||
@@ -89,7 +89,7 @@ func requestOpenAI2Baidu(request GeneralOpenAIRequest) *BaiduChatRequest {
 | 
			
		||||
		if message.Role == "system" {
 | 
			
		||||
			messages = append(messages, BaiduMessage{
 | 
			
		||||
				Role:    "user",
 | 
			
		||||
				Content: string(message.Content),
 | 
			
		||||
				Content: message.StringContent(),
 | 
			
		||||
			})
 | 
			
		||||
			messages = append(messages, BaiduMessage{
 | 
			
		||||
				Role:    "assistant",
 | 
			
		||||
@@ -98,7 +98,7 @@ func requestOpenAI2Baidu(request GeneralOpenAIRequest) *BaiduChatRequest {
 | 
			
		||||
		} else {
 | 
			
		||||
			messages = append(messages, BaiduMessage{
 | 
			
		||||
				Role:    message.Role,
 | 
			
		||||
				Content: string(message.Content),
 | 
			
		||||
				Content: message.StringContent(),
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -97,7 +97,7 @@ func requestOpenAI2Gemini(textRequest GeneralOpenAIRequest) *GeminiChatRequest {
 | 
			
		||||
			Role: message.Role,
 | 
			
		||||
			Parts: []GeminiPart{
 | 
			
		||||
				{
 | 
			
		||||
					Text: string(message.Content),
 | 
			
		||||
					Text: message.StringContent(),
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -59,7 +59,7 @@ func requestOpenAI2PaLM(textRequest GeneralOpenAIRequest) *PaLMChatRequest {
 | 
			
		||||
	}
 | 
			
		||||
	for _, message := range textRequest.Messages {
 | 
			
		||||
		palmMessage := PaLMChatMessage{
 | 
			
		||||
			Content: string(message.Content),
 | 
			
		||||
			Content: message.StringContent(),
 | 
			
		||||
		}
 | 
			
		||||
		if message.Role == "user" {
 | 
			
		||||
			palmMessage.Author = "0"
 | 
			
		||||
 
 | 
			
		||||
@@ -84,7 +84,7 @@ func requestOpenAI2Tencent(request GeneralOpenAIRequest) *TencentChatRequest {
 | 
			
		||||
		if message.Role == "system" {
 | 
			
		||||
			messages = append(messages, TencentMessage{
 | 
			
		||||
				Role:    "user",
 | 
			
		||||
				Content: string(message.Content),
 | 
			
		||||
				Content: message.StringContent(),
 | 
			
		||||
			})
 | 
			
		||||
			messages = append(messages, TencentMessage{
 | 
			
		||||
				Role:    "assistant",
 | 
			
		||||
@@ -93,7 +93,7 @@ func requestOpenAI2Tencent(request GeneralOpenAIRequest) *TencentChatRequest {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		messages = append(messages, TencentMessage{
 | 
			
		||||
			Content: string(message.Content),
 | 
			
		||||
			Content: message.StringContent(),
 | 
			
		||||
			Role:    message.Role,
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -81,7 +81,7 @@ func requestOpenAI2Xunfei(request GeneralOpenAIRequest, xunfeiAppId string, doma
 | 
			
		||||
		if message.Role == "system" {
 | 
			
		||||
			messages = append(messages, XunfeiMessage{
 | 
			
		||||
				Role:    "user",
 | 
			
		||||
				Content: string(message.Content),
 | 
			
		||||
				Content: message.StringContent(),
 | 
			
		||||
			})
 | 
			
		||||
			messages = append(messages, XunfeiMessage{
 | 
			
		||||
				Role:    "assistant",
 | 
			
		||||
@@ -90,7 +90,7 @@ func requestOpenAI2Xunfei(request GeneralOpenAIRequest, xunfeiAppId string, doma
 | 
			
		||||
		} else {
 | 
			
		||||
			messages = append(messages, XunfeiMessage{
 | 
			
		||||
				Role:    message.Role,
 | 
			
		||||
				Content: string(message.Content),
 | 
			
		||||
				Content: message.StringContent(),
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -114,7 +114,7 @@ func requestOpenAI2Zhipu(request GeneralOpenAIRequest) *ZhipuRequest {
 | 
			
		||||
		if message.Role == "system" {
 | 
			
		||||
			messages = append(messages, ZhipuMessage{
 | 
			
		||||
				Role:    "system",
 | 
			
		||||
				Content: string(message.Content),
 | 
			
		||||
				Content: message.StringContent(),
 | 
			
		||||
			})
 | 
			
		||||
			messages = append(messages, ZhipuMessage{
 | 
			
		||||
				Role:    "user",
 | 
			
		||||
@@ -123,7 +123,7 @@ func requestOpenAI2Zhipu(request GeneralOpenAIRequest) *ZhipuRequest {
 | 
			
		||||
		} else {
 | 
			
		||||
			messages = append(messages, ZhipuMessage{
 | 
			
		||||
				Role:    message.Role,
 | 
			
		||||
				Content: string(message.Content),
 | 
			
		||||
				Content: message.StringContent(),
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -36,6 +36,14 @@ const (
 | 
			
		||||
	ContentTypeImageURL = "image_url"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func (m Message) StringContent() string {
 | 
			
		||||
	var stringContent string
 | 
			
		||||
	if err := json.Unmarshal(m.Content, &stringContent); err == nil {
 | 
			
		||||
		return stringContent
 | 
			
		||||
	}
 | 
			
		||||
	return string(m.Content)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (m Message) ParseContent() []MediaMessage {
 | 
			
		||||
	var contentList []MediaMessage
 | 
			
		||||
	var stringContent string
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user