session.api
5.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
syntax = "v1"
// 后台接口
@server(
prefix: v1
group: chat
middleware: LogRequest
jwt: SystemAuth
)
service Core {
@doc "聊天会话-详情"
@handler chatSessionGet
get /chat/session/:id (ChatSessionGetRequest) returns (ChatSessionGetResponse)
@doc "聊天会话-保存"
@handler chatSessionSave
post /chat/session (ChatSessionSaveRequest) returns (ChatSessionSaveResponse)
@doc "聊天会话-删除"
@handler chatSessionDelete
delete /chat/session/:id (ChatSessionDeleteRequest) returns (ChatSessionDeleteResponse)
@doc "聊天会话-更新"
@handler chatSessionUpdate
put /chat/session/:id (ChatSessionUpdateRequest) returns (ChatSessionUpdateResponse)
@doc "聊天会话-搜索"
@handler chatSessionSearch
post /chat/session/search (ChatSessionSearchRequest) returns (ChatSessionSearchResponse)
@doc "聊天会话-对话"
@handler chatSessionConversation
post /chat/session/conversation (ChatSessionConversationRequest) returns (ChatSessionConversationResponse)
@doc "聊天会话-对话"
@handler chatSessionConversationWs
get /chat/session/conversation (ChatSessionConversationRequestWs) returns (ChatSessionConversationResponse)
@doc "聊天会话-对话记录列表"
@handler chatSessionRecords
post /chat/session/records (ChatSessionRecordsRequest) returns (ChatSessionRecordsResponse)
@doc "模型列表"
@handler chatModels
get /chat/models (ChatModelsRequest) returns (ChatModelsResponse)
}
type (
ChatSessionGetRequest {
Id int64 `path:"id"`
}
ChatSessionGetResponse {
ChatSession ChatSessionItem `json:"session"`
Records []Record `json:"records"`
}
ChatSessionSaveRequest {
ChatSession ChatSessionItem `json:"session"`
}
ChatSessionSaveResponse {}
ChatSessionDeleteRequest {
Id int64 `path:"id"`
}
ChatSessionDeleteResponse {}
ChatSessionUpdateRequest {
Id int64 `path:"id"`
ChatSession ChatSessionItem `json:"session"`
}
ChatSessionUpdateResponse {}
ChatSessionSearchRequest {
Page int `json:"page,optional"`
Size int `json:"size,optional"`
Title string `json:"title,optional"` // 按标题搜索
}
ChatSessionSearchResponse{
List []ChatSessionItem `json:"list"`
Total int64 `json:"total"`
}
ChatSessionItem {
Id int64 `json:"id,optional,omitempty"` // 唯一标识
Title string `json:"title,optional,omitempty"` // 会话标题
Abstract string `json:"abstract,optional,omitempty"` // 摘要
CreatedAt int64 `json:"createdAt,optional,omitempty"` // 创建时间
}
)
// 模型列表
type(
ChatModelsRequest{
}
ChatModelsResponse{
List []Model `json:"list"`
}
Model{
Id int64 `json:"id"` // 模型ID
Name string `json:"name"` // 模型名称
Code string `json:"code"` // 模型编码
Logo string `json:"logo"` // 模型LOGO地址
}
)
// 聊天会话-记录列表
type(
ChatSessionRecordsRequest{
Page int `json:"page,optional"`
Size int `json:"size,optional"`
SessionId int64 `json:"sessionId"`
}
ChatSessionRecordsResponse{
Records []Record `json:"list"`
Total int64 `json:"total"`
}
)
// 聊天会话-对话
type(
ChatSessionConversationRequest{
SessionId int64 `json:"sessionId"` // 会话ID
ModelId int64 `json:"modelId"` // 模型ID
ContentType string `json:"contentType"` // 内容类型 文本:text (图片:image 文档:document)
Text string `json:"text"` // 内容文本
FileUrl string `json:"fileUrl,optional"` // 文件地址
}
ChatSessionConversationResponse{
Record *Record `json:"record,omitempty"`
Parts []string `json:"parts"`
Finished bool `json:"finished"`
}
ChatSessionConversationRequestWs{
SessionId int64 `form:"sessionId"` // 会话ID
ModelId int64 `form:"modelId"` // 模型ID
ContentType string `form:"contentType"` // 内容类型 文本:text (图片:image 文档:document)
Text string `form:"text"` // 内容文本
}
Record{
Id int64 `json:"id"` // 记录ID
SessionId int64 `json:"sessionId"` // 会话ID
GroupId int64 `json:"groupId"` // 分组ID
ModelId int64 `json:"modelId,omitempty"` // 模型ID
AuthorId int64 `json:"authorId,omitempty"` // 作者ID
Author *User `json:"author,omitempty"` // 提问人
Model *Model `json:"model,omitempty"` // 应答人
ContentType string `json:"contentType"` // 内容类型 文本:text (图片:image 文档:document)
ProblemText string `json:"problemText"` // 问题文本
AnswerText string `json:"answerText"` // 回答文本
Status string `json:"status"` // 状态 处理中:processing 超时:finished_timeout 结束成功:finished_fail 结束失败:finished_success
CreateAt int64 `json:"createAt"` // 创建时间
}
Content{
ContentType string `json:"contentType"` // 内容类型 文本:text (图片:image 文档:document)
Parts []string `json:"parts"` // 内容
}
User {
Id int64 `json:"id"` // 用ID
Name string `json:"name"` // 名称
Avatar string `json:"avatar"` // 头像
}
)