Skip to content

Commit 7d35239

Browse files
committed
Merge branch 'master' of https://gitee.com/yudaocode/yudao-ui-admin-vue3 into feature/bpm
2 parents f308be8 + b63179e commit 7d35239

File tree

48 files changed

+3163
-266
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+3163
-266
lines changed

.image/common/ai-feature.png

4.16 KB
Loading

README.md

+15-10
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,13 @@
8181

8282
系统内置多种多种业务功能,可以用于快速你的业务系统:
8383

84-
* 系统功能
85-
* 基础设施
86-
* 工作流程
87-
* 支付系统
88-
* 会员中心
89-
* 数据报表
90-
* 商城系统
91-
* 微信公众号
92-
* ERP 系统
93-
* CRM 系统
84+
系统内置多种多种业务功能,可以用于快速你的业务系统:
85+
86+
![功能分层](/.image/common/ruoyi-vue-pro-biz.png)
87+
88+
* 通用模块(必选):系统功能、基础设施
89+
* 通用模块(可选):工作流程、支付系统、数据报表、会员中心
90+
* 业务系统(按需):ERP 系统、CRM 系统、商城系统、微信公众号、AI 大模型
9491

9592
### 系统功能
9693

@@ -213,6 +210,14 @@ ps:核心功能已经实现,正在对接微信小程序中...
213210

214211
![功能图](/.image/common/crm-feature.png)
215212

213+
### AI 大模型
214+
215+
演示地址:<https://doc.iocoder.cn/ai-preview/>
216+
217+
![功能图](/.image/common/ai-feature.png)
218+
219+
![功能图](/.image/common/ai-preview.gif)
220+
216221
## 🐷 演示图
217222

218223
### 系统功能

src/api/ai/chat/message/index.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,16 @@ export interface ChatMessageVO {
1414
modelId: number // 模型编号
1515
content: string // 聊天内容
1616
tokens: number // 消耗 Token 数量
17+
segmentIds?: number[] // 段落编号
18+
segments?: {
19+
id: number // 段落编号
20+
content: string // 段落内容
21+
documentId: number // 文档编号
22+
documentName: string // 文档名称
23+
}[]
1724
createTime: Date // 创建时间
1825
roleAvatar: string // 角色头像
19-
userAvatar: string // 创建时间
26+
userAvatar: string // 用户头像
2027
}
2128

2229
// AI chat 聊天

src/api/ai/image/index.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ export interface ImageVO {
2020
}
2121

2222
export interface ImageDrawReqVO {
23-
platform: string // 平台
2423
prompt: string // 提示词
25-
model: string // 模型
24+
modelId: number // 模型
2625
style: string // 图像生成的风格
2726
width: string // 图片宽度
2827
height: string // 图片高度
@@ -31,7 +30,7 @@ export interface ImageDrawReqVO {
3130

3231
export interface ImageMidjourneyImagineReqVO {
3332
prompt: string // 提示词
34-
model: string // 模型 mj nijj
33+
modelId: number // 模型
3534
base64Array: string[] // size不能为空
3635
width: string // 图片宽度
3736
height: string // 图片高度
+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import request from '@/config/axios'
2+
3+
// AI 知识库文档 VO
4+
export interface KnowledgeDocumentVO {
5+
id: number // 编号
6+
knowledgeId: number // 知识库编号
7+
name: string // 文档名称
8+
contentLength: number // 字符数
9+
tokens: number // token 数
10+
segmentMaxTokens: number // 分片最大 token 数
11+
retrievalCount: number // 召回次数
12+
status: number // 是否启用
13+
}
14+
15+
// AI 知识库文档 API
16+
export const KnowledgeDocumentApi = {
17+
// 查询知识库文档分页
18+
getKnowledgeDocumentPage: async (params: any) => {
19+
return await request.get({ url: `/ai/knowledge/document/page`, params })
20+
},
21+
22+
// 查询知识库文档详情
23+
getKnowledgeDocument: async (id: number) => {
24+
return await request.get({ url: `/ai/knowledge/document/get?id=` + id })
25+
},
26+
27+
// 新增知识库文档(单个)
28+
createKnowledgeDocument: async (data: any) => {
29+
return await request.post({ url: `/ai/knowledge/document/create`, data })
30+
},
31+
32+
// 新增知识库文档(多个)
33+
createKnowledgeDocumentList: async (data: any) => {
34+
return await request.post({ url: `/ai/knowledge/document/create-list`, data })
35+
},
36+
37+
// 修改知识库文档
38+
updateKnowledgeDocument: async (data: any) => {
39+
return await request.put({ url: `/ai/knowledge/document/update`, data })
40+
},
41+
42+
// 修改知识库文档状态
43+
updateKnowledgeDocumentStatus: async (data: any) => {
44+
return await request.put({
45+
url: `/ai/knowledge/document/update-status`,
46+
data
47+
})
48+
},
49+
50+
// 删除知识库文档
51+
deleteKnowledgeDocument: async (id: number) => {
52+
return await request.delete({ url: `/ai/knowledge/document/delete?id=` + id })
53+
}
54+
}
+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import request from '@/config/axios'
2+
3+
// AI 知识库 VO
4+
export interface KnowledgeVO {
5+
id: number // 编号
6+
name: string // 知识库名称
7+
description: string // 知识库描述
8+
embeddingModelId: number // 嵌入模型编号,高质量模式时维护
9+
topK: number // topK
10+
similarityThreshold: number // 相似度阈值
11+
}
12+
13+
// AI 知识库 API
14+
export const KnowledgeApi = {
15+
// 查询知识库分页
16+
getKnowledgePage: async (params: any) => {
17+
return await request.get({ url: `/ai/knowledge/page`, params })
18+
},
19+
20+
// 查询知识库详情
21+
getKnowledge: async (id: number) => {
22+
return await request.get({ url: `/ai/knowledge/get?id=` + id })
23+
},
24+
25+
// 新增知识库
26+
createKnowledge: async (data: KnowledgeVO) => {
27+
return await request.post({ url: `/ai/knowledge/create`, data })
28+
},
29+
30+
// 修改知识库
31+
updateKnowledge: async (data: KnowledgeVO) => {
32+
return await request.put({ url: `/ai/knowledge/update`, data })
33+
},
34+
35+
// 删除知识库
36+
deleteKnowledge: async (id: number) => {
37+
return await request.delete({ url: `/ai/knowledge/delete?id=` + id })
38+
},
39+
40+
// 获取知识库简单列表
41+
getSimpleKnowledgeList: async () => {
42+
return await request.get({ url: `/ai/knowledge/simple-list` })
43+
}
44+
}

src/api/ai/knowledge/segment/index.ts

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
import request from '@/config/axios'
2+
3+
// AI 知识库分段 VO
4+
export interface KnowledgeSegmentVO {
5+
id: number // 编号
6+
documentId: number // 文档编号
7+
knowledgeId: number // 知识库编号
8+
vectorId: string // 向量库编号
9+
content: string // 切片内容
10+
contentLength: number // 切片内容长度
11+
tokens: number // token 数量
12+
retrievalCount: number // 召回次数
13+
status: number // 文档状态
14+
createTime: number // 创建时间
15+
}
16+
17+
// AI 知识库分段 API
18+
export const KnowledgeSegmentApi = {
19+
// 查询知识库分段分页
20+
getKnowledgeSegmentPage: async (params: any) => {
21+
return await request.get({ url: `/ai/knowledge/segment/page`, params })
22+
},
23+
24+
// 查询知识库分段详情
25+
getKnowledgeSegment: async (id: number) => {
26+
return await request.get({ url: `/ai/knowledge/segment/get?id=` + id })
27+
},
28+
29+
// 删除知识库分段
30+
deleteKnowledgeSegment: async (id: number) => {
31+
return await request.delete({ url: `/ai/knowledge/segment/delete?id=` + id })
32+
},
33+
34+
// 新增知识库分段
35+
createKnowledgeSegment: async (data: KnowledgeSegmentVO) => {
36+
return await request.post({ url: `/ai/knowledge/segment/create`, data })
37+
},
38+
39+
// 修改知识库分段
40+
updateKnowledgeSegment: async (data: KnowledgeSegmentVO) => {
41+
return await request.put({ url: `/ai/knowledge/segment/update`, data })
42+
},
43+
44+
// 修改知识库分段状态
45+
updateKnowledgeSegmentStatus: async (data: any) => {
46+
return await request.put({
47+
url: `/ai/knowledge/segment/update-status`,
48+
data
49+
})
50+
},
51+
52+
// 切片内容
53+
splitContent: async (url: string, segmentMaxTokens: number) => {
54+
return await request.get({
55+
url: `/ai/knowledge/segment/split`,
56+
params: { url, segmentMaxTokens }
57+
})
58+
},
59+
60+
// 获取文档处理列表
61+
getKnowledgeSegmentProcessList: async (documentIds: number[]) => {
62+
return await request.get({
63+
url: `/ai/knowledge/segment/get-process-list`,
64+
params: { documentIds: documentIds.join(',') }
65+
})
66+
},
67+
68+
// 搜索知识库分段
69+
searchKnowledgeSegment: async (params: any) => {
70+
return await request.get({
71+
url: `/ai/knowledge/segment/search`,
72+
params
73+
})
74+
}
75+
}

src/api/ai/model/chatModel/index.ts

-53
This file was deleted.

src/api/ai/model/chatRole/index.ts

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ export interface ChatRoleVO {
1313
welcomeMessage: string // 角色设定
1414
publicStatus: boolean // 是否公开
1515
status: number // 状态
16+
knowledgeIds?: number[] // 引用的知识库 ID 列表
17+
toolIds?: number[] // 引用的工具 ID 列表
1618
}
1719

1820
// AI 聊天角色 分页请求 vo

src/api/ai/model/model/index.ts

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import request from '@/config/axios'
2+
3+
// AI 模型 VO
4+
export interface ModelVO {
5+
id: number // 编号
6+
keyId: number // API 秘钥编号
7+
name: string // 模型名字
8+
model: string // 模型标识
9+
platform: string // 模型平台
10+
type: number // 模型类型
11+
sort: number // 排序
12+
status: number // 状态
13+
temperature?: number // 温度参数
14+
maxTokens?: number // 单条回复的最大 Token 数量
15+
maxContexts?: number // 上下文的最大 Message 数量
16+
}
17+
18+
// AI 模型 API
19+
export const ModelApi = {
20+
// 查询模型分页
21+
getModelPage: async (params: any) => {
22+
return await request.get({ url: `/ai/model/page`, params })
23+
},
24+
25+
// 获得模型列表
26+
getModelSimpleList: async (type?: number) => {
27+
return await request.get({
28+
url: `/ai/model/simple-list`,
29+
params: {
30+
type
31+
}
32+
})
33+
},
34+
35+
// 查询模型详情
36+
getModel: async (id: number) => {
37+
return await request.get({ url: `/ai/model/get?id=` + id })
38+
},
39+
40+
// 新增模型
41+
createModel: async (data: ModelVO) => {
42+
return await request.post({ url: `/ai/model/create`, data })
43+
},
44+
45+
// 修改模型
46+
updateModel: async (data: ModelVO) => {
47+
return await request.put({ url: `/ai/model/update`, data })
48+
},
49+
50+
// 删除模型
51+
deleteModel: async (id: number) => {
52+
return await request.delete({ url: `/ai/model/delete?id=` + id })
53+
}
54+
}

0 commit comments

Comments
 (0)