mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-11-17 21:53:42 +08:00
🐛 fix: hunyuan model name change (#100)
This commit is contained in:
@@ -131,40 +131,45 @@ func (p *BaiduProvider) convertToChatOpenai(response *BaiduChatResponse, request
|
||||
}
|
||||
|
||||
func convertFromChatOpenai(request *types.ChatCompletionRequest) *BaiduChatRequest {
|
||||
messages := make([]BaiduMessage, 0, len(request.Messages))
|
||||
baiduChatRequest := &BaiduChatRequest{
|
||||
Messages: make([]BaiduMessage, 0, len(request.Messages)),
|
||||
Temperature: request.Temperature,
|
||||
Stream: request.Stream,
|
||||
TopP: request.TopP,
|
||||
PenaltyScore: request.FrequencyPenalty,
|
||||
Stop: request.Stop,
|
||||
MaxOutputTokens: request.MaxTokens,
|
||||
}
|
||||
|
||||
if request.ResponseFormat != nil {
|
||||
baiduChatRequest.ResponseFormat = request.ResponseFormat.Type
|
||||
|
||||
}
|
||||
|
||||
for _, message := range request.Messages {
|
||||
if message.Role == types.ChatMessageRoleSystem {
|
||||
messages = append(messages, BaiduMessage{
|
||||
Role: types.ChatMessageRoleUser,
|
||||
Content: message.StringContent(),
|
||||
})
|
||||
messages = append(messages, BaiduMessage{
|
||||
Role: types.ChatMessageRoleAssistant,
|
||||
Content: "Okay",
|
||||
})
|
||||
baiduChatRequest.System = message.StringContent()
|
||||
continue
|
||||
} else if message.Role == types.ChatMessageRoleFunction {
|
||||
messages = append(messages, BaiduMessage{
|
||||
Role: types.ChatMessageRoleAssistant,
|
||||
Content: "Okay",
|
||||
baiduChatRequest.Messages = append(baiduChatRequest.Messages, BaiduMessage{
|
||||
Role: types.ChatMessageRoleAssistant,
|
||||
FunctionCall: &types.ChatCompletionToolCallsFunction{
|
||||
Name: *message.Name,
|
||||
Arguments: "{}",
|
||||
},
|
||||
})
|
||||
messages = append(messages, BaiduMessage{
|
||||
baiduChatRequest.Messages = append(baiduChatRequest.Messages, BaiduMessage{
|
||||
Role: types.ChatMessageRoleUser,
|
||||
Content: "这是函数调用返回的内容,请回答之前的问题:\n" + message.StringContent(),
|
||||
})
|
||||
} else {
|
||||
messages = append(messages, BaiduMessage{
|
||||
baiduChatRequest.Messages = append(baiduChatRequest.Messages, BaiduMessage{
|
||||
Role: message.Role,
|
||||
Content: message.StringContent(),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
baiduChatRequest := &BaiduChatRequest{
|
||||
Messages: messages,
|
||||
Temperature: request.Temperature,
|
||||
Stream: request.Stream,
|
||||
}
|
||||
|
||||
if request.Tools != nil {
|
||||
functions := make([]*types.ChatCompletionFunction, 0, len(request.Tools))
|
||||
for _, tool := range request.Tools {
|
||||
|
||||
@@ -14,16 +14,24 @@ type BaiduAccessToken struct {
|
||||
}
|
||||
|
||||
type BaiduMessage struct {
|
||||
Role string `json:"role"`
|
||||
Content string `json:"content"`
|
||||
Role string `json:"role"`
|
||||
Content string `json:"content,omitempty"`
|
||||
FunctionCall *types.ChatCompletionToolCallsFunction `json:"function_call,omitempty"`
|
||||
}
|
||||
|
||||
type BaiduChatRequest struct {
|
||||
Messages []BaiduMessage `json:"messages"`
|
||||
Functions []*types.ChatCompletionFunction `json:"functions,omitempty"`
|
||||
Temperature float64 `json:"temperature,omitempty"`
|
||||
Stream bool `json:"stream"`
|
||||
UserId string `json:"user_id,omitempty"`
|
||||
Messages []BaiduMessage `json:"messages"`
|
||||
Functions []*types.ChatCompletionFunction `json:"functions,omitempty"`
|
||||
Temperature float64 `json:"temperature,omitempty"`
|
||||
TopP float64 `json:"top_p,omitempty"`
|
||||
PenaltyScore float64 `json:"penalty_score,omitempty"`
|
||||
Stream bool `json:"stream"`
|
||||
System string `json:"system,omitempty"`
|
||||
Stop []string `json:"stop,omitempty"`
|
||||
DisableSearch bool `json:"disable_search,omitempty"`
|
||||
MaxOutputTokens int `json:"max_output_tokens,omitempty"`
|
||||
ResponseFormat string `json:"response_format,omitempty"`
|
||||
UserId string `json:"user_id,omitempty"`
|
||||
}
|
||||
|
||||
type BaiduChatResponse struct {
|
||||
|
||||
@@ -75,6 +75,7 @@ func (p *TencentProvider) getChatRequest(request *types.ChatCompletionRequest) (
|
||||
// 获取请求头
|
||||
headers := p.GetRequestHeaders()
|
||||
headers["Authorization"] = sign
|
||||
headers["X-TC-Action"] = request.Model
|
||||
if request.Stream {
|
||||
headers["Accept"] = "text/event-stream"
|
||||
}
|
||||
@@ -125,17 +126,6 @@ func convertFromChatOpenai(request *types.ChatCompletionRequest) *TencentChatReq
|
||||
messages := make([]TencentMessage, 0, len(request.Messages))
|
||||
for i := 0; i < len(request.Messages); i++ {
|
||||
message := request.Messages[i]
|
||||
if message.Role == "system" {
|
||||
messages = append(messages, TencentMessage{
|
||||
Role: "user",
|
||||
Content: message.StringContent(),
|
||||
})
|
||||
messages = append(messages, TencentMessage{
|
||||
Role: "assistant",
|
||||
Content: "Okay",
|
||||
})
|
||||
continue
|
||||
}
|
||||
messages = append(messages, TencentMessage{
|
||||
Content: message.StringContent(),
|
||||
Role: message.Role,
|
||||
|
||||
Reference in New Issue
Block a user