会话名,修改对话多图片发送功能

This commit is contained in:
junleea 2025-04-01 19:36:29 +08:00
parent 3ef86bc4c1
commit 1754b0cbbf
3 changed files with 26 additions and 14 deletions

View File

@ -221,6 +221,9 @@ func doReceiveGenChatMessage(userId int, sessionID *uint, data *proto.WSMessageR
*sessionID = uint(data.SessionID)
if *sessionID == 0 {
//创建会话
if sessionName == "" {
sessionName = "新会话"
}
err, *sessionID = service.CreateSession(userId, sessionName)
log.Println("create session id:", *sessionID)
if err != nil {

View File

@ -78,8 +78,13 @@ type IMParamContext struct {
IsHasImage bool `json:"is_has_image"` //是否有图片
}
type ImageMsgContent struct {
ImgName string `json:"img_name"` //图片名称
ImgUrl string `json:"img_url"` //图片url
}
// 用户向模型发送图片的消息结构
type UserImageMsg struct {
ImgUrl string `json:"img_url"` //图片url
Text string `json:"text"` //问题文本
ImageContent []ImageMsgContent `json:"image_content"` //图片内容
Text string `json:"text"` //问题文本
}

View File

@ -185,6 +185,7 @@ func doubaoToGeneralMassageAndSendMsgQueue(data *model.ChatCompletionStreamRespo
worker.Publish(channel, string(wsMsgStr), time.Second*60)
}
// 当前消息包含在messages中
func GetDouBaoSessionHistoryMsg(sessionID int, systemPrompt string, messages *[]*model.ChatCompletionMessage, prompt string) error {
var err error
//添加系统
@ -215,19 +216,22 @@ func GetDouBaoSessionHistoryMsg(sessionID int, systemPrompt string, messages *[]
return err2
}
//用户消息为图片类型
listValue := []*model.ChatCompletionMessageContentPart{}
listValue = append(listValue, &model.ChatCompletionMessageContentPart{
Type: model.ChatCompletionMessageContentPartTypeText,
Text: imgMsg.Text,
})
//图片链接是可以是多个
for _, img := range imgMsg.ImageContent {
listValue = append(listValue, &model.ChatCompletionMessageContentPart{
Type: model.ChatCompletionMessageContentPartTypeImageURL,
ImageURL: &model.ChatMessageImageURL{
URL: img.ImgUrl,
},
})
}
message.Content = &model.ChatCompletionMessageContent{
ListValue: []*model.ChatCompletionMessageContentPart{
{
Type: model.ChatCompletionMessageContentPartTypeText,
Text: imgMsg.Text,
},
{
Type: model.ChatCompletionMessageContentPartTypeImageURL,
ImageURL: &model.ChatMessageImageURL{
URL: imgMsg.ImgUrl,
},
},
},
ListValue: listValue,
}
} else {
//用户消息为文本类型