package request import ( "github.com/flipped-aurora/gin-vue-admin/server/model/common/request" ) // ChatRequest 宠物助手聊天请求结构体 type ChatRequest struct { Message string `json:"message" binding:"required" validate:"required,min=1,max=2000"` // 用户消息内容,必填,1-2000字符 SessionId string `json:"sessionId" validate:"omitempty,uuid4"` // 会话ID,可选,UUID格式 Stream bool `json:"stream"` // 是否流式响应,默认false Temperature float64 `json:"temperature" validate:"omitempty,min=0,max=2"` // 温度参数,控制随机性,范围0-2 MaxTokens int `json:"maxTokens" validate:"omitempty,min=1,max=4000"` // 最大生成token数,范围1-4000 Model string `json:"model" validate:"omitempty,min=1,max=100"` // 模型名称,可选 TopP float64 `json:"topP" validate:"omitempty,min=0,max=1"` // 核采样参数,范围0-1 } // ChatHistoryRequest 获取聊天历史请求结构体 type ChatHistoryRequest struct { SessionId string `json:"sessionId" form:"sessionId" validate:"omitempty,uuid4"` // 会话ID,可选,UUID格式 request.PageInfo // 分页信息 } // ClearHistoryRequest 清空聊天历史请求结构体 type ClearHistoryRequest struct { SessionId string `json:"sessionId" form:"sessionId" validate:"omitempty,uuid4"` // 会话ID,可选,不传则清空所有会话 } // SessionsRequest 获取会话列表请求结构体 type SessionsRequest struct { request.PageInfo // 分页信息 } // StopGenerationRequest 停止生成请求结构体 type StopGenerationRequest struct { RequestId string `json:"requestId" binding:"required" validate:"required,uuid4"` // 请求ID,必填,UUID格式 } // RegenerateRequest 重新生成回复请求结构体 type RegenerateRequest struct { SessionId string `json:"sessionId" binding:"required" validate:"required,uuid4"` // 会话ID,必填 MessageId uint `json:"messageId" binding:"required" validate:"required,min=1"` // 要重新生成的消息ID Temperature float64 `json:"temperature" validate:"omitempty,min=0,max=2"` // 温度参数 MaxTokens int `json:"maxTokens" validate:"omitempty,min=1,max=4000"` // 最大token数 } // FeedbackRequest 用户反馈请求结构体 type FeedbackRequest struct { MessageId uint `json:"messageId" binding:"required" validate:"required,min=1"` // 消息ID,必填 FeedbackType string `json:"feedbackType" binding:"required" validate:"required,oneof=like dislike"` // 反馈类型:like/dislike Comment string `json:"comment" validate:"omitempty,max=500"` // 反馈评论,可选,最多500字符 } // ExportHistoryRequest 导出聊天历史请求结构体 type ExportHistoryRequest struct { SessionId string `json:"sessionId" form:"sessionId" validate:"omitempty,uuid4"` // 会话ID,可选 Format string `json:"format" form:"format" validate:"omitempty,oneof=json txt markdown"` // 导出格式:json/txt/markdown StartTime string `json:"startTime" form:"startTime" validate:"omitempty,datetime=2006-01-02"` // 开始时间,可选 EndTime string `json:"endTime" form:"endTime" validate:"omitempty,datetime=2006-01-02"` // 结束时间,可选 }