add tid field for chat app role

This commit is contained in:
RockYang 2024-09-13 18:32:13 +08:00
parent 6c7fa17e50
commit dcdc0d8918
3 changed files with 19 additions and 1 deletions

View File

@ -75,13 +75,18 @@ func (h *ChatAppHandler) List(c *gin.Context) {
// initialize model mane for role // initialize model mane for role
modelIds := make([]int, 0) modelIds := make([]int, 0)
typeIds := make([]int, 0)
for _, v := range items { for _, v := range items {
if v.ModelId > 0 { if v.ModelId > 0 {
modelIds = append(modelIds, v.ModelId) modelIds = append(modelIds, v.ModelId)
} }
if v.Tid > 0 {
typeIds = append(typeIds, v.Tid)
}
} }
modelNameMap := make(map[int]string) modelNameMap := make(map[int]string)
typeNameMap := make(map[int]string)
if len(modelIds) > 0 { if len(modelIds) > 0 {
var models []model.ChatModel var models []model.ChatModel
tx := h.DB.Where("id IN ?", modelIds).Find(&models) tx := h.DB.Where("id IN ?", modelIds).Find(&models)
@ -91,6 +96,15 @@ func (h *ChatAppHandler) List(c *gin.Context) {
} }
} }
} }
if len(typeIds) > 0 {
var appTypes []model.AppType
tx := h.DB.Where("id IN ?", typeIds).Find(&appTypes)
if tx.Error == nil {
for _, m := range appTypes {
typeNameMap[int(m.Id)] = m.Name
}
}
}
for _, v := range items { for _, v := range items {
var role vo.ChatRole var role vo.ChatRole
@ -100,6 +114,7 @@ func (h *ChatAppHandler) List(c *gin.Context) {
role.CreatedAt = v.CreatedAt.Unix() role.CreatedAt = v.CreatedAt.Unix()
role.UpdatedAt = v.UpdatedAt.Unix() role.UpdatedAt = v.UpdatedAt.Unix()
role.ModelName = modelNameMap[role.ModelId] role.ModelName = modelNameMap[role.ModelId]
role.TypeName = typeNameMap[role.Tid]
roles = append(roles, role) roles = append(roles, role)
} }
} }

View File

@ -2,6 +2,7 @@ package model
type ChatRole struct { type ChatRole struct {
BaseModel BaseModel
Tid int
Key string `gorm:"column:marker;unique"` // 角色唯一标识 Key string `gorm:"column:marker;unique"` // 角色唯一标识
Name string // 角色名称 Name string // 角色名称
Context string `gorm:"column:context_json"` // 角色语料信息 json Context string `gorm:"column:context_json"` // 角色语料信息 json

View File

@ -5,6 +5,7 @@ import "geekai/core/types"
type ChatRole struct { type ChatRole struct {
BaseVo BaseVo
Key string `json:"key"` // 角色唯一标识 Key string `json:"key"` // 角色唯一标识
Tid uint `json:"tid"`
Name string `json:"name"` // 角色名称 Name string `json:"name"` // 角色名称
Context []types.Message `json:"context"` // 角色语料信息 Context []types.Message `json:"context"` // 角色语料信息
HelloMsg string `json:"hello_msg"` // 打招呼的消息 HelloMsg string `json:"hello_msg"` // 打招呼的消息
@ -13,4 +14,5 @@ type ChatRole struct {
SortNum int `json:"sort"` // 排序 SortNum int `json:"sort"` // 排序
ModelId int `json:"model_id"` // 绑定模型 ID ModelId int `json:"model_id"` // 绑定模型 ID
ModelName string `json:"model_name"` // 模型名称 ModelName string `json:"model_name"` // 模型名称
TypeName string `json:"type_name"` // 分类名称
} }