Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
shun peng
/
lufa-ai
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
ded3b853
authored
Jul 29, 2026
by
Shucai Chen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复
parent
710c5e1c
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
108 additions
and
0 deletions
+108
-0
ruoyi-vue-pro-master-jdk17/yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/ErrorCodeConstants.java
+2
-0
ruoyi-vue-pro-master-jdk17/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/chat/AiChatAnalysisController.java
+25
-0
ruoyi-vue-pro-master-jdk17/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/chat/vo/analysis/AiChatSummaryUploadReqVO.java
+27
-0
ruoyi-vue-pro-master-jdk17/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatAnalysisService.java
+23
-0
yudao-ui-admin-vue3/src/api/ai/chat/analysis/index.ts
+31
-0
No files found.
ruoyi-vue-pro-master-jdk17/yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/ErrorCodeConstants.java
View file @
ded3b853
...
...
@@ -88,6 +88,8 @@ public interface ErrorCodeConstants {
ErrorCode
FASTGPT_REF_ERROR
=
new
ErrorCode
(
1_022_009_005
,
"未找到知识库引用"
);
ErrorCode
FASTGPT_DETAIL_ERROR
=
new
ErrorCode
(
1_022_009_005
,
"未找到知识库详情"
);
ErrorCode
FASTGPT_CONFIG_ERROR
=
new
ErrorCode
(
1_022_009_006
,
"FastGPT 知识库配置错误,未找到对应的知识库"
);
ErrorCode
FASTGPT_UPLOAD_FAILED
=
new
ErrorCode
(
1_022_009_007
,
"上传至 FastGPT 知识库失败"
);
ErrorCode
AGENT_POLICY_NOTIFY_NOT_EXISTS
=
new
ErrorCode
(
1_043_001_001
,
"操作失败,找不到该记录"
);
}
ruoyi-vue-pro-master-jdk17/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/chat/AiChatAnalysisController.java
View file @
ded3b853
...
...
@@ -144,4 +144,29 @@ public class AiChatAnalysisController {
return
success
(
true
);
}
// ==================== 知识库上传与测试 ====================
@PostMapping
(
"/upload-to-fastgpt"
)
@Operation
(
summary
=
"上传总结至 FastGPT 测试知识库"
)
public
CommonResult
<
Boolean
>
uploadToFastGpt
(
@Valid
@RequestBody
AiChatSummaryUploadReqVO
reqVO
)
{
chatAnalysisService
.
uploadToFastGpt
(
reqVO
);
return
success
(
true
);
}
@PostMapping
(
"/upload-to-production-fastgpt"
)
@Operation
(
summary
=
"上传总结至 FastGPT 正式知识库"
)
public
CommonResult
<
Boolean
>
uploadToProductionFastGpt
(
@Valid
@RequestBody
AiChatSummaryUploadReqVO
reqVO
)
{
chatAnalysisService
.
uploadToProductionFastGpt
(
reqVO
);
return
success
(
true
);
}
@PostMapping
(
"/test-fastgpt"
)
@Operation
(
summary
=
"测试 FastGPT 知识库连接"
)
public
CommonResult
<
String
>
testFastGpt
(
@Valid
@RequestBody
AiChatTestFastGptReqVO
reqVO
)
{
String
result
=
chatAnalysisService
.
testFastGpt
(
reqVO
.
getQuestion
(),
reqVO
.
getCategory
());
return
success
(
result
);
}
}
ruoyi-vue-pro-master-jdk17/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/chat/vo/analysis/AiChatSummaryUploadReqVO.java
0 → 100644
View file @
ded3b853
package
cn
.
iocoder
.
yudao
.
module
.
ai
.
controller
.
admin
.
chat
.
vo
.
analysis
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
@Schema
(
description
=
"管理后台 - 对话分析总结上传至 FastGPT 知识库 Request VO"
)
@Data
public
class
AiChatSummaryUploadReqVO
{
@Schema
(
description
=
"总结记录编号"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"1024"
)
@NotNull
(
message
=
"总结记录编号不能为空"
)
private
Long
id
;
@Schema
(
description
=
"知识库标题(用户问题)"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"公租房申请条件是什么"
)
@NotBlank
(
message
=
"知识库标题不能为空"
)
private
String
kbTitle
;
@Schema
(
description
=
"知识库正文内容(AI 回答)"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"公租房申请需要满足以下条件..."
)
@NotBlank
(
message
=
"知识库正文内容不能为空"
)
private
String
kbContent
;
@Schema
(
description
=
"分类(公租房/长租房)"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"公租房"
)
@NotBlank
(
message
=
"分类不能为空"
)
private
String
category
;
}
ruoyi-vue-pro-master-jdk17/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatAnalysisService.java
View file @
ded3b853
...
...
@@ -34,4 +34,27 @@ public interface AiChatAnalysisService {
PageResult
<
AiChatSummaryDO
>
getChatSummaryPage
(
AiChatSummaryPageReqVO
pageReqVO
);
void
updateSummaryStatus
(
AiSummaryUpdateStatusReqVO
reqVO
);
/**
* 上传总结至 FastGPT 测试知识库
*
* @param reqVO 上传请求
*/
void
uploadToFastGpt
(
AiChatSummaryUploadReqVO
reqVO
);
/**
* 上传总结至 FastGPT 正式知识库(测试通过后调用)
*
* @param reqVO 上传请求
*/
void
uploadToProductionFastGpt
(
AiChatSummaryUploadReqVO
reqVO
);
/**
* 测试 FastGPT 知识库连接
*
* @param question 测试问题
* @param category 分类(公租房/长租房)
* @return FastGPT 的回复内容
*/
String
testFastGpt
(
String
question
,
String
category
);
}
yudao-ui-admin-vue3/src/api/ai/chat/analysis/index.ts
View file @
ded3b853
...
...
@@ -73,4 +73,35 @@ export const ChatAnalysisApi = {
data
})
},
// 上传至 FastGPT 测试知识库
uploadToFastGpt
:
async
(
data
:
{
id
:
number
kbTitle
:
string
kbContent
:
string
category
:
string
})
=>
{
return
await
request
.
post
({
url
:
`/ai/chat/analysis/upload-to-fastgpt`
,
data
})
},
// 上传至 FastGPT 正式知识库(测试通过后调用)
uploadToProductionFastGpt
:
async
(
data
:
{
id
:
number
kbTitle
:
string
kbContent
:
string
category
:
string
})
=>
{
return
await
request
.
post
({
url
:
`/ai/chat/analysis/upload-to-production-fastgpt`
,
data
})
},
// 测试 FastGPT 知识库连接
testFastGpt
:
async
(
data
:
{
question
:
string
;
category
:
string
})
=>
{
return
await
request
.
post
({
url
:
`/ai/chat/analysis/test-fastgpt`
,
data
})
},
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment