Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
KnowledgePlanet
road-map
xfg-frame-mvc
提交
4194d522
xfg-frame-mvc
项目概览
KnowledgePlanet
/
road-map
/
xfg-frame-mvc
通知
561
Star
28
Fork
25
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
xfg-frame-mvc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
4194d522
编写于
10月 19, 2025
作者:
L
Linnea Lin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 补充提示词构建逻辑
上级
4c75b5ab
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
99 addition
and
2 deletion
+99
-2
src/main/java/cn/bugstack/xfg/frame/controller/UserController.java
...java/cn/bugstack/xfg/frame/controller/UserController.java
+3
-1
src/main/java/cn/bugstack/xfg/frame/domain/req/KSReq.java
src/main/java/cn/bugstack/xfg/frame/domain/req/KSReq.java
+26
-0
src/main/java/cn/bugstack/xfg/frame/domain/req/KeySensorCompletionReq.java
...bugstack/xfg/frame/domain/req/KeySensorCompletionReq.java
+1
-1
src/main/java/cn/bugstack/xfg/frame/service/IPromptService.java
...in/java/cn/bugstack/xfg/frame/service/IPromptService.java
+69
-0
未找到文件。
src/main/java/cn/bugstack/xfg/frame/controller/UserController.java
浏览文件 @
4194d522
...
...
@@ -43,6 +43,9 @@ public class UserController {
@RequestMapping
(
"/queryAI"
)
public
String
queryAI
()
throws
IOException
{
// todo 构建ai (提示词)
// todo 根据上一步拿到的aichat id 创建一个session
// 构建请求参数
KeySensorCompletionReq
.
KeySensorCompletionReqBuilder
reqBuilder
=
KeySensorCompletionReq
.
builder
()
.
question
(
"请给我一个5个字"
)
...
...
@@ -50,7 +53,6 @@ public class UserController {
Call
<
CompletionRes
>
call
=
knowledgeCenterService
.
getCompletions
(
"Bearer ragflow-djN2QwZjc0YTNlNzExZjBiYjBlNDIwMT"
,
reqBuilder
.
build
(),
"56a8f80aa85911f08a8a42010a8e0005"
);
CompletionRes
completionRes
=
call
.
execute
().
body
();
log
.
info
(
"completionRes: {}"
,
completionRes
);
return
"test"
;
}
...
...
src/main/java/cn/bugstack/xfg/frame/domain/req/KSReq.java
0 → 100644
浏览文件 @
4194d522
package
cn.bugstack.xfg.frame.domain.req
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author Linnea
* @Description xx类
* @Date 2025/10/18
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
KSReq
{
private
String
id
;
private
Map
<
String
,
String
>
contextInfo
;
private
List
<
String
>
sensorNameList
;
private
Map
<
String
,
String
>
epqInfo
;
private
String
moduleName
;
}
src/main/java/cn/bugstack/xfg/frame/domain/req/KeySensorCompletionReq.java
浏览文件 @
4194d522
package
cn.bugstack.xfg.frame.domain.req
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.SuperBuilder
;
...
...
@@ -20,3 +19,4 @@ public class KeySensorCompletionReq extends CompletionBaseReq{
private
String
session_id
;
private
String
user_id
;
}
src/main/java/cn/bugstack/xfg/frame/service/IPromptService.java
0 → 100644
浏览文件 @
4194d522
package
cn.bugstack.xfg.frame.service
;
import
cn.bugstack.xfg.frame.domain.req.KSReq
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* @author Linnea
* @Description xx类
* @Date 2025/10/18
*/
public
class
IPromptService
{
private
String
buildBatchPrompt
(
List
<
KSReq
>
ksReqs
){
StringBuilder
batchPrompt
=
new
StringBuilder
();
for
(
KSReq
ksReq
:
ksReqs
)
{
String
singlePrompt
=
buildSinglePrompt
(
ksReq
);
batchPrompt
.
append
(
singlePrompt
);
batchPrompt
.
append
(
singlePrompt
);
}
return
batchPrompt
.
toString
();
}
private
String
buildSinglePrompt
(
KSReq
ksReq
){
String
multiLineTemplate
=
"【待评分的批次ID】:%s\n"
+
"【待评分的SVID列表】:%s\n"
+
"【该批次SVID对应的设备信息】:设备厂商:%s;设备类型:%s\n"
+
"【该批次SVID响应的上下文为】:产品ID: %s,工艺ID: %s,其他的上下文信息: %s"
;
// 定义需要排除的固定字段集合
Set
<
String
>
excludeKeys
=
new
HashSet
<>();
excludeKeys
.
add
(
"productID"
);
excludeKeys
.
add
(
"recipeID"
);
String
batchId
=
ksReq
.
getId
();
String
sensorNameList
=
String
.
join
(
","
,
ksReq
.
getSensorNameList
());
Map
<
String
,
String
>
contextInfoMap
=
ksReq
.
getContextInfo
();
String
productId
=
ksReq
.
getContextInfo
().
get
(
"productID"
);
String
recipeId
=
ksReq
.
getContextInfo
().
get
(
"recipeID"
);
StringBuilder
otherContextIdStr
=
new
StringBuilder
();
for
(
Map
.
Entry
<
String
,
String
>
contextInfoEntry
:
contextInfoMap
.
entrySet
()){
String
key
=
contextInfoEntry
.
getKey
();
String
value
=
contextInfoEntry
.
getValue
();
if
(!
excludeKeys
.
contains
(
key
))
{
otherContextIdStr
.
append
(
key
).
append
(
":"
).
append
(
value
).
append
(
", "
);
}
}
return
String
.
format
(
multiLineTemplate
,
batchId
,
sensorNameList
,
ksReq
.
getContextInfo
().
get
(
"device_manufacturer"
)
,
ksReq
.
getContextInfo
().
get
(
"device_type"
)
,
productId
,
recipeId
,
otherContextIdStr
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录