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
0
Merge Requests
0
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
9ac602f7
Commit
9ac602f7
authored
Aug 12, 2025
by
alex yao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 输入联想优化
parent
6c4e6a66
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
62 additions
and
12 deletions
+62
-12
AiDialoguesServiceImpl.java
...c/ai_dialogues/aggregate/impl/AiDialoguesServiceImpl.java
+60
-10
BizAiDialoguesProblemAssociationService.java
...gues/service/BizAiDialoguesProblemAssociationService.java
+1
-1
BizAiDialoguesProblemAssociationServiceImpl.java
...ice/impl/BizAiDialoguesProblemAssociationServiceImpl.java
+1
-1
No files found.
src/main/java/cn/com/poc/ai_dialogues/aggregate/impl/AiDialoguesServiceImpl.java
View file @
9ac602f7
package
cn
.
com
.
poc
.
ai_dialogues
.
aggregate
.
impl
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationGcConfigEntity
;
import
cn.com.poc.agent_application.query.AgentApplicationDialoguesRecordQueryItem
;
import
cn.com.poc.agent_application.service.BizAgentApplicationDialoguesRecordService
;
import
cn.com.poc.agent_application.service.BizAgentApplicationGcConfigService
;
import
cn.com.poc.ai_dialogues.aggregate.AiDialoguesService
;
import
cn.com.poc.ai_dialogues.constant.AiDialoguesTypeEnum
;
import
cn.com.poc.ai_dialogues.dto.AiDialoguesRecordDto
;
import
cn.com.poc.ai_dialogues.entity.BizAiDialoguesEntity
;
import
cn.com.poc.ai_dialogues.entity.BizAiDialoguesGuessYouAskEntity
;
import
cn.com.poc.ai_dialogues.entity.BizAiDialoguesProblemAssociationEntity
;
import
cn.com.poc.ai_dialogues.query.AiDialoguesQueryCondition
;
import
cn.com.poc.ai_dialogues.query.AiDialoguesQueryItem
;
import
cn.com.poc.ai_dialogues.query.ProblemAssociationQueryItem
;
import
cn.com.poc.ai_dialogues.service.BizAiDialoguesGuessYouAskService
;
import
cn.com.poc.ai_dialogues.service.BizAiDialoguesProblemAssociationService
;
import
cn.com.poc.ai_dialogues.service.BizAiDialoguesService
;
...
...
@@ -18,8 +20,14 @@ import cn.com.poc.common.service.BizFileUploadRecordService;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.common.utils.StringUtils
;
import
cn.com.poc.expose.dto.DialoguesContextDto
;
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.ToolFunction
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelDemandResult
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelResponse
;
import
cn.com.poc.thirdparty.service.LLMService
;
import
cn.com.yict.framemax.core.exception.BusinessException
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -56,6 +64,12 @@ public class AiDialoguesServiceImpl implements AiDialoguesService {
@Resource
private
BizAiDialoguesProblemAssociationService
bizAiDialoguesProblemAssociationService
;
@Resource
private
LLMService
llmService
;
@Resource
private
BizAgentApplicationGcConfigService
bizAgentApplicationGcConfigService
;
@Override
public
String
create
(
AiDialoguesTypeEnum
type
,
Long
userId
)
throws
Exception
{
return
bizAiDialoguesService
.
create
(
type
.
getType
(),
userId
);
...
...
@@ -168,16 +182,52 @@ public class AiDialoguesServiceImpl implements AiDialoguesService {
@Override
public
List
<
String
>
questionAssociation
(
String
dialogueId
,
String
question
)
{
if
(
StringUtils
.
isBlank
(
question
))
{
logger
.
warn
(
"question is blank"
);
return
Collections
.
emptyList
();
}
List
<
ProblemAssociationQueryItem
>
problemAssociationList
=
bizAiDialoguesProblemAssociationService
.
getProblemAssociationList
(
question
);
if
(
CollectionUtils
.
isNotEmpty
(
problemAssociationList
))
{
return
problemAssociationList
.
stream
().
map
(
ProblemAssociationQueryItem:
:
getQuestion
).
collect
(
Collectors
.
toList
());
List
<
String
>
res
=
new
ArrayList
<>();
try
{
if
(
StringUtils
.
isBlank
(
question
))
{
logger
.
warn
(
"question is blank"
);
return
Collections
.
emptyList
();
}
String
GC_CONFIG_CODE
=
"QuestionAssociation"
;
BizAgentApplicationGcConfigEntity
gcConfigEntity
=
bizAgentApplicationGcConfigService
.
getByConfigCode
(
GC_CONFIG_CODE
);
if
(
gcConfigEntity
==
null
)
{
logger
.
error
(
"获取配置失败"
);
return
Collections
.
emptyList
();
}
Message
systemMessage
=
new
Message
();
systemMessage
.
setContent
(
gcConfigEntity
.
getConfigSystem
());
systemMessage
.
setRole
(
LLMRoleEnum
.
SYSTEM
.
getRole
());
systemMessage
.
setName
(
"QUESTION_ASSOCIATION_GENERATE"
);
Message
userMessage
=
new
Message
();
userMessage
.
setContent
(
question
);
userMessage
.
setRole
(
LLMRoleEnum
.
USER
.
getRole
());
LargeModelResponse
largeModelResponse
=
new
LargeModelResponse
();
largeModelResponse
.
setModel
(
gcConfigEntity
.
getLargeModel
());
largeModelResponse
.
setMessages
(
new
Message
[]{
systemMessage
,
userMessage
});
largeModelResponse
.
setStream
(
false
);
LargeModelDemandResult
largeModelDemandResult
=
llmService
.
chat
(
largeModelResponse
);
if
(
largeModelDemandResult
==
null
||
StringUtils
.
isBlank
(
largeModelDemandResult
.
getMessage
()))
{
logger
.
error
(
"大模型响应错误"
);
return
Collections
.
emptyList
();
}
String
message
=
largeModelDemandResult
.
getMessage
();
int
start
=
message
.
indexOf
(
"["
);
int
end
=
message
.
indexOf
(
"]"
);
String
sub
=
message
.
substring
(
start
,
end
+
1
);
res
=
JsonUtils
.
deSerialize
(
sub
,
new
TypeReference
<
List
<
String
>>()
{
}.
getType
());
return
res
;
}
finally
{
if
(
CollectionUtils
.
isNotEmpty
(
res
))
{
for
(
String
que
:
res
)
{
BizAiDialoguesProblemAssociationEntity
bizAiDialoguesProblemAssociationEntity
=
new
BizAiDialoguesProblemAssociationEntity
();
bizAiDialoguesProblemAssociationEntity
.
setQuestion
(
que
);
bizAiDialoguesProblemAssociationService
.
save
(
bizAiDialoguesProblemAssociationEntity
);
}
}
}
return
Collections
.
emptyList
();
}
@Override
...
...
src/main/java/cn/com/poc/ai_dialogues/service/BizAiDialoguesProblemAssociationService.java
View file @
9ac602f7
...
...
@@ -14,7 +14,7 @@ public interface BizAiDialoguesProblemAssociationService extends BaseService {
List
<
BizAiDialoguesProblemAssociationEntity
>
findByExample
(
BizAiDialoguesProblemAssociationEntity
example
,
PagingInfo
pagingInfo
)
throws
Exception
;
BizAiDialoguesProblemAssociationEntity
save
(
BizAiDialoguesProblemAssociationEntity
entity
)
throws
Exception
;
BizAiDialoguesProblemAssociationEntity
save
(
BizAiDialoguesProblemAssociationEntity
entity
)
;
BizAiDialoguesProblemAssociationEntity
update
(
BizAiDialoguesProblemAssociationEntity
entity
)
throws
Exception
;
...
...
src/main/java/cn/com/poc/ai_dialogues/service/impl/BizAiDialoguesProblemAssociationServiceImpl.java
View file @
9ac602f7
...
...
@@ -50,7 +50,7 @@ public class BizAiDialoguesProblemAssociationServiceImpl extends BaseServiceImpl
return
result
;
}
public
BizAiDialoguesProblemAssociationEntity
save
(
BizAiDialoguesProblemAssociationEntity
entity
)
throws
Exception
{
public
BizAiDialoguesProblemAssociationEntity
save
(
BizAiDialoguesProblemAssociationEntity
entity
)
{
Assert
.
notNull
(
entity
);
entity
.
setId
(
null
);
BizAiDialoguesProblemAssociationModel
model
=
BizAiDialoguesProblemAssociationConvert
.
entityToModel
(
entity
);
...
...
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