chore: optimize variable name

This commit is contained in:
RockYang 2024-01-19 11:26:22 +08:00
parent d7c002890c
commit c9cd082855
5 changed files with 15 additions and 14 deletions

View File

@ -156,7 +156,7 @@ const Azure = Platform("Azure")
const ChatGLM = Platform("ChatGLM") const ChatGLM = Platform("ChatGLM")
const Baidu = Platform("Baidu") const Baidu = Platform("Baidu")
const XunFei = Platform("XunFei") const XunFei = Platform("XunFei")
const Ali = Platform("Ali") const QWen = Platform("QWen")
// UserChatConfig 用户的聊天配置 // UserChatConfig 用户的聊天配置
type UserChatConfig struct { type UserChatConfig struct {

View File

@ -267,7 +267,7 @@ func (h *ChatHandler) sendMessage(ctx context.Context, session *types.ChatSessio
req.Temperature = h.App.ChatConfig.XunFei.Temperature req.Temperature = h.App.ChatConfig.XunFei.Temperature
req.MaxTokens = h.App.ChatConfig.XunFei.MaxTokens req.MaxTokens = h.App.ChatConfig.XunFei.MaxTokens
break break
case types.Ali: case types.QWen:
req.Input = map[string]interface{}{"messages": []map[string]string{{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": prompt}}} req.Input = map[string]interface{}{"messages": []map[string]string{{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": prompt}}}
req.Parameters = map[string]interface{}{} req.Parameters = map[string]interface{}{}
break break
@ -344,8 +344,8 @@ func (h *ChatHandler) sendMessage(ctx context.Context, session *types.ChatSessio
return h.sendBaiduMessage(chatCtx, req, userVo, ctx, session, role, prompt, ws) return h.sendBaiduMessage(chatCtx, req, userVo, ctx, session, role, prompt, ws)
case types.XunFei: case types.XunFei:
return h.sendXunFeiMessage(chatCtx, req, userVo, ctx, session, role, prompt, ws) return h.sendXunFeiMessage(chatCtx, req, userVo, ctx, session, role, prompt, ws)
case types.Ali: case types.QWen:
return h.sendQwenMessage(chatCtx, req, userVo, ctx, session, role, prompt, ws) return h.sendQWenMessage(chatCtx, req, userVo, ctx, session, role, prompt, ws)
} }
utils.ReplyChunkMessage(ws, types.WsMessage{ utils.ReplyChunkMessage(ws, types.WsMessage{
Type: types.WsMiddle, Type: types.WsMiddle,
@ -439,7 +439,7 @@ func (h *ChatHandler) doRequest(ctx context.Context, req types.ApiRequest, platf
case types.Baidu: case types.Baidu:
apiURL = strings.Replace(apiKey.ApiURL, "{model}", req.Model, 1) apiURL = strings.Replace(apiKey.ApiURL, "{model}", req.Model, 1)
break break
case types.Ali: case types.QWen:
apiURL = apiKey.ApiURL apiURL = apiKey.ApiURL
req.Messages = nil req.Messages = nil
break break
@ -506,7 +506,7 @@ func (h *ChatHandler) doRequest(ctx context.Context, req types.ApiRequest, platf
case types.OpenAI: case types.OpenAI:
request.Header.Set("Authorization", fmt.Sprintf("Bearer %s", apiKey.Value)) request.Header.Set("Authorization", fmt.Sprintf("Bearer %s", apiKey.Value))
break break
case types.Ali: case types.QWen:
request.Header.Set("Authorization", fmt.Sprintf("Bearer %s", apiKey.Value)) request.Header.Set("Authorization", fmt.Sprintf("Bearer %s", apiKey.Value))
request.Header.Set("X-DashScope-SSE", "enable") request.Header.Set("X-DashScope-SSE", "enable")
break break

View File

@ -16,7 +16,7 @@ import (
"unicode/utf8" "unicode/utf8"
) )
type qwenResp struct { type qWenResp struct {
Output struct { Output struct {
FinishReason string `json:"finish_reason"` FinishReason string `json:"finish_reason"`
Text string `json:"text"` Text string `json:"text"`
@ -30,7 +30,7 @@ type qwenResp struct {
} }
// 通义千问消息发送实现 // 通义千问消息发送实现
func (h *ChatHandler) sendQwenMessage( func (h *ChatHandler) sendQWenMessage(
chatCtx []interface{}, chatCtx []interface{},
req types.ApiRequest, req types.ApiRequest,
userVo vo.User, userVo vo.User,
@ -85,14 +85,15 @@ func (h *ChatHandler) sendQwenMessage(
content = "\n" content = "\n"
} }
var resp qwenResp var resp qWenResp
err := utils.JsonDecode(content, &resp) err := utils.JsonDecode(content, &resp)
if err != nil { if err != nil {
logger.Error("error with parse data line: ", err) logger.Error("error with parse data line: ", err)
utils.ReplyMessage(ws, fmt.Sprintf("**解析数据行失败:%s**", err)) utils.ReplyMessage(ws, fmt.Sprintf("**解析数据行失败:%s**", err))
break break
} }
if len(contents) == 0 {
if len(contents) == 0 { // 发送消息头
utils.ReplyChunkMessage(ws, types.WsMessage{Type: types.WsStart}) utils.ReplyChunkMessage(ws, types.WsMessage{Type: types.WsStart})
} }
@ -101,12 +102,12 @@ func (h *ChatHandler) sendQwenMessage(
//每次循环结束后lastText 会更新为当前的完整文本,以便于下一次循环进行比较。 //每次循环结束后lastText 会更新为当前的完整文本,以便于下一次循环进行比较。
currentText := resp.Output.Text currentText := resp.Output.Text
if currentText != lastText { if currentText != lastText {
// 找出新增的文本部分并发送 // 提取新增文本
newText = strings.Replace(currentText, lastText, "", 1) newText = strings.Replace(currentText, lastText, "", 1)
utils.ReplyChunkMessage(ws, types.WsMessage{ utils.ReplyChunkMessage(ws, types.WsMessage{
Type: types.WsMiddle, Type: types.WsMiddle,
Content: utils.InterfaceToString(newText), Content: utils.InterfaceToString(newText),
}) // 发送新增的文本部分到客户端 })
lastText = currentText // 更新 lastText lastText = currentText // 更新 lastText
} }
contents = append(contents, newText) contents = append(contents, newText)

View File

@ -177,7 +177,7 @@ const platforms = ref([
}, },
{ {
name: "【阿里】千义通问", name: "【阿里】千义通问",
value: "Qwen", value: "QWen",
api_url: "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" api_url: "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation"
}, },
]) ])

View File

@ -134,7 +134,7 @@ const platforms = ref([
{name: "【清华智普】ChatGLM", value: "ChatGLM"}, {name: "【清华智普】ChatGLM", value: "ChatGLM"},
{name: "【百度】文心一言", value: "Baidu"}, {name: "【百度】文心一言", value: "Baidu"},
{name: "【微软】Azure", value: "Azure"}, {name: "【微软】Azure", value: "Azure"},
{name: "【阿里】通义千问", value: "Ali"}, {name: "【阿里】通义千问", value: "QWen"},
]) ])