Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
poc-api
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
poc
poc-api
Commits
8c04b634
Commit
8c04b634
authored
Oct 30, 2025
by
R10
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
文件对话提交
parent
0681cfb0
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
299 additions
and
41 deletions
+299
-41
BizAiDataAuditTaskDeleteDto.java
...om/poc/ai_data_audit/dto/BizAiDataAuditTaskDeleteDto.java
+21
-0
DataAuditCallDto.java
...n/java/cn/com/poc/ai_data_audit/dto/DataAuditCallDto.java
+39
-0
DataAuditResult.java
...in/java/cn/com/poc/ai_data_audit/dto/DataAuditResult.java
+28
-0
BizAiDataAuditTaskRest.java
...cn/com/poc/ai_data_audit/rest/BizAiDataAuditTaskRest.java
+3
-1
DataAuditRest.java
...ain/java/cn/com/poc/ai_data_audit/rest/DataAuditRest.java
+3
-5
BizAiDataAuditTaskRestImpl.java
...c/ai_data_audit/rest/impl/BizAiDataAuditTaskRestImpl.java
+9
-3
DataAuditRestImpl.java
...cn/com/poc/ai_data_audit/rest/impl/DataAuditRestImpl.java
+3
-6
DataAuditService.java
...va/cn/com/poc/ai_data_audit/service/DataAuditService.java
+3
-3
DataAuditServiceImpl.java
.../poc/ai_data_audit/service/impl/DataAuditServiceImpl.java
+187
-23
AiDialoguesTypeEnum.java
...cn/com/poc/ai_dialogues/constant/AiDialoguesTypeEnum.java
+3
-0
No files found.
src/main/java/cn/com/poc/ai_data_audit/dto/BizAiDataAuditTaskDeleteDto.java
0 → 100644
View file @
8c04b634
package
cn
.
com
.
poc
.
ai_data_audit
.
dto
;
import
java.util.List
;
/**
* @Author:Roger Wu
* @name:BizAiDataAuditTaskDeleteDto
* @Date:2025-10-30 18:46
*/
public
class
BizAiDataAuditTaskDeleteDto
{
List
<
Integer
>
taskIds
;
public
List
<
Integer
>
getTaskIds
()
{
return
taskIds
;
}
public
void
setTaskIds
(
List
<
Integer
>
taskIds
)
{
this
.
taskIds
=
taskIds
;
}
}
src/main/java/cn/com/poc/ai_data_audit/dto/DataAuditCallDto.java
0 → 100644
View file @
8c04b634
package
cn
.
com
.
poc
.
ai_data_audit
.
dto
;
/**
* @Author:Roger Wu
* @name:DataAuditCallDto
* @Date:2025-10-30 19:00
*/
public
class
DataAuditCallDto
{
Integer
fileId
;
String
input
;
String
dialoguesId
;
public
Integer
getFileId
()
{
return
fileId
;
}
public
void
setFileId
(
Integer
fileId
)
{
this
.
fileId
=
fileId
;
}
public
String
getInput
()
{
return
input
;
}
public
void
setInput
(
String
input
)
{
this
.
input
=
input
;
}
public
String
getDialoguesId
()
{
return
dialoguesId
;
}
public
void
setDialoguesId
(
String
dialoguesId
)
{
this
.
dialoguesId
=
dialoguesId
;
}
}
src/main/java/cn/com/poc/ai_data_audit/dto/DataAuditResult.java
0 → 100644
View file @
8c04b634
package
cn
.
com
.
poc
.
ai_data_audit
.
dto
;
/**
* @Author:Roger Wu
* @name:DataAuditResult
* @Date:2025-10-30 20:01
*/
public
class
DataAuditResult
{
private
String
message
;
private
String
reasoningContent
;
public
String
getMessage
()
{
return
message
;
}
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
public
String
getReasoningContent
()
{
return
reasoningContent
;
}
public
void
setReasoningContent
(
String
reasoningContent
)
{
this
.
reasoningContent
=
reasoningContent
;
}
}
src/main/java/cn/com/poc/ai_data_audit/rest/BizAiDataAuditTaskRest.java
View file @
8c04b634
package
cn
.
com
.
poc
.
ai_data_audit
.
rest
;
package
cn
.
com
.
poc
.
ai_data_audit
.
rest
;
import
cn.com.poc.ai_data_audit.dto.BizAiDataAuditTaskDeleteDto
;
import
cn.com.poc.writing.dto.ExaminationBatchDeleteDto
;
import
cn.com.yict.framemax.core.rest.BaseRest
;
import
cn.com.yict.framemax.core.rest.BaseRest
;
import
cn.com.poc.ai_data_audit.dto.BizAiDataAuditTaskDto
;
import
cn.com.poc.ai_data_audit.dto.BizAiDataAuditTaskDto
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
...
@@ -17,5 +19,5 @@ public interface BizAiDataAuditTaskRest extends BaseRest {
...
@@ -17,5 +19,5 @@ public interface BizAiDataAuditTaskRest extends BaseRest {
BizAiDataAuditTaskDto
getByTaskId
(
@RequestParam
Integer
taskId
)
throws
Exception
;
BizAiDataAuditTaskDto
getByTaskId
(
@RequestParam
Integer
taskId
)
throws
Exception
;
void
delete
(
@Request
Param
Integer
taskId
)
throws
Exception
;
void
delete
(
@Request
Body
BizAiDataAuditTaskDeleteDto
dto
)
throws
Exception
;
}
}
\ No newline at end of file
src/main/java/cn/com/poc/ai_data_audit/rest/DataAuditRest.java
View file @
8c04b634
package
cn
.
com
.
poc
.
ai_data_audit
.
rest
;
package
cn
.
com
.
poc
.
ai_data_audit
.
rest
;
import
cn.com.poc.ai_data_audit.dto.FileUploadConfirmDto
;
import
cn.com.poc.ai_data_audit.dto.*
;
import
cn.com.poc.ai_data_audit.dto.FileUploadDto
;
import
cn.com.poc.ai_data_audit.dto.FileUploadReturnDto
;
import
cn.com.yict.framemax.core.rest.BaseRest
;
import
cn.com.yict.framemax.core.rest.BaseRest
;
import
cn.com.yict.framemax.web.permission.Access
;
import
cn.com.yict.framemax.web.permission.Access
;
import
cn.com.yict.framemax.web.permission.Permission
;
import
cn.com.yict.framemax.web.permission.Permission
;
...
@@ -26,9 +24,9 @@ public interface DataAuditRest extends BaseRest {
...
@@ -26,9 +24,9 @@ public interface DataAuditRest extends BaseRest {
/**
/**
* 对话
* 对话
* @param
fileId
* @param
dataAuditCallDto
* @param input
* @param input
* @throws Exception
* @throws Exception
*/
*/
void
call
(
@RequestParam
String
fileId
,
@RequestParam
String
input
)
throws
Exception
;
DataAuditResult
call
(
@RequestBody
DataAuditCallDto
dataAuditCallDto
)
throws
Exception
;
}
}
src/main/java/cn/com/poc/ai_data_audit/rest/impl/BizAiDataAuditTaskRestImpl.java
View file @
8c04b634
...
@@ -6,9 +6,11 @@ import javax.annotation.Resource;
...
@@ -6,9 +6,11 @@ import javax.annotation.Resource;
import
cn.com.poc.ai_data_audit.convert.BizAiDataAuditFileConvert
;
import
cn.com.poc.ai_data_audit.convert.BizAiDataAuditFileConvert
;
import
cn.com.poc.ai_data_audit.dto.BizAiDataAuditFileDto
;
import
cn.com.poc.ai_data_audit.dto.BizAiDataAuditFileDto
;
import
cn.com.poc.ai_data_audit.dto.BizAiDataAuditTaskDeleteDto
;
import
cn.com.poc.ai_data_audit.entity.BizAiDataAuditFileEntity
;
import
cn.com.poc.ai_data_audit.entity.BizAiDataAuditFileEntity
;
import
cn.com.poc.ai_data_audit.service.BizAiDataAuditFileService
;
import
cn.com.poc.ai_data_audit.service.BizAiDataAuditFileService
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.BlContext
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
cn.com.poc.ai_data_audit.rest.BizAiDataAuditTaskRest
;
import
cn.com.poc.ai_data_audit.rest.BizAiDataAuditTaskRest
;
import
cn.com.poc.ai_data_audit.service.BizAiDataAuditTaskService
;
import
cn.com.poc.ai_data_audit.service.BizAiDataAuditTaskService
;
...
@@ -66,8 +68,12 @@ public class BizAiDataAuditTaskRestImpl implements BizAiDataAuditTaskRest {
...
@@ -66,8 +68,12 @@ public class BizAiDataAuditTaskRestImpl implements BizAiDataAuditTaskRest {
}
}
@Override
@Override
public
void
delete
(
Integer
taskId
)
throws
Exception
{
public
void
delete
(
BizAiDataAuditTaskDeleteDto
dto
)
throws
Exception
{
Assert
.
notNull
(
taskId
,
"taskId can not be null"
);
if
(
CollectionUtils
.
isEmpty
(
dto
.
getTaskIds
()))
{
throw
new
Exception
(
"the task can not be found"
);
}
for
(
Integer
taskId
:
dto
.
getTaskIds
())
{
bizAiDataAuditTaskService
.
delete
(
taskId
);
bizAiDataAuditTaskService
.
delete
(
taskId
);
}
}
}
}
}
\ No newline at end of file
src/main/java/cn/com/poc/ai_data_audit/rest/impl/DataAuditRestImpl.java
View file @
8c04b634
package
cn
.
com
.
poc
.
ai_data_audit
.
rest
.
impl
;
package
cn
.
com
.
poc
.
ai_data_audit
.
rest
.
impl
;
import
cn.com.poc.ai_data_audit.dto.*
;
import
cn.com.poc.ai_data_audit.rest.DataAuditRest
;
import
cn.com.poc.ai_data_audit.rest.DataAuditRest
;
import
cn.com.poc.ai_data_audit.dto.BizAiDataAuditFileDto
;
import
cn.com.poc.ai_data_audit.dto.FileUploadConfirmDto
;
import
cn.com.poc.ai_data_audit.dto.FileUploadDto
;
import
cn.com.poc.ai_data_audit.dto.FileUploadReturnDto
;
import
cn.com.poc.ai_data_audit.service.BizAiDataAuditTaskService
;
import
cn.com.poc.ai_data_audit.service.BizAiDataAuditTaskService
;
import
cn.com.poc.ai_data_audit.service.DataAuditService
;
import
cn.com.poc.ai_data_audit.service.DataAuditService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
...
@@ -52,8 +49,8 @@ public class DataAuditRestImpl implements DataAuditRest {
...
@@ -52,8 +49,8 @@ public class DataAuditRestImpl implements DataAuditRest {
* @throws Exception
* @throws Exception
*/
*/
@Override
@Override
public
void
call
(
String
fileId
,
String
input
)
throws
Exception
{
public
DataAuditResult
call
(
DataAuditCallDto
dataAuditCallDto
)
throws
Exception
{
return
dataAuditService
.
call
(
dataAuditCallDto
);
}
}
...
...
src/main/java/cn/com/poc/ai_data_audit/service/DataAuditService.java
View file @
8c04b634
package
cn
.
com
.
poc
.
ai_data_audit
.
service
;
package
cn
.
com
.
poc
.
ai_data_audit
.
service
;
import
cn.com.poc.ai_data_audit.dto.FileUploadConfirmDto
;
import
cn.com.poc.ai_data_audit.dto.DataAuditCallDto
;
import
cn.com.poc.ai_data_audit.dto.DataAuditResult
;
import
cn.com.poc.ai_data_audit.dto.FileUploadDto
;
import
cn.com.poc.ai_data_audit.dto.FileUploadDto
;
import
cn.com.poc.ai_data_audit.entity.BizAiDataAuditTaskEntity
;
import
cn.com.yict.framemax.core.service.BaseService
;
import
cn.com.yict.framemax.core.service.BaseService
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
java.util.List
;
import
java.util.List
;
import
java.util.concurrent.ExecutionException
;
import
java.util.concurrent.ExecutionException
;
...
@@ -15,4 +14,5 @@ public interface DataAuditService extends BaseService {
...
@@ -15,4 +14,5 @@ public interface DataAuditService extends BaseService {
public
List
fileUploadAndProcessing
(
List
<
FileUploadDto
>
fileUploadDtoList
)
throws
ExecutionException
,
InterruptedException
;
public
List
fileUploadAndProcessing
(
List
<
FileUploadDto
>
fileUploadDtoList
)
throws
ExecutionException
,
InterruptedException
;
DataAuditResult
call
(
DataAuditCallDto
dataAuditCallDto
)
throws
Exception
;
}
}
\ No newline at end of file
src/main/java/cn/com/poc/ai_data_audit/service/impl/DataAuditServiceImpl.java
View file @
8c04b634
package
cn
.
com
.
poc
.
ai_data_audit
.
service
.
impl
;
package
cn
.
com
.
poc
.
ai_data_audit
.
service
.
impl
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationDialoguesRecordEntity
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationGcConfigEntity
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationGcConfigEntity
;
import
cn.com.poc.agent_application.service.BizAgentApplicationDialoguesRecordService
;
import
cn.com.poc.agent_application.service.BizAgentApplicationGcConfigService
;
import
cn.com.poc.agent_application.service.BizAgentApplicationGcConfigService
;
import
cn.com.poc.ai_data_audit.dto.DataAuditCallDto
;
import
cn.com.poc.ai_data_audit.dto.DataAuditResult
;
import
cn.com.poc.ai_data_audit.dto.FileUploadDto
;
import
cn.com.poc.ai_data_audit.dto.FileUploadDto
;
import
cn.com.poc.ai_data_audit.dto.FileUploadReturnDto
;
import
cn.com.poc.ai_data_audit.dto.FileUploadReturnDto
;
import
cn.com.poc.ai_data_audit.entity.AIDataAuditMatchFileNameResponse
;
import
cn.com.poc.ai_data_audit.entity.AIDataAuditMatchFileNameResponse
;
import
cn.com.poc.ai_data_audit.entity.BizAiDataAuditFileEntity
;
import
cn.com.poc.ai_data_audit.service.BizAiDataAuditFileService
;
import
cn.com.poc.ai_data_audit.service.DataAuditService
;
import
cn.com.poc.ai_data_audit.service.DataAuditService
;
import
cn.com.poc.common.utils.DocumentLoad
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.utils.*
;
import
cn.com.poc.law.entity.motorVehicleDrivingComplaint.Plaintiff
;
import
cn.com.poc.law.entity.motorVehicleDrivingComplaint.Plaintiff
;
import
cn.com.poc.thirdparty.resource.demand.ai.aggregate.MinerUOcrService
;
import
cn.com.poc.ocr.entity.BizFileOcrCacheEntity
;
import
cn.com.poc.ocr.service.BizFileOcrCacheService
;
import
cn.com.poc.thirdparty.resource.demand.ai.constants.LLMRoleEnum
;
import
cn.com.poc.thirdparty.resource.demand.ai.constants.LLMRoleEnum
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelDemandResult
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelDemandResult
;
...
@@ -19,11 +27,15 @@ import cn.com.yict.framemax.core.exception.BusinessException;
...
@@ -19,11 +27,15 @@ import cn.com.yict.framemax.core.exception.BusinessException;
import
cn.com.yict.framemax.core.service.impl.BaseServiceImpl
;
import
cn.com.yict.framemax.core.service.impl.BaseServiceImpl
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.io.BufferedReader
;
import
java.io.File
;
import
java.io.File
;
import
java.io.FileReader
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
...
@@ -34,9 +46,19 @@ import java.util.stream.Collectors;
...
@@ -34,9 +46,19 @@ import java.util.stream.Collectors;
@Service
@Service
public
class
DataAuditServiceImpl
extends
BaseServiceImpl
public
class
DataAuditServiceImpl
extends
BaseServiceImpl
implements
DataAuditService
{
implements
DataAuditService
{
@Resource
private
BizAiDataAuditFileService
bizAiDataAuditFileService
;
@Resource
@Resource
private
LLMService
llmService
;
private
LLMService
llmService
;
@Resource
private
BizFileOcrCacheService
bizFileOcrCacheService
;
@Resource
private
BizAgentApplicationDialoguesRecordService
bizAgentApplicationDialoguesRecordService
;
@Resource
@Resource
private
BizAgentApplicationGcConfigService
bizAgentApplicationGcConfigService
;
private
BizAgentApplicationGcConfigService
bizAgentApplicationGcConfigService
;
...
@@ -139,6 +161,132 @@ public class DataAuditServiceImpl extends BaseServiceImpl
...
@@ -139,6 +161,132 @@ public class DataAuditServiceImpl extends BaseServiceImpl
return
fileUploadReturnDtoList
;
return
fileUploadReturnDtoList
;
}
}
@Override
public
DataAuditResult
call
(
DataAuditCallDto
dataAuditCallDto
)
throws
Exception
{
Long
userId
=
BlContext
.
getCurrentUser
().
getUserId
();
String
input
=
dataAuditCallDto
.
getInput
();
String
dialoguesId
=
dataAuditCallDto
.
getDialoguesId
();
Assert
.
notNull
(
dataAuditCallDto
.
getFileId
(),
"file can not be null"
);
//记录提问时间
long
inputTimestamp
=
System
.
currentTimeMillis
();
SSEUtil
sseUtil
=
new
SSEUtil
();
// 获取大模型配置
String
promptCode
=
"AIDataAuditCall"
;
BizAgentApplicationGcConfigEntity
documentDialoguePrompt
=
bizAgentApplicationGcConfigService
.
getByConfigCode
(
promptCode
);
if
(
documentDialoguePrompt
==
null
||
StringUtils
.
isBlank
(
documentDialoguePrompt
.
getConfigSystem
()))
{
throw
new
BusinessException
(
"获取对话提示词失败"
);
}
BizAiDataAuditFileEntity
bizAiDataAuditFileEntity
=
bizAiDataAuditFileService
.
get
(
dataAuditCallDto
.
getFileId
());
BizFileOcrCacheEntity
example
=
new
BizFileOcrCacheEntity
();
example
.
setMd5
(
bizAiDataAuditFileEntity
.
getMd5
());
List
<
BizFileOcrCacheEntity
>
bizFileOcrCacheEntityList
=
bizFileOcrCacheService
.
findByExample
(
example
,
null
);
if
(
CollectionUtils
.
isEmpty
(
bizFileOcrCacheEntityList
)){
throw
new
BusinessException
(
"can not file the file"
);
}
File
file
=
DocumentLoad
.
downloadURLDocument
(
bizFileOcrCacheEntityList
.
get
(
0
).
getMdFileUrl
());
String
fileContent
=
""
;
try
(
BufferedReader
br
=
new
BufferedReader
(
new
FileReader
(
file
)))
{
String
content
;
while
((
content
=
br
.
readLine
())
!=
null
)
{
fileContent
=
content
+
fileContent
;
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
//组装请求参数
List
<
Message
>
messages
=
buildMessagesAndRecord
(
dialoguesId
,
userId
,
input
,
null
,
documentDialoguePrompt
.
getConfigSystem
().
replace
(
"${content}"
,
fileContent
));
LargeModelResponse
largeModelResponse
=
new
LargeModelResponse
();
largeModelResponse
.
setModel
(
documentDialoguePrompt
.
getLargeModel
());
largeModelResponse
.
setMessages
(
messages
.
toArray
(
new
Message
[
0
]));
largeModelResponse
.
setStream
(
true
);
BufferedReader
bufferedReader
=
llmService
.
chatChunk
(
largeModelResponse
);
DataAuditResult
dataAuditResult
=
textOutputStream
(
sseUtil
,
bufferedReader
);
// 保存用户输入记录
BizAgentApplicationDialoguesRecordEntity
inputRecord
=
new
BizAgentApplicationDialoguesRecordEntity
();
inputRecord
.
setMemberId
(
userId
);
inputRecord
.
setContent
(
input
);
inputRecord
.
setDialogsId
(
dialoguesId
);
inputRecord
.
setRole
(
LLMRoleEnum
.
USER
.
getRole
());
inputRecord
.
setTimestamp
(
inputTimestamp
);
// 保存AI回复记录
BizAgentApplicationDialoguesRecordEntity
assistantRecord
=
new
BizAgentApplicationDialoguesRecordEntity
();
assistantRecord
.
setMemberId
(
userId
);
assistantRecord
.
setContent
(
dataAuditResult
.
getMessage
());
assistantRecord
.
setReasoningContent
(
dataAuditResult
.
getReasoningContent
());
assistantRecord
.
setDialogsId
(
dialoguesId
);
assistantRecord
.
setRole
(
LLMRoleEnum
.
ASSISTANT
.
getRole
());
assistantRecord
.
setTimestamp
(
System
.
currentTimeMillis
());
bizAgentApplicationDialoguesRecordService
.
save
(
inputRecord
);
bizAgentApplicationDialoguesRecordService
.
save
(
assistantRecord
);
return
dataAuditResult
;
}
/**
* 文本输出结果
*
* @param sseUtil
* @param bufferedReader
* @throws IOException
*/
private
DataAuditResult
textOutputStream
(
SSEUtil
sseUtil
,
BufferedReader
bufferedReader
)
throws
IOException
{
String
res
=
""
;
StringBuilder
output
=
new
StringBuilder
();
StringBuilder
reasoningContent
=
new
StringBuilder
();
try
{
while
((
res
=
bufferedReader
.
readLine
())
!=
null
)
{
if
(
StringUtils
.
isEmpty
(
res
))
{
continue
;
}
res
=
StringUtils
.
replace
(
res
,
"data: "
,
StringUtils
.
EMPTY
);
LargeModelDemandResult
result
=
JsonUtils
.
deSerialize
(
res
,
LargeModelDemandResult
.
class
);
if
(!
"0"
.
equals
(
result
.
getCode
()))
{
BusinessException
ex
=
new
BusinessException
(
"exception/call.failure"
);
result
.
setMessage
(
ex
.
getMessage
());
sseUtil
.
send
(
JsonUtils
.
serialize
(
result
));
sseUtil
.
send
(
"[DONE]"
);
sseUtil
.
complete
();
throw
ex
;
}
result
.
setFunction
(
null
);
result
.
setDbChainResult
(
null
);
result
.
setKnowledgeContentResult
(
null
);
result
.
setMessage
(
result
.
getMessage
());
sseUtil
.
send
(
JsonUtils
.
serialize
(
result
));
if
(
StringUtils
.
isNotEmpty
(
result
.
getMessage
()))
{
output
.
append
(
result
.
getMessage
());
}
if
(
StringUtils
.
isNotEmpty
(
result
.
getReasoningContent
()))
{
reasoningContent
.
append
(
result
.
getReasoningContent
());
}
}
// 关闭资源
sseUtil
.
send
(
"[DONE]"
);
sseUtil
.
complete
();
DataAuditResult
dataAuditResult
=
new
DataAuditResult
();
dataAuditResult
.
setMessage
(
output
.
toString
());
dataAuditResult
.
setReasoningContent
(
reasoningContent
.
toString
());
return
dataAuditResult
;
}
catch
(
IOException
e
)
{
sseUtil
.
completeByError
(
"连接断开"
);
throw
new
BusinessException
(
"连接断开"
);
}
finally
{
bufferedReader
.
close
();
sseUtil
.
complete
();
}
}
public
List
<
AIDataAuditMatchFileNameResponse
>
matchOriginalTemplateAndUploadFile
(
List
<
String
>
fileNames
)
throws
Exception
{
public
List
<
AIDataAuditMatchFileNameResponse
>
matchOriginalTemplateAndUploadFile
(
List
<
String
>
fileNames
)
throws
Exception
{
// 获取对话提示词
// 获取对话提示词
String
promptCode
=
"AIDataAuditMatchFileName"
;
String
promptCode
=
"AIDataAuditMatchFileName"
;
...
@@ -172,28 +320,23 @@ public class DataAuditServiceImpl extends BaseServiceImpl
...
@@ -172,28 +320,23 @@ public class DataAuditServiceImpl extends BaseServiceImpl
}
}
private
List
<
Message
>
buildMessages
(
String
input
,
String
fileUrl
,
String
prompt
)
throws
Exception
{
private
List
<
Message
>
buildMessages
(
String
input
,
String
fileUrl
,
String
prompt
)
throws
Exception
{
// 配置message
List
<
Message
>
messages
=
new
ArrayList
<>();
Message
systemMessage
=
new
Message
();
systemMessage
.
setContent
(
prompt
);
systemMessage
.
setRole
(
LLMRoleEnum
.
SYSTEM
.
getRole
());
messages
.
add
(
systemMessage
);
// 用户输入
Message
message
=
new
Message
();
message
.
setContent
(
input
);
message
.
setRole
(
LLMRoleEnum
.
USER
.
getRole
());
messages
.
add
(
message
);
// 加载文件
return
messages
;
String
fileContent
=
StringUtils
.
EMPTY
;
if
(
StringUtils
.
isNoneBlank
(
fileUrl
))
{
File
file
=
DocumentLoad
.
downloadURLDocument
(
fileUrl
);
fileContent
=
DocumentLoad
.
documentToText
(
file
);
}
}
// 加载对话提示词
private
List
<
Message
>
buildMessagesAndRecord
(
String
dialoguesId
,
Long
userId
,
String
input
,
String
fileUrl
,
String
prompt
)
throws
Exception
{
// String prompt = documentDialoguePrompt.getConfigSystem();
// if (CollectionUtils.isNotEmpty(knowledgeContentResults)) {
// String knowledgeContent = JsonUtils.serialize(knowledgeContentResults);
// prompt = prompt.replace("${knowledgeContent}", knowledgeContent);
// } else {
// prompt = prompt.replace("${knowledgeContent}", StringUtils.EMPTY);
// }
// if (toolFunction != null) {
// prompt = prompt.replace("${toolFunction}", JsonUtils.serialize(toolFunction));
// }
//
// prompt = prompt.replace("${question}", input).replace("${fileContent}", fileContent);
// 配置message
// 配置message
List
<
Message
>
messages
=
new
ArrayList
<>();
List
<
Message
>
messages
=
new
ArrayList
<>();
...
@@ -202,13 +345,34 @@ public class DataAuditServiceImpl extends BaseServiceImpl
...
@@ -202,13 +345,34 @@ public class DataAuditServiceImpl extends BaseServiceImpl
systemMessage
.
setRole
(
LLMRoleEnum
.
SYSTEM
.
getRole
());
systemMessage
.
setRole
(
LLMRoleEnum
.
SYSTEM
.
getRole
());
messages
.
add
(
systemMessage
);
messages
.
add
(
systemMessage
);
// 对话记录
BizAgentApplicationDialoguesRecordEntity
recordEntity
=
new
BizAgentApplicationDialoguesRecordEntity
();
recordEntity
.
setDialogsId
(
dialoguesId
);
recordEntity
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
recordEntity
.
setMemberId
(
userId
);
List
<
BizAgentApplicationDialoguesRecordEntity
>
recordEntities
=
bizAgentApplicationDialoguesRecordService
.
findByExample
(
recordEntity
,
null
);
if
(
CollectionUtils
.
isNotEmpty
(
recordEntities
))
{
for
(
BizAgentApplicationDialoguesRecordEntity
entity
:
recordEntities
)
{
Message
message
=
new
Message
();
message
.
setContent
(
entity
.
getContent
());
message
.
setRole
(
entity
.
getRole
());
messages
.
add
(
message
);
}
}
//判断最后是否为User,若是则删除。
if
(
CollectionUtils
.
isNotEmpty
(
messages
))
{
if
(
LLMRoleEnum
.
USER
.
getRole
().
equals
(
messages
.
get
(
messages
.
size
()
-
1
).
getRole
()))
{
Long
recordId
=
recordEntities
.
get
(
recordEntities
.
size
()
-
1
).
getId
();
bizAgentApplicationDialoguesRecordService
.
deletedById
(
recordId
);
messages
.
remove
(
messages
.
size
()
-
1
);
}
}
// 用户输入
// 用户输入
Message
message
=
new
Message
();
Message
message
=
new
Message
();
message
.
setContent
(
""
);
message
.
setContent
(
input
);
message
.
setRole
(
LLMRoleEnum
.
USER
.
getRole
());
message
.
setRole
(
LLMRoleEnum
.
USER
.
getRole
());
messages
.
add
(
message
);
messages
.
add
(
message
);
// logger.info("--------- Build Messages dialogsId:{},messages:{}--------------", dialogsId, messages);
return
messages
;
return
messages
;
}
}
...
...
src/main/java/cn/com/poc/ai_dialogues/constant/AiDialoguesTypeEnum.java
View file @
8c04b634
...
@@ -38,6 +38,9 @@ public enum AiDialoguesTypeEnum {
...
@@ -38,6 +38,9 @@ public enum AiDialoguesTypeEnum {
CAR_RECOMMEND
(
"car_recommend"
,
"车辆推荐"
),
CAR_RECOMMEND
(
"car_recommend"
,
"车辆推荐"
),
DATA_AUDIT
(
"data_audit"
,
"数据校验"
),
;
;
private
final
String
type
;
private
final
String
type
;
...
...
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