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
51d16f4b
Commit
51d16f4b
authored
Nov 18, 2024
by
alex yao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 支持文档解析
parent
638e3dd7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
48 changed files
with
906 additions
and
464 deletions
+906
-464
AgentApplicationInfoService.java
...nt_application/aggregate/AgentApplicationInfoService.java
+15
-3
AgentApplicationInfoServiceImpl.java
...ation/aggregate/impl/AgentApplicationInfoServiceImpl.java
+19
-16
AgentApplicationInfoConvert.java
...gent_application/convert/AgentApplicationInfoConvert.java
+5
-0
BizAgentApplicationPublishConvert.java
...pplication/convert/BizAgentApplicationPublishConvert.java
+4
-0
AgentApplicationKnowledgeConfig.java
...t_application/domain/AgentApplicationKnowledgeConfig.java
+14
-0
AgentApplicationPreviewDto.java
...poc/agent_application/dto/AgentApplicationPreviewDto.java
+10
-0
BizAgentApplicationInfoEntity.java
...ent_application/entity/BizAgentApplicationInfoEntity.java
+13
-0
BizAgentApplicationPublishEntity.java
..._application/entity/BizAgentApplicationPublishEntity.java
+169
-109
BizAgentApplicationInfoModel.java
...agent_application/model/BizAgentApplicationInfoModel.java
+18
-1
BizAgentApplicationPublishModel.java
...nt_application/model/BizAgentApplicationPublishModel.java
+13
-0
AgentApplicationInfoQuery.sql
...poc/agent_application/query/AgentApplicationInfoQuery.sql
+1
-0
AgentApplicationInfoQueryItem.java
...gent_application/query/AgentApplicationInfoQueryItem.java
+22
-5
AgentApplicationInfoRestImpl.java
...t_application/rest/impl/AgentApplicationInfoRestImpl.java
+6
-11
BizAgentApplicationInfoServiceImpl.java
...tion/service/impl/BizAgentApplicationInfoServiceImpl.java
+1
-0
BizAgentApplicationPublishServiceImpl.java
...n/service/impl/BizAgentApplicationPublishServiceImpl.java
+1
-0
AgentApplicationToolsBuilder.java
...agent_application/utils/AgentApplicationToolsBuilder.java
+36
-10
DocumentLoad.java
src/main/java/cn/com/poc/common/utils/DocumentLoad.java
+27
-0
AgentApplicationService.java
.../cn/com/poc/expose/aggregate/AgentApplicationService.java
+7
-2
AgentApplicationServiceImpl.java
...oc/expose/aggregate/impl/AgentApplicationServiceImpl.java
+10
-10
AgentApplicationDto.java
src/main/java/cn/com/poc/expose/dto/AgentApplicationDto.java
+11
-0
AgentApplicationRestImpl.java
...cn/com/poc/expose/rest/impl/AgentApplicationRestImpl.java
+1
-1
DgtoolsAbstractHttpClient.java
...cn/com/poc/support/dgTools/DgtoolsAbstractHttpClient.java
+3
-3
AuthorizationServiceImpl.java
...upport/dgTools/service/impl/AuthorizationServiceImpl.java
+3
-3
AICreateImageServiceImpl.java
...ce/demand/ai/aggregate/impl/AICreateImageServiceImpl.java
+21
-21
AIDialogueServiceImpl.java
...ource/demand/ai/aggregate/impl/AIDialogueServiceImpl.java
+13
-13
DemandKnowledgeServiceImpl.java
.../demand/ai/aggregate/impl/DemandKnowledgeServiceImpl.java
+14
-14
AbstractLargeModelFunction.java
...source/demand/ai/function/AbstractLargeModelFunction.java
+11
-2
LargeModelFunctionEnum.java
...y/resource/demand/ai/function/LargeModelFunctionEnum.java
+14
-2
DocumentReaderFunction.java
...d/ai/function/document_reader/DocumentReaderFunction.java
+73
-0
Function.java
...irdparty/resource/demand/ai/function/entity/Function.java
+33
-0
FunctionLLMConfig.java
...resource/demand/ai/function/entity/FunctionLLMConfig.java
+73
-0
Parameters.java
...dparty/resource/demand/ai/function/entity/Parameters.java
+35
-0
Properties.java
...dparty/resource/demand/ai/function/entity/Properties.java
+43
-0
HtmlReaderFunction.java
...ce/demand/ai/function/html_reader/HtmlReaderFunction.java
+58
-0
LongMemory.java
...y/resource/demand/ai/function/long_memory/LongMemory.java
+1
-1
SetLongMemoryFunction.java
...demand/ai/function/long_memory/SetLongMemoryFunction.java
+50
-43
MemoryVariableWriter.java
...function/memory_variable_writer/MemoryVariableWriter.java
+13
-1
MemoryVariableWriterFunction.java
.../memory_variable_writer/MemoryVariableWriterFunction.java
+20
-32
GetValueMemory.java
...ource/demand/ai/function/value_memory/GetValueMemory.java
+0
-24
SetValueMemoryConstants.java
...and/ai/function/value_memory/SetValueMemoryConstants.java
+0
-7
SetValueMemoryFunction.java
...mand/ai/function/value_memory/SetValueMemoryFunction.java
+0
-108
DgtoolsApiRoute.java
.../thirdparty/resource/demand/ai/route/DgtoolsApiRoute.java
+2
-2
DataReportServiceImpl.java
...demand/clickhouse/service/impl/DataReportServiceImpl.java
+5
-5
DemandAuthApi.java
.../thirdparty/resource/demand/member/api/DemandAuthApi.java
+3
-3
DemandMemberApi.java
...hirdparty/resource/demand/member/api/DemandMemberApi.java
+9
-9
exception.properties
...in/resources/framemax-config/i18n/en/exception.properties
+2
-1
exception.properties
...resources/framemax-config/i18n/zh_cn/exception.properties
+2
-1
exception.properties
...resources/framemax-config/i18n/zh_tw/exception.properties
+2
-1
No files found.
src/main/java/cn/com/poc/agent_application/aggregate/AgentApplicationInfoService.java
View file @
51d16f4b
...
@@ -29,11 +29,23 @@ public interface AgentApplicationInfoService {
...
@@ -29,11 +29,23 @@ public interface AgentApplicationInfoService {
boolean
deletedAgentApplication
(
String
agentId
)
throws
Exception
;
boolean
deletedAgentApplication
(
String
agentId
)
throws
Exception
;
/**
/**
* 应用预览
* 应用对话
*
* @param agentId 应用ID
* @param identifier 对话唯一标识
* @param largeModel 模型
* @param agentSystem 应用角色指令
* @param knowledgeIds 知识库ID
* @param communicationTurn 对话轮数
* @param topP 模型参数topP
* @param temperature 模型参数temperature
* @param messages 对话消息
* @param tools 插件配置
* @param fileUrls 文件URL
*/
*/
String
callAgentApplication
(
String
agentId
,
String
identifier
,
String
largeModel
,
String
[]
unitIds
,
String
agentSystem
,
String
callAgentApplication
(
String
agentId
,
String
identifier
,
String
largeModel
,
String
agentSystem
,
Integer
[]
knowledgeIds
,
Integer
communicationTurn
,
Float
topP
,
Float
temperature
,
Integer
[]
knowledgeIds
,
Integer
communicationTurn
,
Float
topP
,
Float
temperature
,
List
<
Message
>
messages
,
List
<
Tool
>
tools
,
HttpServletResponse
httpServletResponse
)
throws
Exception
;
List
<
Message
>
messages
,
List
<
Tool
>
tools
,
List
<
String
>
fileUrls
,
HttpServletResponse
httpServletResponse
)
throws
Exception
;
/**
/**
* 应用下架
* 应用下架
...
...
src/main/java/cn/com/poc/agent_application/aggregate/impl/AgentApplicationInfoServiceImpl.java
View file @
51d16f4b
...
@@ -12,6 +12,7 @@ import cn.com.poc.common.constant.CommonConstant;
...
@@ -12,6 +12,7 @@ import cn.com.poc.common.constant.CommonConstant;
import
cn.com.poc.common.service.RedisService
;
import
cn.com.poc.common.service.RedisService
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.common.utils.ListUtils
;
import
cn.com.poc.knowledge.entity.BizKnowledgeDocumentEntity
;
import
cn.com.poc.knowledge.entity.BizKnowledgeDocumentEntity
;
import
cn.com.poc.knowledge.service.BizKnowledgeDocumentService
;
import
cn.com.poc.knowledge.service.BizKnowledgeDocumentService
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
...
@@ -28,11 +29,9 @@ import cn.com.poc.thirdparty.resource.demand.ai.entity.generations.BaiduAISailsT
...
@@ -28,11 +29,9 @@ import cn.com.poc.thirdparty.resource.demand.ai.entity.generations.BaiduAISailsT
import
cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelDemandResult
;
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.resource.demand.ai.entity.largemodel.LargeModelResponse
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.LargeModelFunctionEnum
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.LargeModelFunctionEnum
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.
Get
LongMemory
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.LongMemory
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.LongMemoryEntity
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.LongMemoryEntity
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.memory_variable_writer.GetMemoryVariable
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.memory_variable_writer.MemoryVariableWriter
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.value_memory.GetValueMemory
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.value_memory.SetValueMemoryConstants
;
import
cn.com.poc.thirdparty.service.LLMService
;
import
cn.com.poc.thirdparty.service.LLMService
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
...
@@ -116,12 +115,9 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
...
@@ -116,12 +115,9 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
}
}
}
}
if
(
needClean
)
{
if
(
needClean
)
{
String
contentKey
=
SetValueMemoryConstants
.
REDIS_PREFIX
+
entity
.
getAgentId
()
+
":"
+
entity
.
getMemberId
();
MemoryVariableWriter
.
clean
(
entity
.
getAgentId
()
+
":"
+
entity
.
getAgentId
());
redisService
.
del
(
contentKey
);
}
}
// 保存或更新
// 保存或更新
return
StringUtils
.
isEmpty
(
entity
.
getAgentId
())
?
return
StringUtils
.
isEmpty
(
entity
.
getAgentId
())
?
bizAgentApplicationInfoService
.
save
(
entity
)
:
bizAgentApplicationInfoService
.
update
(
entity
);
bizAgentApplicationInfoService
.
save
(
entity
)
:
bizAgentApplicationInfoService
.
update
(
entity
);
...
@@ -155,8 +151,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
...
@@ -155,8 +151,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
if
(
CollectionUtils
.
isNotEmpty
(
items
))
{
if
(
CollectionUtils
.
isNotEmpty
(
items
))
{
logger
.
info
(
"variables structure cache remove,items:{}"
,
items
);
logger
.
info
(
"variables structure cache remove,items:{}"
,
items
);
for
(
DialogsIdsQueryByAgentIdQueryItem
item
:
items
)
{
for
(
DialogsIdsQueryByAgentIdQueryItem
item
:
items
)
{
String
contentKey
=
SetValueMemoryConstants
.
REDIS_PREFIX
+
item
.
getDialogsId
()
+
":"
+
bizAgentApplicationInfoEntity
.
getAgentId
()
+
":"
;
MemoryVariableWriter
.
clearByPre
(
item
.
getDialogsId
()
+
":"
+
bizAgentApplicationInfoEntity
.
getAgentId
());
redisService
.
delByPre
(
contentKey
);
}
}
}
}
...
@@ -179,14 +174,17 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
...
@@ -179,14 +174,17 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
}
}
@Override
@Override
public
String
callAgentApplication
(
String
agentId
,
String
identifier
,
String
largeModel
,
String
[]
unitIds
,
String
agentSystem
,
Integer
[]
kdIds
,
Integer
communicationTurn
,
Float
topP
,
Float
temperature
,
List
<
Message
>
messages
,
List
<
Tool
>
tools
,
HttpServletResponse
httpServletResponse
)
throws
Exception
{
public
String
callAgentApplication
(
String
agentId
,
String
identifier
,
String
largeModel
,
logger
.
info
(
"--------- Call Agent Application large model:{},unitIds:{},agentSystem:{},knowledgeIds:{}"
+
" communicationTurn:{},topP:{},messages:{}--------------"
,
largeModel
,
unitIds
,
agentSystem
,
kdIds
,
communicationTurn
,
topP
,
messages
);
String
agentSystem
,
Integer
[]
kdIds
,
Integer
communicationTurn
,
Float
topP
,
Float
temperature
,
List
<
Message
>
messages
,
List
<
Tool
>
tools
,
List
<
String
>
fileUrls
,
HttpServletResponse
httpServletResponse
)
throws
Exception
{
logger
.
info
(
"Call Agent Application, agentId:{}, identifier:{},largeModel:{},agentSystem:{},kdIds:{},communicationTurn:{},topP:{},temperature:{},messages:{}, tools:{}"
,
agentId
,
identifier
,
largeModel
,
agentSystem
,
kdIds
,
communicationTurn
,
topP
,
temperature
,
messages
,
tools
);
String
model
=
modelConvert
(
largeModel
);
String
model
=
modelConvert
(
largeModel
);
Tool
[]
toolArray
=
tools
.
toArray
(
new
Tool
[
0
]);
Tool
[]
toolArray
=
tools
.
toArray
(
new
Tool
[
0
]);
FunctionResult
functionResult
=
functionCall
(
identifier
,
messages
,
toolArray
,
agentId
);
FunctionResult
functionResult
=
functionCall
(
identifier
,
messages
,
toolArray
,
agentId
,
fileUrls
);
String
promptTemplate
=
buildDialogsPrompt
(
functionResult
,
messages
,
agentSystem
,
kdIds
,
toolArray
,
identifier
,
agentId
);
String
promptTemplate
=
buildDialogsPrompt
(
functionResult
,
messages
,
agentSystem
,
kdIds
,
toolArray
,
identifier
,
agentId
);
...
@@ -599,7 +597,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
...
@@ -599,7 +597,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
String
name
=
tool
.
getFunction
().
getName
();
String
name
=
tool
.
getFunction
().
getName
();
// 长期记忆
// 长期记忆
if
(
LargeModelFunctionEnum
.
set_long_memory
.
name
().
equals
(
name
))
{
if
(
LargeModelFunctionEnum
.
set_long_memory
.
name
().
equals
(
name
))
{
List
<
LongMemoryEntity
>
longMemoryEntities
=
Get
LongMemory
.
get
(
identifier
+
":"
+
agentId
);
List
<
LongMemoryEntity
>
longMemoryEntities
=
LongMemory
.
get
(
identifier
+
":"
+
agentId
);
if
(
CollectionUtils
.
isNotEmpty
(
longMemoryEntities
))
{
if
(
CollectionUtils
.
isNotEmpty
(
longMemoryEntities
))
{
StringBuilder
stringBuilder
=
new
StringBuilder
(
""
);
StringBuilder
stringBuilder
=
new
StringBuilder
(
""
);
for
(
LongMemoryEntity
longMemoryEntity
:
longMemoryEntities
)
{
for
(
LongMemoryEntity
longMemoryEntity
:
longMemoryEntities
)
{
...
@@ -615,7 +613,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
...
@@ -615,7 +613,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
// 变量记忆
// 变量记忆
if
(
LargeModelFunctionEnum
.
memory_variable_writer
.
name
().
equals
(
name
))
{
if
(
LargeModelFunctionEnum
.
memory_variable_writer
.
name
().
equals
(
name
))
{
Map
<
Object
,
Object
>
map
=
GetMemoryVariable
.
get
(
identifier
+
":"
+
agentId
);
Map
<
Object
,
Object
>
map
=
MemoryVariableWriter
.
get
(
identifier
+
":"
+
agentId
);
StringBuilder
stringBuilder
=
new
StringBuilder
(
""
);
StringBuilder
stringBuilder
=
new
StringBuilder
(
""
);
if
(
MapUtils
.
isNotEmpty
(
map
))
{
if
(
MapUtils
.
isNotEmpty
(
map
))
{
Set
<
Object
>
keySet
=
map
.
keySet
();
Set
<
Object
>
keySet
=
map
.
keySet
();
...
@@ -799,7 +797,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
...
@@ -799,7 +797,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
* @param messages
* @param messages
* @param tools
* @param tools
*/
*/
private
FunctionResult
functionCall
(
String
identifier
,
List
<
Message
>
messages
,
Tool
[]
tools
,
String
agentId
)
{
private
FunctionResult
functionCall
(
String
identifier
,
List
<
Message
>
messages
,
Tool
[]
tools
,
String
agentId
,
List
<
String
>
fileUrls
)
{
FunctionResult
result
=
new
FunctionResult
();
FunctionResult
result
=
new
FunctionResult
();
if
(
ArrayUtils
.
isEmpty
(
tools
))
{
if
(
ArrayUtils
.
isEmpty
(
tools
))
{
return
result
;
return
result
;
...
@@ -811,6 +809,11 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
...
@@ -811,6 +809,11 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
}
else
{
}
else
{
query
=
content
.
toString
();
query
=
content
.
toString
();
}
}
if
(
CollectionUtils
.
isNotEmpty
(
fileUrls
))
{
query
=
JsonUtils
.
serialize
(
fileUrls
)
+
query
;
}
FunctionCallResult
functionCallResult
=
llmService
.
functionCall
(
query
,
tools
);
FunctionCallResult
functionCallResult
=
llmService
.
functionCall
(
query
,
tools
);
if
(
functionCallResult
!=
null
&&
functionCallResult
.
isNeed
())
{
if
(
functionCallResult
!=
null
&&
functionCallResult
.
isNeed
())
{
// 执行函数返回结果
// 执行函数返回结果
...
...
src/main/java/cn/com/poc/agent_application/convert/AgentApplicationInfoConvert.java
View file @
51d16f4b
...
@@ -65,6 +65,7 @@ public class AgentApplicationInfoConvert {
...
@@ -65,6 +65,7 @@ public class AgentApplicationInfoConvert {
if
(
StringUtils
.
isNotBlank
(
model
.
getKnowledgeIds
()))
{
if
(
StringUtils
.
isNotBlank
(
model
.
getKnowledgeIds
()))
{
entity
.
setKnowledgeIds
(
JsonUtils
.
deSerialize
(
model
.
getKnowledgeIds
(),
Integer
[].
class
));
entity
.
setKnowledgeIds
(
JsonUtils
.
deSerialize
(
model
.
getKnowledgeIds
(),
Integer
[].
class
));
}
}
entity
.
setIsDocumentParsing
(
model
.
getIsDocumentParsing
());
entity
.
setLargeModel
(
model
.
getLargeModel
());
entity
.
setLargeModel
(
model
.
getLargeModel
());
entity
.
setTopP
(
model
.
getTopP
());
entity
.
setTopP
(
model
.
getTopP
());
entity
.
setTemperature
(
model
.
getTemperature
());
entity
.
setTemperature
(
model
.
getTemperature
());
...
@@ -93,6 +94,7 @@ public class AgentApplicationInfoConvert {
...
@@ -93,6 +94,7 @@ public class AgentApplicationInfoConvert {
model
.
setPreamble
(
entity
.
getPreamble
());
model
.
setPreamble
(
entity
.
getPreamble
());
model
.
setPublishTime
(
entity
.
getPublishTime
());
model
.
setPublishTime
(
entity
.
getPublishTime
());
model
.
setIsLongMemory
(
entity
.
getIsLongMemory
());
model
.
setIsLongMemory
(
entity
.
getIsLongMemory
());
model
.
setIsDocumentParsing
(
entity
.
getIsDocumentParsing
());
if
(
CollectionUtils
.
isNotEmpty
(
entity
.
getVariableStructure
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
entity
.
getVariableStructure
()))
{
model
.
setVariableStructure
(
JsonUtils
.
serialize
(
entity
.
getVariableStructure
()));
model
.
setVariableStructure
(
JsonUtils
.
serialize
(
entity
.
getVariableStructure
()));
}
}
...
@@ -144,6 +146,7 @@ public class AgentApplicationInfoConvert {
...
@@ -144,6 +146,7 @@ public class AgentApplicationInfoConvert {
AgentApplicationKnowledgeConfig
knowledgeConfig
=
new
AgentApplicationKnowledgeConfig
();
AgentApplicationKnowledgeConfig
knowledgeConfig
=
new
AgentApplicationKnowledgeConfig
();
knowledgeConfig
.
setKnowledgeIds
(
entity
.
getKnowledgeIds
());
knowledgeConfig
.
setKnowledgeIds
(
entity
.
getKnowledgeIds
());
knowledgeConfig
.
setIsDocumentParsing
(
entity
.
getIsDocumentParsing
());
AgentApplicationCommModelConfig
commModelConfig
=
new
AgentApplicationCommModelConfig
();
AgentApplicationCommModelConfig
commModelConfig
=
new
AgentApplicationCommModelConfig
();
commModelConfig
.
setLargeModel
(
entity
.
getLargeModel
());
commModelConfig
.
setLargeModel
(
entity
.
getLargeModel
());
...
@@ -191,6 +194,7 @@ public class AgentApplicationInfoConvert {
...
@@ -191,6 +194,7 @@ public class AgentApplicationInfoConvert {
if
(
ObjectUtil
.
isNotEmpty
(
dto
.
getKnowledgeConfig
()))
{
if
(
ObjectUtil
.
isNotEmpty
(
dto
.
getKnowledgeConfig
()))
{
entity
.
setKnowledgeIds
(
dto
.
getKnowledgeConfig
().
getKnowledgeIds
());
entity
.
setKnowledgeIds
(
dto
.
getKnowledgeConfig
().
getKnowledgeIds
());
entity
.
setIsDocumentParsing
(
dto
.
getKnowledgeConfig
().
getIsDocumentParsing
());
}
}
if
(
ObjectUtil
.
isNotEmpty
(
dto
.
getCommModelConfig
()))
{
if
(
ObjectUtil
.
isNotEmpty
(
dto
.
getCommModelConfig
()))
{
...
@@ -221,6 +225,7 @@ public class AgentApplicationInfoConvert {
...
@@ -221,6 +225,7 @@ public class AgentApplicationInfoConvert {
entity
.
setPreamble
(
infoQueryItem
.
getPreamble
());
entity
.
setPreamble
(
infoQueryItem
.
getPreamble
());
entity
.
setPublishTime
(
infoQueryItem
.
getPublishTime
());
entity
.
setPublishTime
(
infoQueryItem
.
getPublishTime
());
entity
.
setIsLongMemory
(
infoQueryItem
.
getIsLongMemory
());
entity
.
setIsLongMemory
(
infoQueryItem
.
getIsLongMemory
());
entity
.
setIsDocumentParsing
(
infoQueryItem
.
getIsDocumentParsing
());
if
(
StringUtils
.
isNotBlank
(
infoQueryItem
.
getVariableStructure
()))
{
if
(
StringUtils
.
isNotBlank
(
infoQueryItem
.
getVariableStructure
()))
{
entity
.
setVariableStructure
(
JsonUtils
.
deSerialize
(
infoQueryItem
.
getVariableStructure
(),
new
TypeReference
<
List
<
Variable
>>()
{
entity
.
setVariableStructure
(
JsonUtils
.
deSerialize
(
infoQueryItem
.
getVariableStructure
(),
new
TypeReference
<
List
<
Variable
>>()
{
...
...
src/main/java/cn/com/poc/agent_application/convert/BizAgentApplicationPublishConvert.java
View file @
51d16f4b
...
@@ -36,6 +36,7 @@ public class BizAgentApplicationPublishConvert {
...
@@ -36,6 +36,7 @@ public class BizAgentApplicationPublishConvert {
entity
.
setPreamble
(
model
.
getPreamble
());
entity
.
setPreamble
(
model
.
getPreamble
());
entity
.
setIsLongMemory
(
model
.
getIsLongMemory
());
entity
.
setIsLongMemory
(
model
.
getIsLongMemory
());
entity
.
setPublishTime
(
model
.
getModifiedTime
());
entity
.
setPublishTime
(
model
.
getModifiedTime
());
entity
.
setIsDocumentParsing
(
model
.
getIsDocumentParsing
());
if
(
StringUtils
.
isNotBlank
(
model
.
getVariableStructure
()))
{
if
(
StringUtils
.
isNotBlank
(
model
.
getVariableStructure
()))
{
entity
.
setVariableStructure
(
JsonUtils
.
deSerialize
(
model
.
getVariableStructure
(),
new
TypeReference
<
List
<
Variable
>>()
{
entity
.
setVariableStructure
(
JsonUtils
.
deSerialize
(
model
.
getVariableStructure
(),
new
TypeReference
<
List
<
Variable
>>()
{
}.
getType
()));
}.
getType
()));
...
@@ -76,6 +77,7 @@ public class BizAgentApplicationPublishConvert {
...
@@ -76,6 +77,7 @@ public class BizAgentApplicationPublishConvert {
model
.
setAgentSystem
(
entity
.
getAgentSystem
());
model
.
setAgentSystem
(
entity
.
getAgentSystem
());
model
.
setPreamble
(
entity
.
getPreamble
());
model
.
setPreamble
(
entity
.
getPreamble
());
model
.
setIsLongMemory
(
entity
.
getIsLongMemory
());
model
.
setIsLongMemory
(
entity
.
getIsLongMemory
());
model
.
setIsDocumentParsing
(
entity
.
getIsDocumentParsing
());
if
(
CollectionUtils
.
isNotEmpty
(
entity
.
getVariableStructure
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
entity
.
getVariableStructure
()))
{
model
.
setVariableStructure
(
JsonUtils
.
serialize
(
entity
.
getVariableStructure
()));
model
.
setVariableStructure
(
JsonUtils
.
serialize
(
entity
.
getVariableStructure
()));
}
}
...
@@ -126,6 +128,7 @@ public class BizAgentApplicationPublishConvert {
...
@@ -126,6 +128,7 @@ public class BizAgentApplicationPublishConvert {
AgentApplicationKnowledgeConfig
knowledgeConfig
=
new
AgentApplicationKnowledgeConfig
();
AgentApplicationKnowledgeConfig
knowledgeConfig
=
new
AgentApplicationKnowledgeConfig
();
knowledgeConfig
.
setKnowledgeIds
(
entity
.
getKnowledgeIds
());
knowledgeConfig
.
setKnowledgeIds
(
entity
.
getKnowledgeIds
());
knowledgeConfig
.
setIsDocumentParsing
(
entity
.
getIsDocumentParsing
());
AgentApplicationCommModelConfig
commModelConfig
=
new
AgentApplicationCommModelConfig
();
AgentApplicationCommModelConfig
commModelConfig
=
new
AgentApplicationCommModelConfig
();
commModelConfig
.
setLargeModel
(
entity
.
getLargeModel
());
commModelConfig
.
setLargeModel
(
entity
.
getLargeModel
());
...
@@ -173,6 +176,7 @@ public class BizAgentApplicationPublishConvert {
...
@@ -173,6 +176,7 @@ public class BizAgentApplicationPublishConvert {
if
(
ObjectUtil
.
isNotEmpty
(
dto
.
getKnowledgeConfig
()))
{
if
(
ObjectUtil
.
isNotEmpty
(
dto
.
getKnowledgeConfig
()))
{
entity
.
setKnowledgeIds
(
dto
.
getKnowledgeConfig
().
getKnowledgeIds
());
entity
.
setKnowledgeIds
(
dto
.
getKnowledgeConfig
().
getKnowledgeIds
());
entity
.
setIsDocumentParsing
(
dto
.
getKnowledgeConfig
().
getIsDocumentParsing
());
}
}
if
(
ObjectUtil
.
isNotEmpty
(
dto
.
getCommModelConfig
()))
{
if
(
ObjectUtil
.
isNotEmpty
(
dto
.
getCommModelConfig
()))
{
...
...
src/main/java/cn/com/poc/agent_application/domain/AgentApplicationKnowledgeConfig.java
View file @
51d16f4b
...
@@ -18,4 +18,18 @@ public class AgentApplicationKnowledgeConfig {
...
@@ -18,4 +18,18 @@ public class AgentApplicationKnowledgeConfig {
public
void
setKnowledgeIds
(
java
.
lang
.
Integer
[]
knowledgeIds
)
{
public
void
setKnowledgeIds
(
java
.
lang
.
Integer
[]
knowledgeIds
)
{
this
.
knowledgeIds
=
knowledgeIds
;
this
.
knowledgeIds
=
knowledgeIds
;
}
}
/**
* is_document_parsing
* 是否开启文档解析 1、Y 是 2、N 否
*/
private
java
.
lang
.
String
isDocumentParsing
;
public
java
.
lang
.
String
getIsDocumentParsing
()
{
return
this
.
isDocumentParsing
;
}
public
void
setIsDocumentParsing
(
java
.
lang
.
String
isDocumentParsing
)
{
this
.
isDocumentParsing
=
isDocumentParsing
;
}
}
}
src/main/java/cn/com/poc/agent_application/dto/AgentApplicationPreviewDto.java
View file @
51d16f4b
...
@@ -19,6 +19,16 @@ public class AgentApplicationPreviewDto implements Serializable {
...
@@ -19,6 +19,16 @@ public class AgentApplicationPreviewDto implements Serializable {
private
List
<
Message
>
messages
;
private
List
<
Message
>
messages
;
private
List
<
String
>
fileUrls
;
public
List
<
String
>
getFileUrls
()
{
return
fileUrls
;
}
public
void
setFileUrls
(
List
<
String
>
fileUrls
)
{
this
.
fileUrls
=
fileUrls
;
}
public
Float
getTopP
()
{
public
Float
getTopP
()
{
return
topP
;
return
topP
;
}
}
...
...
src/main/java/cn/com/poc/agent_application/entity/BizAgentApplicationInfoEntity.java
View file @
51d16f4b
...
@@ -315,6 +315,19 @@ public class BizAgentApplicationInfoEntity {
...
@@ -315,6 +315,19 @@ public class BizAgentApplicationInfoEntity {
this
.
isLongMemory
=
isLongMemory
;
this
.
isLongMemory
=
isLongMemory
;
}
}
/**
* is_document_parsing
* 是否开启文档解析 1、Y 是 2、N 否
*/
private
java
.
lang
.
String
isDocumentParsing
;
public
java
.
lang
.
String
getIsDocumentParsing
()
{
return
this
.
isDocumentParsing
;
}
public
void
setIsDocumentParsing
(
java
.
lang
.
String
isDocumentParsing
)
{
this
.
isDocumentParsing
=
isDocumentParsing
;
}
/**
/**
* is_deleted
* is_deleted
...
...
src/main/java/cn/com/poc/agent_application/entity/BizAgentApplicationPublishEntity.java
View file @
51d16f4b
This diff is collapsed.
Click to expand it.
src/main/java/cn/com/poc/agent_application/model/BizAgentApplicationInfoModel.java
View file @
51d16f4b
...
@@ -377,7 +377,24 @@ public class BizAgentApplicationInfoModel extends BaseModelClass implements Seri
...
@@ -377,7 +377,24 @@ public class BizAgentApplicationInfoModel extends BaseModelClass implements Seri
this
.
isLongMemory
=
isLongMemory
;
this
.
isLongMemory
=
isLongMemory
;
super
.
addValidField
(
"isLongMemory"
);
super
.
addValidField
(
"isLongMemory"
);
}
}
/** is_document_parsing
*是否开启文档解析 1、Y 是 2、N 否
*/
private
java
.
lang
.
String
isDocumentParsing
;
@Column
(
name
=
"is_document_parsing"
,
length
=
1
)
public
java
.
lang
.
String
getIsDocumentParsing
(){
return
this
.
isDocumentParsing
;
}
public
void
setIsDocumentParsing
(
java
.
lang
.
String
isDocumentParsing
){
this
.
isDocumentParsing
=
isDocumentParsing
;
super
.
addValidField
(
"isDocumentParsing"
);
}
/** is_deleted
/** is_deleted
*是否删除 1、Y 是 2、N 否
*是否删除 1、Y 是 2、N 否
*/
*/
...
...
src/main/java/cn/com/poc/agent_application/model/BizAgentApplicationPublishModel.java
View file @
51d16f4b
...
@@ -344,6 +344,19 @@ public class BizAgentApplicationPublishModel extends BaseModelClass implements S
...
@@ -344,6 +344,19 @@ public class BizAgentApplicationPublishModel extends BaseModelClass implements S
super
.
addValidField
(
"isLongMemory"
);
super
.
addValidField
(
"isLongMemory"
);
}
}
private
java
.
lang
.
String
isDocumentParsing
;
@Column
(
name
=
"is_document_parsing"
,
length
=
1
)
public
java
.
lang
.
String
getIsDocumentParsing
(){
return
this
.
isDocumentParsing
;
}
public
void
setIsDocumentParsing
(
java
.
lang
.
String
isDocumentParsing
){
this
.
isDocumentParsing
=
isDocumentParsing
;
super
.
addValidField
(
"isDocumentParsing"
);
}
/** is_deleted
/** is_deleted
*是否删除 1、Y 是 2、N 否
*是否删除 1、Y 是 2、N 否
*/
*/
...
...
src/main/java/cn/com/poc/agent_application/query/AgentApplicationInfoQuery.sql
View file @
51d16f4b
...
@@ -21,6 +21,7 @@ select distinct
...
@@ -21,6 +21,7 @@ select distinct
unit_ids
,
unit_ids
,
variable_structure
,
variable_structure
,
is_long_memory
,
is_long_memory
,
is_document_parsing
,
is_deleted
,
is_deleted
,
CREATOR
,
CREATOR
,
CREATED_TIME
,
CREATED_TIME
,
...
...
src/main/java/cn/com/poc/agent_application/query/AgentApplicationInfoQueryItem.java
View file @
51d16f4b
...
@@ -285,18 +285,18 @@ public class AgentApplicationInfoQueryItem extends BaseItemClass implements Seri
...
@@ -285,18 +285,18 @@ public class AgentApplicationInfoQueryItem extends BaseItemClass implements Seri
}
}
/**
/*
* temperature
* temperature
*对话模型 温度 [0-1.00]
*
对话模型 温度 [0-1.00]
*/
*/
private
java
.
lang
.
Float
temperature
;
private
java
.
lang
.
Float
temperature
;
@Column
(
name
=
"temperature"
)
@Column
(
name
=
"temperature"
)
public
java
.
lang
.
Float
getTemperature
(){
public
java
.
lang
.
Float
getTemperature
()
{
return
this
.
temperature
;
return
this
.
temperature
;
}
}
public
void
setTemperature
(
java
.
lang
.
Float
temperature
){
public
void
setTemperature
(
java
.
lang
.
Float
temperature
)
{
this
.
temperature
=
temperature
;
this
.
temperature
=
temperature
;
}
}
...
@@ -347,6 +347,23 @@ public class AgentApplicationInfoQueryItem extends BaseItemClass implements Seri
...
@@ -347,6 +347,23 @@ public class AgentApplicationInfoQueryItem extends BaseItemClass implements Seri
this
.
isLongMemory
=
isLongMemory
;
this
.
isLongMemory
=
isLongMemory
;
}
}
/**
* is_document_parsing
* 是否开启文档解析 1、Y 是 2、N 否
*/
private
java
.
lang
.
String
isDocumentParsing
;
@Column
(
name
=
"is_document_parsing"
,
length
=
1
)
public
java
.
lang
.
String
getIsDocumentParsing
()
{
return
this
.
isDocumentParsing
;
}
public
void
setIsDocumentParsing
(
java
.
lang
.
String
isDocumentParsing
)
{
this
.
isDocumentParsing
=
isDocumentParsing
;
}
/**
/**
* is_deleted
* is_deleted
* is_deleted
* is_deleted
...
...
src/main/java/cn/com/poc/agent_application/rest/impl/AgentApplicationInfoRestImpl.java
View file @
51d16f4b
...
@@ -7,23 +7,19 @@ import cn.com.poc.agent_application.entity.*;
...
@@ -7,23 +7,19 @@ import cn.com.poc.agent_application.entity.*;
import
cn.com.poc.agent_application.query.AgentApplicationInfoQueryCondition
;
import
cn.com.poc.agent_application.query.AgentApplicationInfoQueryCondition
;
import
cn.com.poc.agent_application.rest.AgentApplicationInfoRest
;
import
cn.com.poc.agent_application.rest.AgentApplicationInfoRest
;
import
cn.com.poc.agent_application.service.*
;
import
cn.com.poc.agent_application.service.*
;
import
cn.com.poc.agent_application.utils.AgentApplication
Utils
;
import
cn.com.poc.agent_application.utils.AgentApplication
ToolsBuilder
;
import
cn.com.poc.common.annotation.RedisLimit
;
import
cn.com.poc.common.annotation.RedisLimit
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.service.RedisService
;
import
cn.com.poc.common.service.RedisService
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.knowledge.aggregate.KnowledgeService
;
import
cn.com.poc.knowledge.aggregate.KnowledgeService
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.LargeModelFunctionEnum
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.SetLongMemoryConstants
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.SetLongMemoryConstants
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.memory_variable_writer.GetMemoryVariable
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.memory_variable_writer.MemoryVariableWriter
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.value_memory.GetValueMemory
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.core.collection.ListUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -34,7 +30,6 @@ import javax.annotation.Resource;
...
@@ -34,7 +30,6 @@ import javax.annotation.Resource;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
import
java.io.PrintWriter
;
import
java.text.Collator
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -217,7 +212,7 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
...
@@ -217,7 +212,7 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
List
<
Integer
>
kdIds
=
knowledgeService
.
getKdIdsByKnowledgeInfoIds
(
infoEntity
.
getKnowledgeIds
());
List
<
Integer
>
kdIds
=
knowledgeService
.
getKdIdsByKnowledgeInfoIds
(
infoEntity
.
getKnowledgeIds
());
//配置对话function
//配置对话function
List
<
Tool
>
tools
=
AgentApplication
Utils
.
buildMemoryConfig
(
infoEntity
.
getVariableStructure
(),
infoEntity
.
getIsLongMemory
(),
dialogueId
,
agentId
);
List
<
Tool
>
tools
=
AgentApplication
ToolsBuilder
.
buildFunctionConfig
(
infoEntity
.
getVariableStructure
(),
infoEntity
.
getIsLongMemory
(),
dialogueId
,
agentId
,
infoEntity
.
getUnitIds
(),
infoEntity
.
getIsDocumentParsing
()
);
//对话大模型配置
//对话大模型配置
String
model
=
StringUtils
.
isNotBlank
(
dto
.
getModelNickName
())
?
dto
.
getModelNickName
()
:
infoEntity
.
getLargeModel
();
String
model
=
StringUtils
.
isNotBlank
(
dto
.
getModelNickName
())
?
dto
.
getModelNickName
()
:
infoEntity
.
getLargeModel
();
...
@@ -227,8 +222,8 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
...
@@ -227,8 +222,8 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
//调用应用服务
//调用应用服务
agentApplicationInfoService
.
callAgentApplication
(
agentId
,
dialogueId
,
model
,
agentApplicationInfoService
.
callAgentApplication
(
agentId
,
dialogueId
,
model
,
infoEntity
.
getUnitIds
(),
agentSystem
,
kdIds
.
toArray
(
new
Integer
[
0
]),
infoEntity
.
getCommunicationTurn
(),
topP
,
agentSystem
,
kdIds
.
toArray
(
new
Integer
[
0
]),
infoEntity
.
getCommunicationTurn
(),
topP
,
temperature
,
dto
.
getMessages
(),
tools
,
httpServletResponse
);
temperature
,
dto
.
getMessages
(),
tools
,
dto
.
getFileUrls
(),
httpServletResponse
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
httpServletResponse
.
setContentType
(
"text/event-stream"
);
httpServletResponse
.
setContentType
(
"text/event-stream"
);
PrintWriter
writer
=
httpServletResponse
.
getWriter
();
PrintWriter
writer
=
httpServletResponse
.
getWriter
();
...
@@ -319,7 +314,7 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
...
@@ -319,7 +314,7 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
public
List
<
AgentApplicationValueMemoryDto
>
getVariableList
(
String
agentId
)
{
public
List
<
AgentApplicationValueMemoryDto
>
getVariableList
(
String
agentId
)
{
List
<
AgentApplicationValueMemoryDto
>
result
=
new
ArrayList
<>();
List
<
AgentApplicationValueMemoryDto
>
result
=
new
ArrayList
<>();
BizAgentApplicationInfoEntity
infoEntity
=
bizAgentApplicationInfoService
.
getByAgentId
(
agentId
);
BizAgentApplicationInfoEntity
infoEntity
=
bizAgentApplicationInfoService
.
getByAgentId
(
agentId
);
Map
<
Object
,
Object
>
map
=
GetMemoryVariable
.
get
(
agentId
+
":"
+
agentId
);
Map
<
Object
,
Object
>
map
=
MemoryVariableWriter
.
get
(
agentId
+
":"
+
agentId
);
List
<
Variable
>
variableStructure
=
infoEntity
.
getVariableStructure
();
List
<
Variable
>
variableStructure
=
infoEntity
.
getVariableStructure
();
if
(
MapUtils
.
isEmpty
(
map
))
{
if
(
MapUtils
.
isEmpty
(
map
))
{
if
(
CollectionUtils
.
isEmpty
(
variableStructure
))
{
if
(
CollectionUtils
.
isEmpty
(
variableStructure
))
{
...
...
src/main/java/cn/com/poc/agent_application/service/impl/BizAgentApplicationInfoServiceImpl.java
View file @
51d16f4b
...
@@ -213,6 +213,7 @@ public class BizAgentApplicationInfoServiceImpl extends BaseServiceImpl
...
@@ -213,6 +213,7 @@ public class BizAgentApplicationInfoServiceImpl extends BaseServiceImpl
if
(
entity
.
getTemperature
()
!=
null
)
{
if
(
entity
.
getTemperature
()
!=
null
)
{
Assert
.
isTrue
(
entity
.
getTemperature
()
>
0
&&
entity
.
getTemperature
()
<=
1.0
,
"temperature is error,must greater than 0, less than or equal to 1.9"
);
Assert
.
isTrue
(
entity
.
getTemperature
()
>
0
&&
entity
.
getTemperature
()
<=
1.0
,
"temperature is error,must greater than 0, less than or equal to 1.9"
);
}
}
model
.
setIsDocumentParsing
(
entity
.
getIsDocumentParsing
());
model
.
setIsLongMemory
(
entity
.
getIsLongMemory
());
model
.
setIsLongMemory
(
entity
.
getIsLongMemory
());
model
.
setTemperature
(
entity
.
getTemperature
());
model
.
setTemperature
(
entity
.
getTemperature
());
model
.
setTopP
(
entity
.
getTopP
());
model
.
setTopP
(
entity
.
getTopP
());
...
...
src/main/java/cn/com/poc/agent_application/service/impl/BizAgentApplicationPublishServiceImpl.java
View file @
51d16f4b
...
@@ -190,5 +190,6 @@ public class BizAgentApplicationPublishServiceImpl extends BaseServiceImpl
...
@@ -190,5 +190,6 @@ public class BizAgentApplicationPublishServiceImpl extends BaseServiceImpl
if
(
ArrayUtils
.
isNotEmpty
(
entity
.
getUnitIds
()))
{
if
(
ArrayUtils
.
isNotEmpty
(
entity
.
getUnitIds
()))
{
model
.
setUnitIds
(
JsonUtils
.
serialize
(
entity
.
getUnitIds
()));
model
.
setUnitIds
(
JsonUtils
.
serialize
(
entity
.
getUnitIds
()));
}
}
model
.
setIsDocumentParsing
(
entity
.
getIsDocumentParsing
());
}
}
}
}
\ No newline at end of file
src/main/java/cn/com/poc/agent_application/utils/AgentApplication
Utils
.java
→
src/main/java/cn/com/poc/agent_application/utils/AgentApplication
ToolsBuilder
.java
View file @
51d16f4b
...
@@ -5,37 +5,41 @@ import cn.com.poc.common.constant.CommonConstant;
...
@@ -5,37 +5,41 @@ import cn.com.poc.common.constant.CommonConstant;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.LargeModelFunctionEnum
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.LargeModelFunctionEnum
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.memory_variable_writer.
GetMemoryVariable
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.memory_variable_writer.
MemoryVariableWriter
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.commons.lang.ArrayUtils
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
public
class
AgentApplicationUtils
{
public
class
AgentApplicationToolsBuilder
{
/**
/**
* 构造Agent应用
记忆
函数配置
* 构造Agent应用 函数配置
*
*
* @param variableStructures
* @param variableStructures 记忆变量
* @param isLongMemory
* @param isLongMemory 是否开启长期记忆
* @param identifier
* @param identifier 标识符
* @param agentId
* @param agentId 应用id
* @param unitIds 插件id
* @param isDocumentParsing 是否开启文档解析
* @return
* @return
*/
*/
public
static
List
<
Tool
>
build
MemoryConfig
(
List
<
Variable
>
variableStructures
,
String
isLongMemory
,
String
identifier
,
String
agentId
)
{
public
static
List
<
Tool
>
build
FunctionConfig
(
List
<
Variable
>
variableStructures
,
String
isLongMemory
,
String
identifier
,
String
agentId
,
String
[]
unitIds
,
String
isDocumentParsing
)
{
List
<
Tool
>
tools
=
new
ArrayList
<>();
List
<
Tool
>
tools
=
new
ArrayList
<>();
//开启对话变量
//开启对话变量
if
(
CollectionUtils
.
isNotEmpty
(
variableStructures
))
{
if
(
CollectionUtils
.
isNotEmpty
(
variableStructures
))
{
String
functionName
=
LargeModelFunctionEnum
.
memory_variable_writer
.
name
();
String
functionName
=
LargeModelFunctionEnum
.
memory_variable_writer
.
name
();
String
llmConfig
=
LargeModelFunctionEnum
.
valueOf
(
functionName
).
getFunction
().
get
VariableStructure
LLMConfig
(
variableStructures
).
get
(
0
);
String
llmConfig
=
LargeModelFunctionEnum
.
valueOf
(
functionName
).
getFunction
().
getLLMConfig
(
variableStructures
).
get
(
0
);
Tool
tool
=
JsonUtils
.
deSerialize
(
llmConfig
,
Tool
.
class
);
Tool
tool
=
JsonUtils
.
deSerialize
(
llmConfig
,
Tool
.
class
);
tools
.
add
(
tool
);
tools
.
add
(
tool
);
//初始化变量函数
//初始化变量函数
Map
<
Object
,
Object
>
map
=
GetMemoryVariable
.
get
(
identifier
+
":"
+
agentId
);
Map
<
Object
,
Object
>
map
=
MemoryVariableWriter
.
get
(
identifier
+
":"
+
agentId
);
if
(
MapUtils
.
isEmpty
(
map
))
{
if
(
MapUtils
.
isEmpty
(
map
))
{
List
<
Variable
>
variableStructure
=
variableStructures
;
List
<
Variable
>
variableStructure
=
variableStructures
;
for
(
Variable
variable
:
variableStructure
)
{
for
(
Variable
variable
:
variableStructure
)
{
...
@@ -55,7 +59,29 @@ public class AgentApplicationUtils {
...
@@ -55,7 +59,29 @@ public class AgentApplicationUtils {
Tool
tool
=
JsonUtils
.
deSerialize
(
llmConfig
,
Tool
.
class
);
Tool
tool
=
JsonUtils
.
deSerialize
(
llmConfig
,
Tool
.
class
);
tools
.
add
(
tool
);
tools
.
add
(
tool
);
}
}
//开启文档解析
if
(
CommonConstant
.
YOrN
.
Y
.
equals
(
isDocumentParsing
))
{
String
functionName
=
LargeModelFunctionEnum
.
document_reader
.
name
();
String
llmConfig
=
LargeModelFunctionEnum
.
valueOf
(
functionName
).
getFunction
().
getLLMConfig
().
get
(
0
);
Tool
tool
=
JsonUtils
.
deSerialize
(
llmConfig
,
Tool
.
class
);
tools
.
add
(
tool
);
}
//初始化插件函数
if
(
ArrayUtils
.
isNotEmpty
(
unitIds
))
{
for
(
String
unitId
:
unitIds
)
{
LargeModelFunctionEnum
modelFunctionEnum
=
LargeModelFunctionEnum
.
getFunction
(
unitId
);
if
(
modelFunctionEnum
==
null
)
{
continue
;
}
String
llmConfig
=
modelFunctionEnum
.
getFunction
().
getLLMConfig
().
get
(
0
);
Tool
tool
=
JsonUtils
.
deSerialize
(
llmConfig
,
Tool
.
class
);
tools
.
add
(
tool
);
}
}
return
tools
;
return
tools
;
}
}
}
}
src/main/java/cn/com/poc/common/utils/DocumentLoad.java
View file @
51d16f4b
...
@@ -131,4 +131,31 @@ public class DocumentLoad {
...
@@ -131,4 +131,31 @@ public class DocumentLoad {
doc
.
close
();
doc
.
close
();
return
stringBuilder
.
toString
();
return
stringBuilder
.
toString
();
}
}
public
static
File
downloadURLDocument
(
String
path
)
{
// 下载网络文件
int
bytesum
=
0
;
int
byteread
=
0
;
try
{
URL
url
=
new
URL
(
path
);
URLConnection
conn
=
url
.
openConnection
();
String
[]
split
=
url
.
getFile
().
split
(
"\\."
);
String
suffix
=
split
[
split
.
length
-
1
];
File
tempFile
=
File
.
createTempFile
(
UUIDTool
.
getUUID
(),
"."
+
suffix
);
FileOutputStream
fs
=
new
FileOutputStream
(
tempFile
);
InputStream
inStream
=
conn
.
getInputStream
();
byte
[]
buffer
=
new
byte
[
1024
];
while
((
byteread
=
inStream
.
read
(
buffer
))
!=
-
1
)
{
bytesum
+=
byteread
;
fs
.
write
(
buffer
,
0
,
byteread
);
}
fs
.
close
();
return
tempFile
;
}
catch
(
IOException
e
)
{
throw
new
I18nMessageException
(
"exception/file.load.error"
);
}
}
}
}
src/main/java/cn/com/poc/expose/aggregate/AgentApplicationService.java
View file @
51d16f4b
...
@@ -10,8 +10,13 @@ public interface AgentApplicationService {
...
@@ -10,8 +10,13 @@ public interface AgentApplicationService {
/**
/**
* 调用 已发布Agent应用
* 调用 已发布Agent应用
*
* @param agentId 应用ID
* @param dialogsId 对话ID
* @param input 用户输入
* @param fileUrls 文件URL
*/
*/
void
callAgentApplication
(
String
agentId
,
String
dialogsId
,
String
input
,
HttpServletResponse
httpServletResponse
)
throws
Exception
;
void
callAgentApplication
(
String
agentId
,
String
dialogsId
,
String
input
,
List
<
String
>
fileUrls
,
HttpServletResponse
httpServletResponse
)
throws
Exception
;
/**
/**
* 追问AI生成
* 追问AI生成
...
@@ -24,7 +29,7 @@ public interface AgentApplicationService {
...
@@ -24,7 +29,7 @@ public interface AgentApplicationService {
/**
/**
* [首页] 获取推荐问
* [首页] 获取推荐问
*
*
* @param xlang 语言 zh-cn 中文简体 en 英文 zh-tw 中文繁体
* @param xlang
语言 zh-cn 中文简体 en 英文 zh-tw 中文繁体
* @param memberId 用户ID
* @param memberId 用户ID
*/
*/
List
<
String
>
getRecommendQuestions
(
String
xlang
,
Long
memberId
)
throws
InterruptedException
;
List
<
String
>
getRecommendQuestions
(
String
xlang
,
Long
memberId
)
throws
InterruptedException
;
...
...
src/main/java/cn/com/poc/expose/aggregate/impl/AgentApplicationServiceImpl.java
View file @
51d16f4b
...
@@ -13,7 +13,7 @@ import cn.com.poc.agent_application.service.BizAgentApplicationDialoguesRecordSe
...
@@ -13,7 +13,7 @@ import cn.com.poc.agent_application.service.BizAgentApplicationDialoguesRecordSe
import
cn.com.poc.agent_application.service.BizAgentApplicationGcConfigService
;
import
cn.com.poc.agent_application.service.BizAgentApplicationGcConfigService
;
import
cn.com.poc.agent_application.service.BizAgentApplicationPublishService
;
import
cn.com.poc.agent_application.service.BizAgentApplicationPublishService
;
import
cn.com.poc.agent_application.service.BizMemberAgentApplicationCollectService
;
import
cn.com.poc.agent_application.service.BizMemberAgentApplicationCollectService
;
import
cn.com.poc.agent_application.utils.AgentApplication
Utils
;
import
cn.com.poc.agent_application.utils.AgentApplication
ToolsBuilder
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.constant.XLangConstant
;
import
cn.com.poc.common.constant.XLangConstant
;
import
cn.com.poc.common.service.RedisService
;
import
cn.com.poc.common.service.RedisService
;
...
@@ -29,7 +29,7 @@ import cn.com.poc.thirdparty.resource.demand.ai.constants.LLMRoleEnum;
...
@@ -29,7 +29,7 @@ import cn.com.poc.thirdparty.resource.demand.ai.constants.LLMRoleEnum;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelDemandResult
;
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.resource.demand.ai.entity.largemodel.LargeModelResponse
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.LargeModelFunctionEnum
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.LargeModelFunctionEnum
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.memory_variable_writer.
GetMemoryVariable
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.memory_variable_writer.
MemoryVariableWriter
;
import
cn.com.poc.thirdparty.service.LLMService
;
import
cn.com.poc.thirdparty.service.LLMService
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
...
@@ -87,7 +87,7 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
...
@@ -87,7 +87,7 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
private
RedisService
redisService
;
private
RedisService
redisService
;
@Override
@Override
public
void
callAgentApplication
(
String
agentId
,
String
dialogsId
,
String
input
,
HttpServletResponse
httpServletResponse
)
{
public
void
callAgentApplication
(
String
agentId
,
String
dialogsId
,
String
input
,
List
<
String
>
fileUrls
,
HttpServletResponse
httpServletResponse
)
{
UserBaseEntity
userBaseEntity
=
BlContext
.
getCurrentUserNotException
();
UserBaseEntity
userBaseEntity
=
BlContext
.
getCurrentUserNotException
();
if
(
userBaseEntity
==
null
)
{
if
(
userBaseEntity
==
null
)
{
...
@@ -112,9 +112,6 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
...
@@ -112,9 +112,6 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
// 构造对话参数
// 构造对话参数
List
<
Message
>
messages
=
buildMessages
(
dialogsId
,
agentId
,
userBaseEntity
.
getUserId
(),
input
);
List
<
Message
>
messages
=
buildMessages
(
dialogsId
,
agentId
,
userBaseEntity
.
getUserId
(),
input
);
//配置对话function
List
<
Tool
>
tools
=
AgentApplicationUtils
.
buildMemoryConfig
(
infoEntity
.
getVariableStructure
(),
infoEntity
.
getIsLongMemory
(),
dialogsId
,
agentId
);
// 保存用户输入记录
// 保存用户输入记录
Long
inputTimestamp
=
System
.
currentTimeMillis
();
Long
inputTimestamp
=
System
.
currentTimeMillis
();
BizAgentApplicationDialoguesRecordEntity
inputRecord
=
new
BizAgentApplicationDialoguesRecordEntity
();
BizAgentApplicationDialoguesRecordEntity
inputRecord
=
new
BizAgentApplicationDialoguesRecordEntity
();
...
@@ -126,6 +123,9 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
...
@@ -126,6 +123,9 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
inputRecord
.
setTimestamp
(
inputTimestamp
);
inputRecord
.
setTimestamp
(
inputTimestamp
);
bizAgentApplicationDialoguesRecordService
.
save
(
inputRecord
);
bizAgentApplicationDialoguesRecordService
.
save
(
inputRecord
);
//配置对话function
List
<
Tool
>
tools
=
AgentApplicationToolsBuilder
.
buildFunctionConfig
(
infoEntity
.
getVariableStructure
(),
infoEntity
.
getIsLongMemory
(),
dialogsId
,
agentId
,
infoEntity
.
getUnitIds
(),
infoEntity
.
getIsDocumentParsing
());
// 记录输出时间戳
// 记录输出时间戳
BizAgentApplicationDialoguesRecordEntity
outputRecord
=
new
BizAgentApplicationDialoguesRecordEntity
();
BizAgentApplicationDialoguesRecordEntity
outputRecord
=
new
BizAgentApplicationDialoguesRecordEntity
();
...
@@ -137,8 +137,8 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
...
@@ -137,8 +137,8 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
//对话
//对话
String
output
=
agentApplicationInfoService
.
callAgentApplication
(
agentId
,
dialogsId
,
infoEntity
.
getLargeModel
(),
String
output
=
agentApplicationInfoService
.
callAgentApplication
(
agentId
,
dialogsId
,
infoEntity
.
getLargeModel
(),
infoEntity
.
get
UnitIds
(),
infoEntity
.
get
AgentSystem
(),
kdIdList
.
toArray
(
new
Integer
[
0
]),
infoEntity
.
getCommunicationTurn
(),
infoEntity
.
getAgentSystem
(),
kdIdList
.
toArray
(
new
Integer
[
0
]),
infoEntity
.
getCommunicationTurn
(),
infoEntity
.
getTopP
(),
infoEntity
.
getTemperature
(),
messages
,
tools
,
httpServletResponse
);
infoEntity
.
getTopP
(),
infoEntity
.
getTemperature
(),
messages
,
tools
,
fileUrls
,
httpServletResponse
);
//保存对话记录
//保存对话记录
outputRecord
.
setContent
(
output
);
outputRecord
.
setContent
(
output
);
...
@@ -382,12 +382,12 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
...
@@ -382,12 +382,12 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
//开启对话变量
//开启对话变量
if
(
CollectionUtils
.
isNotEmpty
(
infoEntity
.
getVariableStructure
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
infoEntity
.
getVariableStructure
()))
{
String
functionName
=
LargeModelFunctionEnum
.
memory_variable_writer
.
name
();
String
functionName
=
LargeModelFunctionEnum
.
memory_variable_writer
.
name
();
String
llmConfig
=
LargeModelFunctionEnum
.
valueOf
(
functionName
).
getFunction
().
get
VariableStructure
LLMConfig
(
infoEntity
.
getVariableStructure
()).
get
(
0
);
String
llmConfig
=
LargeModelFunctionEnum
.
valueOf
(
functionName
).
getFunction
().
getLLMConfig
(
infoEntity
.
getVariableStructure
()).
get
(
0
);
Tool
tool
=
JsonUtils
.
deSerialize
(
llmConfig
,
Tool
.
class
);
Tool
tool
=
JsonUtils
.
deSerialize
(
llmConfig
,
Tool
.
class
);
tools
.
add
(
tool
);
tools
.
add
(
tool
);
//初始化变量函数
//初始化变量函数
Map
<
Object
,
Object
>
map
=
GetMemoryVariable
.
get
(
identifier
+
":"
+
infoEntity
.
getAgentId
());
Map
<
Object
,
Object
>
map
=
MemoryVariableWriter
.
get
(
identifier
+
":"
+
infoEntity
.
getAgentId
());
if
(
MapUtils
.
isEmpty
(
map
))
{
if
(
MapUtils
.
isEmpty
(
map
))
{
List
<
Variable
>
variableStructure
=
infoEntity
.
getVariableStructure
();
List
<
Variable
>
variableStructure
=
infoEntity
.
getVariableStructure
();
for
(
Variable
variable
:
variableStructure
)
{
for
(
Variable
variable
:
variableStructure
)
{
...
...
src/main/java/cn/com/poc/expose/dto/AgentApplicationDto.java
View file @
51d16f4b
package
cn
.
com
.
poc
.
expose
.
dto
;
package
cn
.
com
.
poc
.
expose
.
dto
;
import
java.util.List
;
public
class
AgentApplicationDto
{
public
class
AgentApplicationDto
{
private
String
dialogsId
;
private
String
dialogsId
;
...
@@ -32,4 +34,13 @@ public class AgentApplicationDto {
...
@@ -32,4 +34,13 @@ public class AgentApplicationDto {
this
.
input
=
input
;
this
.
input
=
input
;
}
}
private
List
<
String
>
fileUrls
;
public
List
<
String
>
getFileUrls
()
{
return
fileUrls
;
}
public
void
setFileUrls
(
List
<
String
>
fileUrls
)
{
this
.
fileUrls
=
fileUrls
;
}
}
}
src/main/java/cn/com/poc/expose/rest/impl/AgentApplicationRestImpl.java
View file @
51d16f4b
...
@@ -104,7 +104,7 @@ public class AgentApplicationRestImpl implements AgentApplicationRest {
...
@@ -104,7 +104,7 @@ public class AgentApplicationRestImpl implements AgentApplicationRest {
Assert
.
notNull
(
dto
.
getAgentId
());
Assert
.
notNull
(
dto
.
getAgentId
());
Assert
.
notNull
(
dto
.
getDialogsId
());
Assert
.
notNull
(
dto
.
getDialogsId
());
try
{
try
{
agentApplicationService
.
callAgentApplication
(
dto
.
getAgentId
(),
dto
.
getDialogsId
(),
dto
.
getInput
(),
httpServletResponse
);
agentApplicationService
.
callAgentApplication
(
dto
.
getAgentId
(),
dto
.
getDialogsId
(),
dto
.
getInput
(),
dto
.
getFileUrls
(),
httpServletResponse
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
httpServletResponse
.
setContentType
(
"text/event-stream"
);
httpServletResponse
.
setContentType
(
"text/event-stream"
);
PrintWriter
writer
=
httpServletResponse
.
getWriter
();
PrintWriter
writer
=
httpServletResponse
.
getWriter
();
...
...
src/main/java/cn/com/poc/support/dgTools/DgtoolsAbstractHttpClient.java
View file @
51d16f4b
...
@@ -3,7 +3,7 @@ package cn.com.poc.support.dgTools;
...
@@ -3,7 +3,7 @@ package cn.com.poc.support.dgTools;
import
cn.com.poc.common.constant.FmxParamConfigConstant
;
import
cn.com.poc.common.constant.FmxParamConfigConstant
;
import
cn.com.poc.common.utils.ListUtils
;
import
cn.com.poc.common.utils.ListUtils
;
import
cn.com.poc.common.utils.http.LocalHttpClient
;
import
cn.com.poc.common.utils.http.LocalHttpClient
;
import
cn.com.poc.thirdparty.resource.demand.ai.
common.DgtoolsApiConstants
;
import
cn.com.poc.thirdparty.resource.demand.ai.
route.DgtoolsApiRoute
;
import
cn.com.poc.support.dgTools.request.AbstractParam
;
import
cn.com.poc.support.dgTools.request.AbstractParam
;
import
cn.com.poc.support.dgTools.request.AbstractRequest
;
import
cn.com.poc.support.dgTools.request.AbstractRequest
;
import
cn.com.poc.support.dgTools.request.ProjectTokenRequest
;
import
cn.com.poc.support.dgTools.request.ProjectTokenRequest
;
...
@@ -117,8 +117,8 @@ public class DgtoolsAbstractHttpClient {
...
@@ -117,8 +117,8 @@ public class DgtoolsAbstractHttpClient {
}
}
HttpUriRequest
httpUriRequest
=
post
HttpUriRequest
httpUriRequest
=
post
.
setHeader
(
DgtoolsApi
Constants
.
JSON_HEADER
)
.
setHeader
(
DgtoolsApi
Route
.
JSON_HEADER
)
.
setUri
(
dgtoolsDomainurl
+
DgtoolsApi
Constants
.
BASE_URL
+
url
)
.
setUri
(
dgtoolsDomainurl
+
DgtoolsApi
Route
.
BASE_URL
+
url
)
.
setEntity
(
new
StringEntity
(
json
,
StandardCharsets
.
UTF_8
))
.
setEntity
(
new
StringEntity
(
json
,
StandardCharsets
.
UTF_8
))
.
build
();
.
build
();
DgtoolsApiResult
dgtoolsApiResult
=
LocalHttpClient
.
executeJsonResult
(
httpUriRequest
,
DgtoolsApiResult
.
class
);
DgtoolsApiResult
dgtoolsApiResult
=
LocalHttpClient
.
executeJsonResult
(
httpUriRequest
,
DgtoolsApiResult
.
class
);
...
...
src/main/java/cn/com/poc/support/dgTools/service/impl/AuthorizationServiceImpl.java
View file @
51d16f4b
...
@@ -4,7 +4,7 @@ import cn.com.poc.common.constant.FmxParamConfigConstant;
...
@@ -4,7 +4,7 @@ import cn.com.poc.common.constant.FmxParamConfigConstant;
import
cn.com.poc.common.constant.MkpRedisKeyConstant
;
import
cn.com.poc.common.constant.MkpRedisKeyConstant
;
import
cn.com.poc.common.service.RedisService
;
import
cn.com.poc.common.service.RedisService
;
import
cn.com.poc.support.dgTools.DgtoolsAbstractHttpClient
;
import
cn.com.poc.support.dgTools.DgtoolsAbstractHttpClient
;
import
cn.com.poc.thirdparty.resource.demand.ai.
common.DgtoolsApiConstants
;
import
cn.com.poc.thirdparty.resource.demand.ai.
route.DgtoolsApiRoute
;
import
cn.com.poc.support.dgTools.request.ProjectTokenRequest
;
import
cn.com.poc.support.dgTools.request.ProjectTokenRequest
;
import
cn.com.poc.support.dgTools.result.ProjectTokenResult
;
import
cn.com.poc.support.dgTools.result.ProjectTokenResult
;
import
cn.com.poc.support.dgTools.service.AuthorizationService
;
import
cn.com.poc.support.dgTools.service.AuthorizationService
;
...
@@ -51,8 +51,8 @@ public class AuthorizationServiceImpl implements AuthorizationService {
...
@@ -51,8 +51,8 @@ public class AuthorizationServiceImpl implements AuthorizationService {
request
.
setProjectKey
(
projectKey
);
request
.
setProjectKey
(
projectKey
);
request
.
setProjectSecret
(
projectSecret
);
request
.
setProjectSecret
(
projectSecret
);
List
<
Header
>
headers
=
new
ArrayList
<>();
List
<
Header
>
headers
=
new
ArrayList
<>();
headers
.
add
(
DgtoolsApi
Constants
.
PAY_HEADER
);
headers
.
add
(
DgtoolsApi
Route
.
PAY_HEADER
);
ProjectTokenResult
projectTokenResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
GET_APP_TOKEN
,
request
,
headers
);
ProjectTokenResult
projectTokenResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
GET_APP_TOKEN
,
request
,
headers
);
return
projectTokenResult
.
getAppToken
();
return
projectTokenResult
.
getAppToken
();
}
}
...
...
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/aggregate/impl/AICreateImageServiceImpl.java
View file @
51d16f4b
...
@@ -8,7 +8,7 @@ import cn.com.poc.thirdparty.resource.demand.ai.entity.OpenAiResult;
...
@@ -8,7 +8,7 @@ import cn.com.poc.thirdparty.resource.demand.ai.entity.OpenAiResult;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.generations.*
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.generations.*
;
import
cn.com.poc.thirdparty.resource.demand.member.service.DemandAuthService
;
import
cn.com.poc.thirdparty.resource.demand.member.service.DemandAuthService
;
import
cn.com.poc.support.dgTools.DgtoolsAbstractHttpClient
;
import
cn.com.poc.support.dgTools.DgtoolsAbstractHttpClient
;
import
cn.com.poc.thirdparty.resource.demand.ai.
common.DgtoolsApiConstants
;
import
cn.com.poc.thirdparty.resource.demand.ai.
route.DgtoolsApiRoute
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
...
@@ -84,10 +84,10 @@ public class AICreateImageServiceImpl implements AICreateImageService {
...
@@ -84,10 +84,10 @@ public class AICreateImageServiceImpl implements AICreateImageService {
Assert
.
isTrue
(
request
.
getN
()
<=
10
&&
request
.
getN
()
>=
1
,
"The number of images to generate. Must be between 1 and 10."
);
Assert
.
isTrue
(
request
.
getN
()
<=
10
&&
request
.
getN
()
>=
1
,
"The number of images to generate. Must be between 1 and 10."
);
List
<
Header
>
headers
=
new
ArrayList
<>();
List
<
Header
>
headers
=
new
ArrayList
<>();
headers
.
add
(
DgtoolsApi
Constants
.
JSON_HEADER
);
headers
.
add
(
DgtoolsApi
Route
.
JSON_HEADER
);
headers
.
add
(
DgtoolsApi
Constants
.
AI_HEADER
);
headers
.
add
(
DgtoolsApi
Route
.
AI_HEADER
);
headers
.
add
(
new
BasicHeader
(
DgtoolsApi
Constants
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
headers
.
add
(
new
BasicHeader
(
DgtoolsApi
Route
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
OpenAiResult
openAiResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
AI_OPENAI_CREATE_IMAGE
,
request
,
headers
);
OpenAiResult
openAiResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
AI_OPENAI_CREATE_IMAGE
,
request
,
headers
);
if
(
openAiResult
!=
null
)
{
if
(
openAiResult
!=
null
)
{
GenerationsResult
generationsResult
=
JSONObject
.
parseObject
(
openAiResult
.
getMessage
(),
GenerationsResult
.
class
);
GenerationsResult
generationsResult
=
JSONObject
.
parseObject
(
openAiResult
.
getMessage
(),
GenerationsResult
.
class
);
return
generationsResult
;
return
generationsResult
;
...
@@ -114,10 +114,10 @@ public class AICreateImageServiceImpl implements AICreateImageService {
...
@@ -114,10 +114,10 @@ public class AICreateImageServiceImpl implements AICreateImageService {
Assert
.
isTrue
(
request
.
getNum
()
<=
6
&&
request
.
getNum
()
>=
1
,
"图片生成数量,支持1-6张"
);
Assert
.
isTrue
(
request
.
getNum
()
<=
6
&&
request
.
getNum
()
>=
1
,
"图片生成数量,支持1-6张"
);
List
<
Header
>
headers
=
new
ArrayList
<>();
List
<
Header
>
headers
=
new
ArrayList
<>();
headers
.
add
(
DgtoolsApi
Constants
.
JSON_HEADER
);
headers
.
add
(
DgtoolsApi
Route
.
JSON_HEADER
);
headers
.
add
(
DgtoolsApi
Constants
.
AI_HEADER
);
headers
.
add
(
DgtoolsApi
Route
.
AI_HEADER
);
headers
.
add
(
new
BasicHeader
(
DgtoolsApi
Constants
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
headers
.
add
(
new
BasicHeader
(
DgtoolsApi
Route
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
BaiduGetImageResult
baiduGetImageResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
AI_BAIDU_CREATE_IMAGE
,
request
,
headers
);
BaiduGetImageResult
baiduGetImageResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
AI_BAIDU_CREATE_IMAGE
,
request
,
headers
);
if
(
baiduGetImageResult
!=
null
)
{
if
(
baiduGetImageResult
!=
null
)
{
GenerationsResult
generationsResult
=
new
GenerationsResult
();
GenerationsResult
generationsResult
=
new
GenerationsResult
();
List
<
ImgUrl
>
imgUrls
=
baiduGetImageResult
.
getData
().
getImgUrls
();
List
<
ImgUrl
>
imgUrls
=
baiduGetImageResult
.
getData
().
getImgUrls
();
...
@@ -150,10 +150,10 @@ public class AICreateImageServiceImpl implements AICreateImageService {
...
@@ -150,10 +150,10 @@ public class AICreateImageServiceImpl implements AICreateImageService {
}
}
List
<
Header
>
headers
=
new
ArrayList
<>();
List
<
Header
>
headers
=
new
ArrayList
<>();
headers
.
add
(
DgtoolsApi
Constants
.
JSON_HEADER
);
headers
.
add
(
DgtoolsApi
Route
.
JSON_HEADER
);
headers
.
add
(
DgtoolsApi
Constants
.
AI_HEADER
);
headers
.
add
(
DgtoolsApi
Route
.
AI_HEADER
);
headers
.
add
(
new
BasicHeader
(
DgtoolsApi
Constants
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
headers
.
add
(
new
BasicHeader
(
DgtoolsApi
Route
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
BaiduGetImageV2Result
baiduGetImageV2Result
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
AI_BAIDU_CREATE_IMAGE_V2
,
request
,
headers
);
BaiduGetImageV2Result
baiduGetImageV2Result
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
AI_BAIDU_CREATE_IMAGE_V2
,
request
,
headers
);
if
(
baiduGetImageV2Result
!=
null
)
{
if
(
baiduGetImageV2Result
!=
null
)
{
if
(
FAILED
.
equals
(
baiduGetImageV2Result
.
getData
().
getTaskStatus
()))
{
if
(
FAILED
.
equals
(
baiduGetImageV2Result
.
getData
().
getTaskStatus
()))
{
...
@@ -195,10 +195,10 @@ public class AICreateImageServiceImpl implements AICreateImageService {
...
@@ -195,10 +195,10 @@ public class AICreateImageServiceImpl implements AICreateImageService {
Assert
.
notNull
(
request
.
getPrompt
(),
"文生图配置异常,请联系开发人员"
);
Assert
.
notNull
(
request
.
getPrompt
(),
"文生图配置异常,请联系开发人员"
);
List
<
Header
>
headers
=
new
ArrayList
<>();
List
<
Header
>
headers
=
new
ArrayList
<>();
headers
.
add
(
DgtoolsApi
Constants
.
JSON_HEADER
);
headers
.
add
(
DgtoolsApi
Route
.
JSON_HEADER
);
headers
.
add
(
DgtoolsApi
Constants
.
AI_HEADER
);
headers
.
add
(
DgtoolsApi
Route
.
AI_HEADER
);
headers
.
add
(
new
BasicHeader
(
DgtoolsApi
Constants
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
headers
.
add
(
new
BasicHeader
(
DgtoolsApi
Route
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
BaiduAISailsText2ImageResult
imageResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
AI_BAIDU_SAILS_TEXT_CREATE_IMAGE
,
request
,
headers
);
BaiduAISailsText2ImageResult
imageResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
AI_BAIDU_SAILS_TEXT_CREATE_IMAGE
,
request
,
headers
);
if
(
imageResult
==
null
)
{
if
(
imageResult
==
null
)
{
throw
new
I18nMessageException
(
"exception/middle.platform.is.unresponsive"
);
throw
new
I18nMessageException
(
"exception/middle.platform.is.unresponsive"
);
}
}
...
@@ -234,10 +234,10 @@ public class AICreateImageServiceImpl implements AICreateImageService {
...
@@ -234,10 +234,10 @@ public class AICreateImageServiceImpl implements AICreateImageService {
String
jsonBody
=
dgToolsAbstractHttpClient
.
buildJson
(
request
);
String
jsonBody
=
dgToolsAbstractHttpClient
.
buildJson
(
request
);
CloseableHttpClient
httpClient
=
HttpClients
.
createDefault
();
CloseableHttpClient
httpClient
=
HttpClients
.
createDefault
();
CloseableHttpResponse
httpResponse
=
httpClient
.
execute
(
RequestBuilder
.
create
(
POST
)
CloseableHttpResponse
httpResponse
=
httpClient
.
execute
(
RequestBuilder
.
create
(
POST
)
.
setUri
(
DOMAIN_URL
+
DgtoolsApi
Constants
.
BASE_URL
+
DgtoolsApiConstants
.
DgtoolsAI
.
AI_BAIDU_SAILS_IMAGE_CREATE_TEXT
)
.
setUri
(
DOMAIN_URL
+
DgtoolsApi
Route
.
BASE_URL
+
DgtoolsApiRoute
.
DgtoolsAI
.
AI_BAIDU_SAILS_IMAGE_CREATE_TEXT
)
.
addHeader
(
DgtoolsApi
Constants
.
JSON_HEADER
)
.
addHeader
(
DgtoolsApi
Route
.
JSON_HEADER
)
.
addHeader
(
DgtoolsApi
Constants
.
AI_HEADER
)
.
addHeader
(
DgtoolsApi
Route
.
AI_HEADER
)
.
addHeader
(
new
BasicHeader
(
DgtoolsApi
Constants
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()))
.
addHeader
(
new
BasicHeader
(
DgtoolsApi
Route
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()))
.
setEntity
(
new
StringEntity
(
jsonBody
,
StandardCharsets
.
UTF_8
))
.
setEntity
(
new
StringEntity
(
jsonBody
,
StandardCharsets
.
UTF_8
))
.
build
()
.
build
()
);
);
...
...
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/aggregate/impl/AIDialogueServiceImpl.java
View file @
51d16f4b
...
@@ -8,7 +8,7 @@ import cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelDema
...
@@ -8,7 +8,7 @@ import cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelDema
import
cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelResponse
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelResponse
;
import
cn.com.poc.thirdparty.resource.demand.member.service.DemandAuthService
;
import
cn.com.poc.thirdparty.resource.demand.member.service.DemandAuthService
;
import
cn.com.poc.support.dgTools.DgtoolsAbstractHttpClient
;
import
cn.com.poc.support.dgTools.DgtoolsAbstractHttpClient
;
import
cn.com.poc.thirdparty.resource.demand.ai.
common.DgtoolsApiConstants
;
import
cn.com.poc.thirdparty.resource.demand.ai.
route.DgtoolsApiRoute
;
import
org.apache.http.Header
;
import
org.apache.http.Header
;
import
org.apache.http.client.methods.CloseableHttpResponse
;
import
org.apache.http.client.methods.CloseableHttpResponse
;
import
org.apache.http.client.methods.RequestBuilder
;
import
org.apache.http.client.methods.RequestBuilder
;
...
@@ -70,12 +70,12 @@ public class AIDialogueServiceImpl implements AIDialogueService {
...
@@ -70,12 +70,12 @@ public class AIDialogueServiceImpl implements AIDialogueService {
@Override
@Override
public
FunctionCallResult
functionCall
(
FunctionCallResponse
response
)
{
public
FunctionCallResult
functionCall
(
FunctionCallResponse
response
)
{
String
url
=
DgtoolsApi
Constants
.
DgtoolsAI
.
FUNCTION_CALL
;
String
url
=
DgtoolsApi
Route
.
DgtoolsAI
.
FUNCTION_CALL
;
response
.
setApiKey
(
API_KEY
);
response
.
setApiKey
(
API_KEY
);
List
<
Header
>
headers
=
new
ArrayList
<
Header
>()
{{
List
<
Header
>
headers
=
new
ArrayList
<
Header
>()
{{
add
(
DgtoolsApi
Constants
.
JSON_HEADER
);
add
(
DgtoolsApi
Route
.
JSON_HEADER
);
add
(
DgtoolsApi
Constants
.
AI_HEADER
);
add
(
DgtoolsApi
Route
.
AI_HEADER
);
add
(
new
BasicHeader
(
DgtoolsApi
Constants
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
add
(
new
BasicHeader
(
DgtoolsApi
Route
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
}};
}};
return
dgToolsAbstractHttpClient
.
doRequest
(
url
,
response
,
headers
);
return
dgToolsAbstractHttpClient
.
doRequest
(
url
,
response
,
headers
);
}
}
...
@@ -84,10 +84,10 @@ public class AIDialogueServiceImpl implements AIDialogueService {
...
@@ -84,10 +84,10 @@ public class AIDialogueServiceImpl implements AIDialogueService {
String
jsonBody
=
dgToolsAbstractHttpClient
.
buildJson
(
request
);
String
jsonBody
=
dgToolsAbstractHttpClient
.
buildJson
(
request
);
CloseableHttpClient
httpClient
=
HttpClients
.
createDefault
();
CloseableHttpClient
httpClient
=
HttpClients
.
createDefault
();
CloseableHttpResponse
httpResponse
=
httpClient
.
execute
(
RequestBuilder
.
create
(
POST
)
CloseableHttpResponse
httpResponse
=
httpClient
.
execute
(
RequestBuilder
.
create
(
POST
)
.
setUri
(
DOMAIN_URL
+
DgtoolsApi
Constants
.
BASE_URL
+
DgtoolsApiConstants
.
DgtoolsAI
.
LARGE_MODEL
)
.
setUri
(
DOMAIN_URL
+
DgtoolsApi
Route
.
BASE_URL
+
DgtoolsApiRoute
.
DgtoolsAI
.
LARGE_MODEL
)
.
addHeader
(
DgtoolsApi
Constants
.
JSON_HEADER
)
.
addHeader
(
DgtoolsApi
Route
.
JSON_HEADER
)
.
addHeader
(
DgtoolsApi
Constants
.
AI_HEADER
)
.
addHeader
(
DgtoolsApi
Route
.
AI_HEADER
)
.
addHeader
(
new
BasicHeader
(
DgtoolsApi
Constants
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()))
.
addHeader
(
new
BasicHeader
(
DgtoolsApi
Route
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()))
.
setEntity
(
new
StringEntity
(
jsonBody
,
StandardCharsets
.
UTF_8
))
.
setEntity
(
new
StringEntity
(
jsonBody
,
StandardCharsets
.
UTF_8
))
.
build
()
.
build
()
);
);
...
@@ -97,11 +97,11 @@ public class AIDialogueServiceImpl implements AIDialogueService {
...
@@ -97,11 +97,11 @@ public class AIDialogueServiceImpl implements AIDialogueService {
}
}
private
LargeModelDemandResult
largeModelRequest
(
LargeModelDemandResponse
request
)
{
private
LargeModelDemandResult
largeModelRequest
(
LargeModelDemandResponse
request
)
{
String
url
=
DgtoolsApi
Constants
.
DgtoolsAI
.
LARGE_MODEL
;
String
url
=
DgtoolsApi
Route
.
DgtoolsAI
.
LARGE_MODEL
;
List
<
Header
>
headers
=
new
ArrayList
<
Header
>()
{{
List
<
Header
>
headers
=
new
ArrayList
<
Header
>()
{{
add
(
DgtoolsApi
Constants
.
JSON_HEADER
);
add
(
DgtoolsApi
Route
.
JSON_HEADER
);
add
(
DgtoolsApi
Constants
.
AI_HEADER
);
add
(
DgtoolsApi
Route
.
AI_HEADER
);
add
(
new
BasicHeader
(
DgtoolsApi
Constants
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
add
(
new
BasicHeader
(
DgtoolsApi
Route
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
}};
}};
return
dgToolsAbstractHttpClient
.
doRequest
(
url
,
request
,
headers
);
return
dgToolsAbstractHttpClient
.
doRequest
(
url
,
request
,
headers
);
}
}
...
...
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/aggregate/impl/DemandKnowledgeServiceImpl.java
View file @
51d16f4b
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
aggregate
.
impl
;
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
aggregate
.
impl
;
import
cn.com.poc.support.dgTools.DgtoolsAbstractHttpClient
;
import
cn.com.poc.support.dgTools.DgtoolsAbstractHttpClient
;
import
cn.com.poc.thirdparty.resource.demand.ai.
common.DgtoolsApiConstants
;
import
cn.com.poc.thirdparty.resource.demand.ai.
route.DgtoolsApiRoute
;
import
cn.com.poc.support.dgTools.result.AbstractResult
;
import
cn.com.poc.support.dgTools.result.AbstractResult
;
import
cn.com.poc.thirdparty.resource.demand.ai.aggregate.DemandKnowledgeService
;
import
cn.com.poc.thirdparty.resource.demand.ai.aggregate.DemandKnowledgeService
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.knowledge.*
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.knowledge.*
;
...
@@ -33,7 +33,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
...
@@ -33,7 +33,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
TrainKnowledgeRequest
request
=
new
TrainKnowledgeRequest
();
TrainKnowledgeRequest
request
=
new
TrainKnowledgeRequest
();
request
.
setDocumentUrl
(
fileURL
);
request
.
setDocumentUrl
(
fileURL
);
request
.
setSegmentationConfig
(
segmentationConfig
);
request
.
setSegmentationConfig
(
segmentationConfig
);
TrainKnowledgeResult
trainKnowledgeResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
TRAIN_KNOWLEDGE
,
request
,
getHeaders
());
TrainKnowledgeResult
trainKnowledgeResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
TRAIN_KNOWLEDGE
,
request
,
getHeaders
());
if
(
null
==
trainKnowledgeResult
)
{
if
(
null
==
trainKnowledgeResult
)
{
throw
new
I18nMessageException
(
"exception/abnormal.knowledge.base.training"
);
throw
new
I18nMessageException
(
"exception/abnormal.knowledge.base.training"
);
}
}
...
@@ -46,7 +46,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
...
@@ -46,7 +46,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
TrainKnowledgeRequest
request
=
new
TrainKnowledgeRequest
();
TrainKnowledgeRequest
request
=
new
TrainKnowledgeRequest
();
request
.
setDocumentUrl
(
fileURL
);
request
.
setDocumentUrl
(
fileURL
);
request
.
setSegmentationConfig
(
segmentationConfig
);
request
.
setSegmentationConfig
(
segmentationConfig
);
TrainKnowledgeResult
trainKnowledgeResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
TRAIN_KNOWLEDGE_EVENT
,
request
,
getHeaders
());
TrainKnowledgeResult
trainKnowledgeResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
TRAIN_KNOWLEDGE_EVENT
,
request
,
getHeaders
());
if
(
null
==
trainKnowledgeResult
)
{
if
(
null
==
trainKnowledgeResult
)
{
throw
new
I18nMessageException
(
"exception/abnormal.knowledge.base.training"
);
throw
new
I18nMessageException
(
"exception/abnormal.knowledge.base.training"
);
}
}
...
@@ -58,7 +58,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
...
@@ -58,7 +58,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
Assert
.
notBlank
(
knowledgeId
);
Assert
.
notBlank
(
knowledgeId
);
TrainKnowledgeStatusRequest
request
=
new
TrainKnowledgeStatusRequest
();
TrainKnowledgeStatusRequest
request
=
new
TrainKnowledgeStatusRequest
();
request
.
setKnowledgeId
(
knowledgeId
);
request
.
setKnowledgeId
(
knowledgeId
);
TrainKnowledgeStatusResult
trainKnowledgeStatusResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
TRAIN_KNOWLEDGE_STATUS
,
request
,
getHeaders
());
TrainKnowledgeStatusResult
trainKnowledgeStatusResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
TRAIN_KNOWLEDGE_STATUS
,
request
,
getHeaders
());
if
(
null
==
trainKnowledgeStatusResult
)
{
if
(
null
==
trainKnowledgeStatusResult
)
{
throw
new
I18nMessageException
(
"exception/abnormal.training.status.of.knowledge.base.acquisition"
);
throw
new
I18nMessageException
(
"exception/abnormal.training.status.of.knowledge.base.acquisition"
);
}
}
...
@@ -70,7 +70,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
...
@@ -70,7 +70,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
Assert
.
notBlank
(
knowledgeId
);
Assert
.
notBlank
(
knowledgeId
);
DelKnowledgeRequest
request
=
new
DelKnowledgeRequest
();
DelKnowledgeRequest
request
=
new
DelKnowledgeRequest
();
request
.
setKnowledgeId
(
knowledgeId
);
request
.
setKnowledgeId
(
knowledgeId
);
AbstractResult
abstractResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
DEL_KNOWLEDGE
,
request
,
getHeaders
());
AbstractResult
abstractResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
DEL_KNOWLEDGE
,
request
,
getHeaders
());
if
(
null
==
abstractResult
)
{
if
(
null
==
abstractResult
)
{
throw
new
I18nMessageException
(
"exception/delete.knowledge.base.exception"
);
throw
new
I18nMessageException
(
"exception/delete.knowledge.base.exception"
);
}
}
...
@@ -89,7 +89,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
...
@@ -89,7 +89,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
searchKnowledgeRequest
.
setQuery
(
query
);
searchKnowledgeRequest
.
setQuery
(
query
);
searchKnowledgeRequest
.
setKnowLedgeIds
(
knowledgeIds
);
searchKnowledgeRequest
.
setKnowLedgeIds
(
knowledgeIds
);
searchKnowledgeRequest
.
setTopK
(
topK
);
searchKnowledgeRequest
.
setTopK
(
topK
);
SearchKnowledgeResult
searchKnowledgeResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
SEARCH_KNOWLEDGE
,
searchKnowledgeRequest
,
getHeaders
());
SearchKnowledgeResult
searchKnowledgeResult
=
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
SEARCH_KNOWLEDGE
,
searchKnowledgeRequest
,
getHeaders
());
if
(
null
==
searchKnowledgeResult
)
{
if
(
null
==
searchKnowledgeResult
)
{
throw
new
I18nMessageException
(
"exception/query.knowledge.base.exception"
);
throw
new
I18nMessageException
(
"exception/query.knowledge.base.exception"
);
}
}
...
@@ -104,7 +104,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
...
@@ -104,7 +104,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
GetKnowledgeChunkInfoRequest
request
=
new
GetKnowledgeChunkInfoRequest
();
GetKnowledgeChunkInfoRequest
request
=
new
GetKnowledgeChunkInfoRequest
();
request
.
setKnowledgeIds
(
knowledgeIds
);
request
.
setKnowledgeIds
(
knowledgeIds
);
request
.
setQuery
(
query
);
request
.
setQuery
(
query
);
return
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
GET_KNOWLEDGE_CHUNK_INFOS
,
request
,
getHeaders
(),
pagingInfo
);
return
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
GET_KNOWLEDGE_CHUNK_INFOS
,
request
,
getHeaders
(),
pagingInfo
);
}
}
@Override
@Override
...
@@ -113,7 +113,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
...
@@ -113,7 +113,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
request
.
setKnowledgeId
(
knowledgeId
);
request
.
setKnowledgeId
(
knowledgeId
);
request
.
setChunkRelationId
(
chunkRelationId
);
request
.
setChunkRelationId
(
chunkRelationId
);
request
.
setIsOpen
(
isOpen
);
request
.
setIsOpen
(
isOpen
);
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
OPEN_KNOWLEDGE_CHUNK
,
request
,
getHeaders
());
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
OPEN_KNOWLEDGE_CHUNK
,
request
,
getHeaders
());
}
}
@Override
@Override
...
@@ -121,7 +121,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
...
@@ -121,7 +121,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
UpsertChunkInfoRequest
request
=
new
UpsertChunkInfoRequest
();
UpsertChunkInfoRequest
request
=
new
UpsertChunkInfoRequest
();
request
.
setKnowledgeId
(
knowledgeId
);
request
.
setKnowledgeId
(
knowledgeId
);
request
.
setChunkRelationId
(
chunkRelationId
);
request
.
setChunkRelationId
(
chunkRelationId
);
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
DELETE_KNOWLEDGE_CHUNK
,
request
,
getHeaders
());
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
DELETE_KNOWLEDGE_CHUNK
,
request
,
getHeaders
());
}
}
@Override
@Override
...
@@ -130,7 +130,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
...
@@ -130,7 +130,7 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
request
.
setKnowledgeId
(
knowledgeId
);
request
.
setKnowledgeId
(
knowledgeId
);
request
.
setChunkRelationId
(
chunkRelationId
);
request
.
setChunkRelationId
(
chunkRelationId
);
request
.
setChunkContent
(
content
);
request
.
setChunkContent
(
content
);
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
UPDATE_KNOWLEDGE_CHUNK_DOC
,
request
,
getHeaders
());
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
UPDATE_KNOWLEDGE_CHUNK_DOC
,
request
,
getHeaders
());
}
}
@Override
@Override
...
@@ -139,14 +139,14 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
...
@@ -139,14 +139,14 @@ public class DemandKnowledgeServiceImpl implements DemandKnowledgeService {
request
.
setKnowledgeId
(
knowledgeId
);
request
.
setKnowledgeId
(
knowledgeId
);
request
.
setChunkSort
(
chunkSort
);
request
.
setChunkSort
(
chunkSort
);
request
.
setChunkContent
(
content
);
request
.
setChunkContent
(
content
);
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
DgtoolsAI
.
ADD_KNOWLEDGE_CHUNK
,
request
,
getHeaders
());
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
DgtoolsAI
.
ADD_KNOWLEDGE_CHUNK
,
request
,
getHeaders
());
}
}
private
List
<
Header
>
getHeaders
()
{
private
List
<
Header
>
getHeaders
()
{
List
<
Header
>
headers
=
new
ArrayList
<>();
List
<
Header
>
headers
=
new
ArrayList
<>();
headers
.
add
(
DgtoolsApi
Constants
.
JSON_HEADER
);
headers
.
add
(
DgtoolsApi
Route
.
JSON_HEADER
);
headers
.
add
(
DgtoolsApi
Constants
.
AI_HEADER
);
headers
.
add
(
DgtoolsApi
Route
.
AI_HEADER
);
headers
.
add
(
new
BasicHeader
(
DgtoolsApi
Constants
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
headers
.
add
(
new
BasicHeader
(
DgtoolsApi
Route
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
return
headers
;
return
headers
;
}
}
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/AbstractLargeModelFunction.java
View file @
51d16f4b
...
@@ -8,7 +8,14 @@ import java.util.List;
...
@@ -8,7 +8,14 @@ import java.util.List;
public
abstract
class
AbstractLargeModelFunction
{
public
abstract
class
AbstractLargeModelFunction
{
public
abstract
String
doFunction
(
String
content
,
String
key
);
/**
* 执行函数
*
* @param content 入参
* @param identifier 唯一标识
* @return
*/
public
abstract
String
doFunction
(
String
content
,
String
identifier
);
/**
/**
* 获取函数描述
* 获取函数描述
...
@@ -22,9 +29,11 @@ public abstract class AbstractLargeModelFunction {
...
@@ -22,9 +29,11 @@ public abstract class AbstractLargeModelFunction {
*/
*/
public
abstract
List
<
String
>
getLLMConfig
();
public
abstract
List
<
String
>
getLLMConfig
();
/**
/**
* 获取有关变量的配置
* 获取有关变量的配置
*/
*/
public
abstract
List
<
String
>
getVariableStructureLLMConfig
(
List
<
Variable
>
variableStructure
);
public
abstract
List
<
String
>
getLLMConfig
(
List
<
Variable
>
variableStructure
);
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/LargeModelFunctionEnum.java
View file @
51d16f4b
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
function
;
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
function
;
import
cn.com.poc.common.utils.SpringUtils
;
import
cn.com.poc.common.utils.SpringUtils
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.document_reader.DocumentReaderFunction
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.html_reader.HtmlReaderFunction
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.SetLongMemoryFunction
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.SetLongMemoryFunction
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.memory_variable_writer.MemoryVariableWriterFunction
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.memory_variable_writer.MemoryVariableWriterFunction
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.value_memory.SetValueMemoryFunction
;
public
enum
LargeModelFunctionEnum
{
public
enum
LargeModelFunctionEnum
{
set_long_memory
(
SetLongMemoryFunction
.
class
),
set_long_memory
(
SetLongMemoryFunction
.
class
),
set_value_memory
(
SetValueMemoryFunction
.
class
),
memory_variable_writer
(
MemoryVariableWriterFunction
.
class
),
memory_variable_writer
(
MemoryVariableWriterFunction
.
class
),
html_reader
(
HtmlReaderFunction
.
class
),
document_reader
(
DocumentReaderFunction
.
class
),
bing_web_search
(
null
),
;
;
private
Class
<?
extends
AbstractLargeModelFunction
>
function
;
private
Class
<?
extends
AbstractLargeModelFunction
>
function
;
...
@@ -24,4 +27,13 @@ public enum LargeModelFunctionEnum {
...
@@ -24,4 +27,13 @@ public enum LargeModelFunctionEnum {
public
void
setFunction
(
Class
<
AbstractLargeModelFunction
>
function
)
{
public
void
setFunction
(
Class
<
AbstractLargeModelFunction
>
function
)
{
this
.
function
=
function
;
this
.
function
=
function
;
}
}
public
static
LargeModelFunctionEnum
getFunction
(
String
functionName
)
{
for
(
LargeModelFunctionEnum
value
:
LargeModelFunctionEnum
.
values
())
{
if
(
value
.
name
().
equals
(
functionName
))
{
return
value
;
}
}
return
null
;
}
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/document_reader/DocumentReaderFunction.java
0 → 100644
View file @
51d16f4b
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
function
.
document_reader
;
import
cn.com.poc.agent_application.entity.Variable
;
import
cn.com.poc.common.utils.DocumentLoad
;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.common.utils.StringUtils
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.AbstractLargeModelFunction
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.entity.FunctionLLMConfig
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.entity.Parameters
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.entity.Properties
;
import
cn.hutool.core.collection.ListUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
org.springframework.stereotype.Component
;
import
java.io.File
;
import
java.util.List
;
@Component
public
class
DocumentReaderFunction
extends
AbstractLargeModelFunction
{
private
final
String
DESC
=
"文档阅读器,读取PDF、docx、doc、txt、md格式文件"
;
private
final
FunctionLLMConfig
functionLLMConfig
=
new
FunctionLLMConfig
.
FunctionLLMConfigBuilder
()
.
name
(
"document_reader"
)
.
description
(
DESC
)
.
parameters
(
new
Parameters
(
"object"
)
.
addProperties
(
"file_urls"
,
new
Properties
(
"array"
,
"doc、docx、pdf、txt、md文件地址"
))
).
build
();
@Override
public
String
doFunction
(
String
content
,
String
identifier
)
{
if
(
StringUtils
.
isBlank
(
content
))
{
return
StringUtils
.
EMPTY
;
}
StringBuilder
sb
=
new
StringBuilder
();
JSONObject
jsonObject
=
JSON
.
parseObject
(
content
);
if
(
jsonObject
.
containsKey
(
"file_urls"
))
{
JSONArray
jsonArray
=
jsonObject
.
getJSONArray
(
"file_urls"
);
int
size
=
jsonArray
.
size
();
if
(
size
==
0
)
{
return
StringUtils
.
EMPTY
;
}
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
String
fileUrl
=
jsonArray
.
getString
(
i
);
File
file
=
DocumentLoad
.
downloadURLDocument
(
fileUrl
);
sb
.
append
(
StringUtils
.
LF
).
append
(
"## Document "
).
append
((
i
+
1
)).
append
(
StringUtils
.
LF
);
sb
.
append
(
DocumentLoad
.
documentToText
(
file
));
}
return
sb
.
toString
();
}
return
StringUtils
.
EMPTY
;
}
@Override
public
String
getDesc
()
{
return
DESC
;
}
@Override
public
List
<
String
>
getLLMConfig
()
{
return
ListUtil
.
toList
(
JsonUtils
.
serialize
(
this
.
functionLLMConfig
));
}
@Override
public
List
<
String
>
getLLMConfig
(
List
<
Variable
>
variableStructure
)
{
return
this
.
getLLMConfig
();
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/entity/Function.java
0 → 100644
View file @
51d16f4b
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
function
.
entity
;
public
class
Function
{
/**
* 函数名
*/
private
String
name
;
/**
* 函数参数
*/
private
Parameters
parameters
;
public
Function
()
{
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
Parameters
getParameters
()
{
return
parameters
;
}
public
void
setParameters
(
Parameters
parameters
)
{
this
.
parameters
=
parameters
;
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/entity/FunctionLLMConfig.java
0 → 100644
View file @
51d16f4b
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
function
.
entity
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
FunctionLLMConfig
{
private
String
type
;
private
String
description
;
private
Function
function
;
public
String
getType
()
{
return
type
;
}
public
String
getDescription
()
{
return
description
;
}
public
Function
getFunction
()
{
return
function
;
}
public
void
setType
(
String
type
)
{
this
.
type
=
type
;
}
public
void
setDescription
(
String
description
)
{
this
.
description
=
description
;
}
public
void
setFunction
(
Function
function
)
{
this
.
function
=
function
;
}
public
static
class
FunctionLLMConfigBuilder
{
private
String
type
=
"function"
;
private
String
description
;
private
Function
function
=
new
Function
();
public
FunctionLLMConfigBuilder
description
(
String
description
)
{
this
.
description
=
description
;
return
this
;
}
public
FunctionLLMConfigBuilder
name
(
String
name
)
{
this
.
function
.
setName
(
name
);
return
this
;
}
public
FunctionLLMConfigBuilder
parameters
(
Parameters
parameters
)
{
this
.
function
.
setParameters
(
parameters
);
return
this
;
}
public
FunctionLLMConfig
build
()
{
FunctionLLMConfig
config
=
new
FunctionLLMConfig
();
config
.
setType
(
type
);
config
.
setDescription
(
description
);
config
.
setFunction
(
function
);
return
config
;
}
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/entity/Parameters.java
0 → 100644
View file @
51d16f4b
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
function
.
entity
;
import
java.util.Map
;
public
class
Parameters
{
private
String
type
;
private
Map
<
String
,
Properties
>
properties
;
public
Parameters
(
String
type
)
{
this
.
type
=
type
;
}
public
Parameters
(
String
type
,
Map
<
String
,
Properties
>
properties
)
{
this
.
type
=
type
;
this
.
properties
=
properties
;
}
public
String
getType
()
{
return
type
;
}
public
Map
<
String
,
Properties
>
getProperties
()
{
return
properties
;
}
public
Parameters
addProperties
(
String
key
,
Properties
properties
)
{
if
(
this
.
properties
==
null
)
{
this
.
properties
=
new
java
.
util
.
HashMap
<>();
}
this
.
properties
.
put
(
key
,
properties
);
return
this
;
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/entity/Properties.java
0 → 100644
View file @
51d16f4b
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
function
.
entity
;
import
com.fasterxml.jackson.annotation.JsonAlias
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
java.util.List
;
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
Properties
{
private
String
type
;
private
String
description
;
@JsonAlias
(
"enum"
)
private
List
<
String
>
enums
;
public
Properties
(
String
type
,
String
description
)
{
this
.
type
=
type
;
this
.
description
=
description
;
}
public
Properties
(
String
type
,
String
description
,
List
<
String
>
enums
)
{
this
.
type
=
type
;
this
.
description
=
description
;
this
.
enums
=
enums
;
}
public
String
getType
()
{
return
type
;
}
public
String
getDescription
()
{
return
description
;
}
public
List
<
String
>
getEnums
()
{
return
enums
;
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/html_reader/HtmlReaderFunction.java
0 → 100644
View file @
51d16f4b
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
function
.
html_reader
;
import
cn.com.poc.agent_application.entity.Variable
;
import
cn.com.poc.common.utils.DocumentLoad
;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.common.utils.StringUtils
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.AbstractLargeModelFunction
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.entity.FunctionLLMConfig
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.entity.Parameters
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.entity.Properties
;
import
cn.hutool.core.collection.ListUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
@Component
public
class
HtmlReaderFunction
extends
AbstractLargeModelFunction
{
private
final
String
DESC
=
"该方法用于加载和读取Html网页内容,并转换为markdown格式。"
;
private
final
FunctionLLMConfig
functionLLMConfig
=
new
FunctionLLMConfig
.
FunctionLLMConfigBuilder
()
.
name
(
"html_reader"
)
.
description
(
DESC
)
.
parameters
(
new
Parameters
(
"object"
)
.
addProperties
(
"url"
,
new
Properties
(
"string"
,
"网页地址"
)))
.
build
();
@Override
public
String
doFunction
(
String
content
,
String
key
)
{
if
(
StringUtils
.
isBlank
(
content
))
{
return
"FAIL"
;
}
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
content
);
String
url
=
jsonObject
.
getString
(
"url"
);
if
(
StringUtils
.
isNotBlank
(
url
))
{
return
DocumentLoad
.
htmlToMarkdown
(
url
);
}
return
StringUtils
.
EMPTY
;
}
@Override
public
String
getDesc
()
{
return
getDesc
();
}
@Override
public
List
<
String
>
getLLMConfig
()
{
return
ListUtil
.
toList
(
JsonUtils
.
serialize
(
functionLLMConfig
));
}
@Override
public
List
<
String
>
getLLMConfig
(
List
<
Variable
>
variableStructure
)
{
return
this
.
getLLMConfig
();
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/long_memory/
Get
LongMemory.java
→
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/long_memory/LongMemory.java
View file @
51d16f4b
...
@@ -9,7 +9,7 @@ import java.util.List;
...
@@ -9,7 +9,7 @@ import java.util.List;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.Set
;
public
class
Get
LongMemory
{
public
class
LongMemory
{
public
static
List
<
LongMemoryEntity
>
get
(
String
key
)
{
public
static
List
<
LongMemoryEntity
>
get
(
String
key
)
{
RedisService
redisService
=
SpringUtils
.
getBean
(
RedisService
.
class
);
RedisService
redisService
=
SpringUtils
.
getBean
(
RedisService
.
class
);
...
...
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/long_memory/SetLongMemoryFunction.java
View file @
51d16f4b
...
@@ -4,28 +4,33 @@ import cn.com.poc.agent_application.entity.Variable;
...
@@ -4,28 +4,33 @@ import cn.com.poc.agent_application.entity.Variable;
import
cn.com.poc.common.service.RedisService
;
import
cn.com.poc.common.service.RedisService
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.DateUtils
;
import
cn.com.poc.common.utils.DateUtils
;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.AbstractLargeModelFunction
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.AbstractLargeModelFunction
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.entity.FunctionLLMConfig
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.entity.Parameters
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.entity.Properties
;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONObject
;
import
com.google.gson.Gson
;
import
org.springframework.stereotype.Component
;
import
com.sun.org.apache.regexp.internal.RE
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 长期记忆
* 长期记忆
*/
*/
@
Service
@
Component
public
class
SetLongMemoryFunction
extends
AbstractLargeModelFunction
{
public
class
SetLongMemoryFunction
extends
AbstractLargeModelFunction
{
private
final
String
desc
=
"该方法仅用来保存用户想记录的内容,不能通过该方法进行查询。"
;
private
final
String
desc
=
"该方法仅用来保存用户想记录的内容,不能通过该方法进行查询。"
;
private
final
FunctionLLMConfig
functionLLMConfig
=
new
FunctionLLMConfig
.
FunctionLLMConfigBuilder
()
.
name
(
"set_long_memory"
)
.
description
(
desc
)
.
parameters
(
new
Parameters
(
"object"
).
addProperties
(
"content"
,
new
Properties
(
"string"
,
"内容的详细说明"
)))
.
build
();
private
final
Long
expireTime
=
30
*
60
*
24L
;
// 30天有效期
private
final
Long
expireTime
=
30
*
60
*
24L
;
// 30天有效期
...
@@ -57,43 +62,45 @@ public class SetLongMemoryFunction extends AbstractLargeModelFunction {
...
@@ -57,43 +62,45 @@ public class SetLongMemoryFunction extends AbstractLargeModelFunction {
@Override
@Override
public
List
<
String
>
getLLMConfig
()
{
public
List
<
String
>
getLLMConfig
()
{
Map
<
String
,
Object
>
config
=
new
HashMap
<>();
// Map<String, Object> config = new HashMap<>();
Map
<
String
,
Object
>
function
=
new
HashMap
<>();
// Map<String, Object> function = new HashMap<>();
//
Map
<
String
,
Object
>
content
=
new
HashMap
<>();
// Map<String, Object> content = new HashMap<>();
content
.
put
(
"type"
,
"string"
);
// content.put("type", "string");
content
.
put
(
"description"
,
"内容的详细说明"
);
// content.put("description", "内容的详细说明");
//
Map
<
String
,
Object
>
properties
=
new
HashMap
<>();
// Map<String, Object> properties = new HashMap<>();
properties
.
put
(
"content"
,
content
);
// properties.put("content", content);
//
Map
<
String
,
Object
>
parameters
=
new
HashMap
<>();
// Map<String, Object> parameters = new HashMap<>();
parameters
.
put
(
"type"
,
"object"
);
// parameters.put("type", "object");
parameters
.
put
(
"properties"
,
properties
);
// parameters.put("properties", properties);
//
List
<
String
>
required
=
new
ArrayList
<>();
// List<String> required = new ArrayList<>();
required
.
add
(
"content"
);
// required.add("content");
parameters
.
put
(
"required"
,
required
);
// parameters.put("required", required);
//
//
function
.
put
(
"name"
,
"set_long_memory"
);
// function.put("name", "set_long_memory");
function
.
put
(
"description"
,
desc
);
// function.put("description", desc);
function
.
put
(
"parameters"
,
parameters
);
// function.put("parameters", parameters);
//
config
.
put
(
"type"
,
"function"
);
// config.put("type", "function");
config
.
put
(
"function"
,
function
);
// config.put("function", function);
//
// 将 Map 转换为 JSON 字符串
// // 将 Map 转换为 JSON 字符串
Gson
gson
=
new
Gson
();
// Gson gson = new Gson();
String
jsonString
=
gson
.
toJson
(
config
);
// String jsonString = gson.toJson(config);
//
List
<
String
>
resultList
=
new
ArrayList
<>();
// List<String> resultList = new ArrayList<>();
resultList
.
add
(
jsonString
);
// resultList.add(jsonString);
return
resultList
;
// return resultList;
return
ListUtil
.
toList
(
JsonUtils
.
serialize
(
functionLLMConfig
));
}
}
@Override
@Override
public
List
<
String
>
get
VariableStructure
LLMConfig
(
List
<
Variable
>
variableStructure
)
{
public
List
<
String
>
getLLMConfig
(
List
<
Variable
>
variableStructure
)
{
throw
new
I18nMessageException
(
"exception/variable.structure.configuration.is.not.currently.supported"
);
return
this
.
getLLMConfig
(
);
}
}
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/memory_variable_writer/
GetMemoryVariable
.java
→
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/memory_variable_writer/
MemoryVariableWriter
.java
View file @
51d16f4b
...
@@ -6,7 +6,7 @@ import cn.com.poc.common.utils.SpringUtils;
...
@@ -6,7 +6,7 @@ import cn.com.poc.common.utils.SpringUtils;
import
java.util.Map
;
import
java.util.Map
;
public
class
GetMemoryVariable
{
public
class
MemoryVariableWriter
{
public
static
Map
<
Object
,
Object
>
get
(
String
key
)
{
public
static
Map
<
Object
,
Object
>
get
(
String
key
)
{
String
redisKey
=
MemoryVariableWriterConstants
.
REDIS_PREFIX
+
key
+
":"
+
BlContext
.
getCurrentUserNotException
().
getUserId
().
toString
();
String
redisKey
=
MemoryVariableWriterConstants
.
REDIS_PREFIX
+
key
+
":"
+
BlContext
.
getCurrentUserNotException
().
getUserId
().
toString
();
...
@@ -17,4 +17,16 @@ public class GetMemoryVariable {
...
@@ -17,4 +17,16 @@ public class GetMemoryVariable {
Map
<
Object
,
Object
>
result
=
redisService
.
hmget
(
redisKey
);
Map
<
Object
,
Object
>
result
=
redisService
.
hmget
(
redisKey
);
return
result
;
return
result
;
}
}
public
static
void
clean
(
String
key
)
{
String
redisKey
=
MemoryVariableWriterConstants
.
REDIS_PREFIX
+
key
+
":"
+
BlContext
.
getCurrentUserNotException
().
getUserId
().
toString
();
RedisService
redisService
=
SpringUtils
.
getBean
(
RedisService
.
class
);
redisService
.
del
(
redisKey
);
}
public
static
void
clearByPre
(
String
key
)
{
String
redisKey
=
MemoryVariableWriterConstants
.
REDIS_PREFIX
+
key
+
":"
;
RedisService
redisService
=
SpringUtils
.
getBean
(
RedisService
.
class
);
redisService
.
delByPre
(
redisKey
);
}
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/memory_variable_writer/MemoryVariableWriterFunction.java
View file @
51d16f4b
...
@@ -6,11 +6,15 @@ import cn.com.poc.common.utils.BlContext;
...
@@ -6,11 +6,15 @@ import cn.com.poc.common.utils.BlContext;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.common.utils.StringUtils
;
import
cn.com.poc.common.utils.StringUtils
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.AbstractLargeModelFunction
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.AbstractLargeModelFunction
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.entity.FunctionLLMConfig
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.entity.Parameters
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.entity.Properties
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.json.JSONArray
;
import
cn.hutool.json.JSONArray
;
import
cn.hutool.json.JSONException
;
import
cn.hutool.json.JSONException
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONObject
;
import
org.springframework.stereotype.
Service
;
import
org.springframework.stereotype.
Component
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -18,36 +22,20 @@ import java.util.HashMap;
...
@@ -18,36 +22,20 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
@
Service
@
Component
public
class
MemoryVariableWriterFunction
extends
AbstractLargeModelFunction
{
public
class
MemoryVariableWriterFunction
extends
AbstractLargeModelFunction
{
private
final
String
DESC
=
"该方法参考key字段给出的内容键,来保存对应的内容值,该方法不可进行查询"
;
private
final
String
DESC
=
"该方法参考key字段给出的内容键,来保存对应的内容值,该方法不可进行查询"
;
private
final
String
LLM_JSON_SCHEMA
=
"{\n"
+
private
final
FunctionLLMConfig
functionLLMConfig
=
new
FunctionLLMConfig
" \"description\": \""
+
DESC
+
"\",\n"
+
.
FunctionLLMConfigBuilder
()
" \"type\": \"function\",\n"
+
.
name
(
"memory_variable_writer"
)
" \"function\": {\n"
+
.
description
(
DESC
)
" \"name\": \"memory_variable_writer\",\n"
+
.
parameters
(
new
Parameters
(
"array"
)
" \"parameters\": {\n"
+
.
addProperties
(
"key"
,
new
Properties
(
"string"
,
"内容键"
))
" \"type\": \"array\",\n"
+
.
addProperties
(
"value"
,
new
Properties
(
"string"
,
"内容值"
))
" \"properties\": {\n"
+
).
build
();
" \"key\": {\n"
+
" \"type\": \"string\",\n"
+
" \"enum\": ${variableStructure},\n"
+
" \"description\": \"内容键\"\n"
+
" },\n"
+
" \"value\": {\n"
+
" \"type\": \"string\",\n"
+
" \"description\": \"内容值\"\n"
+
" }\n"
+
" }\n"
+
" }\n"
+
" }\n"
+
" }"
;
private
final
Long
expireTime
=
30
*
60
*
24L
;
// 30天有效期
@Resource
@Resource
private
RedisService
redisService
;
private
RedisService
redisService
;
...
@@ -77,6 +65,8 @@ public class MemoryVariableWriterFunction extends AbstractLargeModelFunction {
...
@@ -77,6 +65,8 @@ public class MemoryVariableWriterFunction extends AbstractLargeModelFunction {
}
else
{
}
else
{
setMap
(
new
JSONObject
(
content
),
result
);
setMap
(
new
JSONObject
(
content
),
result
);
}
}
// 30天有效期
long
expireTime
=
30
*
60
*
24L
;
redisService
.
hmset
(
contentKey
,
result
,
expireTime
);
redisService
.
hmset
(
contentKey
,
result
,
expireTime
);
return
"SUCCESS"
;
return
"SUCCESS"
;
}
}
...
@@ -98,18 +88,16 @@ public class MemoryVariableWriterFunction extends AbstractLargeModelFunction {
...
@@ -98,18 +88,16 @@ public class MemoryVariableWriterFunction extends AbstractLargeModelFunction {
}
}
@Override
@Override
public
List
<
String
>
get
VariableStructure
LLMConfig
(
List
<
Variable
>
variableStructure
)
{
public
List
<
String
>
getLLMConfig
(
List
<
Variable
>
variableStructure
)
{
List
<
String
>
enumList
=
new
ArrayList
<>();
List
<
String
>
enumList
=
new
ArrayList
<>();
for
(
Variable
variable
:
variableStructure
)
{
for
(
Variable
variable
:
variableStructure
)
{
enumList
.
add
(
variable
.
getKey
());
enumList
.
add
(
variable
.
getKey
());
}
}
String
enums
=
JsonUtils
.
serialize
(
enumList
);
this
.
functionLLMConfig
.
getFunction
().
getParameters
().
addProperties
(
"key"
,
new
Properties
(
"string"
,
"内容键"
,
enumList
));
String
configStr
=
LLM_JSON_SCHEMA
.
replace
(
"${variableStructure}"
,
enums
);
return
ListUtil
.
toList
(
JsonUtils
.
serialize
(
functionLLMConfig
));
List
<
String
>
resultList
=
new
ArrayList
<>();
resultList
.
add
(
configStr
);
return
resultList
;
}
}
private
boolean
isJsonArray
(
String
json
)
{
private
boolean
isJsonArray
(
String
json
)
{
try
{
try
{
new
JSONArray
(
json
);
new
JSONArray
(
json
);
...
...
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/value_memory/GetValueMemory.java
deleted
100644 → 0
View file @
638e3dd7
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
function
.
value_memory
;
import
cn.com.poc.common.service.RedisService
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.SpringUtils
;
import
java.util.Map
;
/**
* 获取【变量】内容
*/
public
class
GetValueMemory
{
public
static
Map
<
Object
,
Object
>
get
(
String
key
)
{
String
contentKey
=
SetValueMemoryConstants
.
REDIS_PREFIX
+
key
+
":"
+
BlContext
.
getCurrentUserNotException
().
getUserId
().
toString
();
RedisService
redisService
=
SpringUtils
.
getBean
(
RedisService
.
class
);
if
(!
redisService
.
hasKey
(
contentKey
))
{
return
null
;
}
Map
<
Object
,
Object
>
result
=
redisService
.
hmget
(
contentKey
);
return
result
;
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/value_memory/SetValueMemoryConstants.java
deleted
100644 → 0
View file @
638e3dd7
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
function
.
value_memory
;
public
interface
SetValueMemoryConstants
{
String
REDIS_PREFIX
=
"AGENT_APP_FUNCTION:VALUE_MEMORY:"
;
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/function/value_memory/SetValueMemoryFunction.java
deleted
100644 → 0
View file @
638e3dd7
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
function
.
value_memory
;
import
cn.com.poc.agent_application.entity.Variable
;
import
cn.com.poc.common.service.RedisService
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Function
;
import
cn.com.poc.thirdparty.resource.demand.ai.function.AbstractLargeModelFunction
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.hutool.json.JSONObject
;
import
com.google.gson.Gson
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
SetValueMemoryFunction
extends
AbstractLargeModelFunction
{
private
final
String
desc
=
"该方法仅用enum给定的内容名来保存用户想记录的内容值,不可使用该方法进行查询"
;
private
final
Long
expireTime
=
30
*
60
*
24L
;
// 30天有效期
@Resource
private
RedisService
redisService
;
@Override
public
String
getDesc
()
{
return
desc
;
}
@Override
public
String
doFunction
(
String
content
,
String
key
)
{
String
contentKey
=
SetValueMemoryConstants
.
REDIS_PREFIX
+
key
+
":"
+
BlContext
.
getCurrentUserNotException
().
getUserId
().
toString
();
// 创建 JSONObject 对象
JSONObject
jsonObject
=
new
JSONObject
(
content
);
// 提取 contentName 和 contentValue
String
contentName
=
jsonObject
.
getStr
(
"contentName"
);
String
contentValue
=
jsonObject
.
getStr
(
"contentValue"
);
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
if
(
redisService
.
hasKey
(
contentKey
))
{
Map
<
Object
,
Object
>
hmget
=
redisService
.
hmget
(
contentKey
);
for
(
Map
.
Entry
<
Object
,
Object
>
entry
:
hmget
.
entrySet
())
{
if
(
entry
.
getKey
()
instanceof
String
)
{
String
tempKey
=
(
String
)
entry
.
getKey
();
result
.
put
(
tempKey
,
entry
.
getValue
());
}
}
}
result
.
put
(
contentName
,
contentValue
);
redisService
.
hmset
(
contentKey
,
result
,
expireTime
);
return
"SUCCESS"
;
}
@Override
public
List
<
String
>
getLLMConfig
()
{
throw
new
I18nMessageException
(
"exception/this.method.is.not.supported"
);
}
@Override
public
List
<
String
>
getVariableStructureLLMConfig
(
List
<
Variable
>
variableStructure
)
{
Map
<
String
,
Object
>
config
=
new
HashMap
<>();
Map
<
String
,
Object
>
function
=
new
HashMap
<>();
Map
<
String
,
Object
>
parameters
=
new
HashMap
<>();
parameters
.
put
(
"type"
,
"object"
);
List
<
String
>
required
=
new
ArrayList
<>();
required
.
add
(
"contentName"
);
required
.
add
(
"contentValue"
);
parameters
.
put
(
"required"
,
required
);
Map
<
String
,
Object
>
properties
=
new
HashMap
<>();
Map
<
String
,
Object
>
contentName
=
new
HashMap
<>();
contentName
.
put
(
"type"
,
"string"
);
contentName
.
put
(
"description"
,
"内容名"
);
List
<
String
>
enumList
=
new
ArrayList
<>();
for
(
Variable
variable
:
variableStructure
)
{
enumList
.
add
(
variable
.
getKey
());
}
contentName
.
put
(
"enum"
,
enumList
);
// 设置变量
Map
<
String
,
Object
>
contentValue
=
new
HashMap
<>();
contentValue
.
put
(
"type"
,
"string"
);
contentValue
.
put
(
"description"
,
"内容值"
);
properties
.
put
(
"contentName"
,
contentName
);
properties
.
put
(
"contentValue"
,
contentValue
);
parameters
.
put
(
"properties"
,
properties
);
parameters
.
put
(
"type"
,
"object"
);
function
.
put
(
"name"
,
"set_value_memory"
);
function
.
put
(
"description"
,
desc
);
function
.
put
(
"parameters"
,
parameters
);
config
.
put
(
"type"
,
"function"
);
config
.
put
(
"function"
,
function
);
// 将 Map 转换为 JSON 字符串
Gson
gson
=
new
Gson
();
String
jsonString
=
gson
.
toJson
(
config
);
List
<
String
>
resultList
=
new
ArrayList
<>();
resultList
.
add
(
jsonString
);
return
resultList
;
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/
common/DgtoolsApiConstants
.java
→
src/main/java/cn/com/poc/thirdparty/resource/demand/ai/
route/DgtoolsApiRoute
.java
View file @
51d16f4b
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
common
;
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
ai
.
route
;
import
org.apache.http.Header
;
import
org.apache.http.Header
;
import
org.apache.http.HttpHeaders
;
import
org.apache.http.HttpHeaders
;
...
@@ -10,7 +10,7 @@ import org.apache.http.message.BasicHeader;
...
@@ -10,7 +10,7 @@ import org.apache.http.message.BasicHeader;
*
*
* @author Roger Wu
* @author Roger Wu
*/
*/
public
interface
DgtoolsApi
Constants
{
public
interface
DgtoolsApi
Route
{
/**
/**
* 中台路由
* 中台路由
...
...
src/main/java/cn/com/poc/thirdparty/resource/demand/clickhouse/service/impl/DataReportServiceImpl.java
View file @
51d16f4b
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
clickhouse
.
service
.
impl
;
package
cn
.
com
.
poc
.
thirdparty
.
resource
.
demand
.
clickhouse
.
service
.
impl
;
import
cn.com.poc.support.dgTools.DgtoolsAbstractHttpClient
;
import
cn.com.poc.support.dgTools.DgtoolsAbstractHttpClient
;
import
cn.com.poc.thirdparty.resource.demand.ai.
common.DgtoolsApiConstants
;
import
cn.com.poc.thirdparty.resource.demand.ai.
route.DgtoolsApiRoute
;
import
cn.com.poc.thirdparty.resource.demand.clickhouse.entity.WebBrowseHarvestEntity
;
import
cn.com.poc.thirdparty.resource.demand.clickhouse.entity.WebBrowseHarvestEntity
;
import
cn.com.poc.thirdparty.resource.demand.clickhouse.service.DataReportService
;
import
cn.com.poc.thirdparty.resource.demand.clickhouse.service.DataReportService
;
import
cn.com.poc.thirdparty.resource.demand.member.service.DemandAuthService
;
import
cn.com.poc.thirdparty.resource.demand.member.service.DemandAuthService
;
...
@@ -33,11 +33,11 @@ public class DataReportServiceImpl implements DataReportService {
...
@@ -33,11 +33,11 @@ public class DataReportServiceImpl implements DataReportService {
private
void
dataReport
(
WebBrowseHarvestEntity
request
)
{
private
void
dataReport
(
WebBrowseHarvestEntity
request
)
{
List
<
Header
>
headers
=
new
ArrayList
<
Header
>()
{{
List
<
Header
>
headers
=
new
ArrayList
<
Header
>()
{{
add
(
DgtoolsApi
Constants
.
JSON_HEADER
);
add
(
DgtoolsApi
Route
.
JSON_HEADER
);
add
(
DgtoolsApi
Constants
.
CKHOUSE_HEADER
);
add
(
DgtoolsApi
Route
.
CKHOUSE_HEADER
);
add
(
new
BasicHeader
(
DgtoolsApi
Constants
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
add
(
new
BasicHeader
(
DgtoolsApi
Route
.
HEADER_X_PLATFORM_AUTHORIZATION
,
demandAuthService
.
getToken
()));
}};
}};
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
ClickHouse
.
WEB_BROWSE_HARVEST_REPORT
,
request
,
headers
);
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
ClickHouse
.
WEB_BROWSE_HARVEST_REPORT
,
request
,
headers
);
}
}
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/member/api/DemandAuthApi.java
View file @
51d16f4b
...
@@ -3,7 +3,7 @@ package cn.com.poc.thirdparty.resource.demand.member.api;
...
@@ -3,7 +3,7 @@ package cn.com.poc.thirdparty.resource.demand.member.api;
import
cn.com.poc.thirdparty.resource.demand.member.entity.DemandAuthResponse
;
import
cn.com.poc.thirdparty.resource.demand.member.entity.DemandAuthResponse
;
import
cn.com.poc.thirdparty.resource.demand.member.entity.DemandAuthResult
;
import
cn.com.poc.thirdparty.resource.demand.member.entity.DemandAuthResult
;
import
cn.com.poc.support.dgTools.DgtoolsAbstractHttpClient
;
import
cn.com.poc.support.dgTools.DgtoolsAbstractHttpClient
;
import
cn.com.poc.thirdparty.resource.demand.ai.
common.DgtoolsApiConstants
;
import
cn.com.poc.thirdparty.resource.demand.ai.
route.DgtoolsApiRoute
;
import
org.apache.http.Header
;
import
org.apache.http.Header
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -28,7 +28,7 @@ public class DemandAuthApi {
...
@@ -28,7 +28,7 @@ public class DemandAuthApi {
*/
*/
public
DemandAuthResult
getToken
(
DemandAuthResponse
response
)
{
public
DemandAuthResult
getToken
(
DemandAuthResponse
response
)
{
List
<
Header
>
headers
=
new
LinkedList
<>();
List
<
Header
>
headers
=
new
LinkedList
<>();
headers
.
add
(
DgtoolsApi
Constants
.
MEMBER_HEADER
);
headers
.
add
(
DgtoolsApi
Route
.
MEMBER_HEADER
);
return
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Constants
.
MemberPlatform
.
GET_PLATFORM_TOKEN
,
response
,
headers
);
return
dgToolsAbstractHttpClient
.
doRequest
(
DgtoolsApi
Route
.
MemberPlatform
.
GET_PLATFORM_TOKEN
,
response
,
headers
);
}
}
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/member/api/DemandMemberApi.java
View file @
51d16f4b
...
@@ -2,7 +2,7 @@ package cn.com.poc.thirdparty.resource.demand.member.api;
...
@@ -2,7 +2,7 @@ package cn.com.poc.thirdparty.resource.demand.member.api;
import
cn.com.poc.common.utils.http.LocalHttpClient
;
import
cn.com.poc.common.utils.http.LocalHttpClient
;
import
cn.com.poc.thirdparty.resource.demand.member.entity.DemandMemberResult
;
import
cn.com.poc.thirdparty.resource.demand.member.entity.DemandMemberResult
;
import
cn.com.poc.thirdparty.resource.demand.ai.
common.DgtoolsApiConstants
;
import
cn.com.poc.thirdparty.resource.demand.ai.
route.DgtoolsApiRoute
;
import
org.apache.http.client.methods.HttpUriRequest
;
import
org.apache.http.client.methods.HttpUriRequest
;
import
org.apache.http.client.methods.RequestBuilder
;
import
org.apache.http.client.methods.RequestBuilder
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
...
@@ -24,10 +24,10 @@ public class DemandMemberApi {
...
@@ -24,10 +24,10 @@ public class DemandMemberApi {
*/
*/
public
String
createDemandMember
(
String
token
)
{
public
String
createDemandMember
(
String
token
)
{
HttpUriRequest
httpUriRequest
=
RequestBuilder
.
post
()
HttpUriRequest
httpUriRequest
=
RequestBuilder
.
post
()
.
setUri
(
dgtoolsDomainurl
+
DgtoolsApi
Constants
.
BASE_URL
+
DgtoolsApiConstants
.
MemberPlatform
.
CRAETE_DEMAND_MEMBER
)
.
setUri
(
dgtoolsDomainurl
+
DgtoolsApi
Route
.
BASE_URL
+
DgtoolsApiRoute
.
MemberPlatform
.
CRAETE_DEMAND_MEMBER
)
.
setHeader
(
DgtoolsApi
Constants
.
JSON_HEADER
)
.
setHeader
(
DgtoolsApi
Route
.
JSON_HEADER
)
.
setHeader
(
DgtoolsApi
Constants
.
HEADER_X_PLATFORM_AUTHORIZATION
,
token
)
.
setHeader
(
DgtoolsApi
Route
.
HEADER_X_PLATFORM_AUTHORIZATION
,
token
)
.
setHeader
(
DgtoolsApi
Constants
.
MEMBER_HEADER
)
.
setHeader
(
DgtoolsApi
Route
.
MEMBER_HEADER
)
.
build
();
.
build
();
return
LocalHttpClient
.
executeJsonResult
(
httpUriRequest
,
String
.
class
);
return
LocalHttpClient
.
executeJsonResult
(
httpUriRequest
,
String
.
class
);
}
}
...
@@ -37,10 +37,10 @@ public class DemandMemberApi {
...
@@ -37,10 +37,10 @@ public class DemandMemberApi {
*/
*/
public
DemandMemberResult
searchDemandMember
(
String
demandMemberId
,
String
token
)
{
public
DemandMemberResult
searchDemandMember
(
String
demandMemberId
,
String
token
)
{
HttpUriRequest
httpUriRequest
=
RequestBuilder
.
post
()
HttpUriRequest
httpUriRequest
=
RequestBuilder
.
post
()
.
setUri
(
dgtoolsDomainurl
+
DgtoolsApi
Constants
.
BASE_URL
+
DgtoolsApiConstants
.
MemberPlatform
.
SEARCH_DEMAND_MEMBER
)
.
setUri
(
dgtoolsDomainurl
+
DgtoolsApi
Route
.
BASE_URL
+
DgtoolsApiRoute
.
MemberPlatform
.
SEARCH_DEMAND_MEMBER
)
.
setHeader
(
DgtoolsApi
Constants
.
JSON_HEADER
)
.
setHeader
(
DgtoolsApi
Route
.
JSON_HEADER
)
.
setHeader
(
DgtoolsApi
Constants
.
HEADER_X_PLATFORM_AUTHORIZATION
,
token
)
.
setHeader
(
DgtoolsApi
Route
.
HEADER_X_PLATFORM_AUTHORIZATION
,
token
)
.
setHeader
(
DgtoolsApi
Constants
.
MEMBER_HEADER
)
.
setHeader
(
DgtoolsApi
Route
.
MEMBER_HEADER
)
.
addParameter
(
"memberId"
,
demandMemberId
)
.
addParameter
(
"memberId"
,
demandMemberId
)
.
build
();
.
build
();
return
LocalHttpClient
.
executeJsonResult
(
httpUriRequest
,
DemandMemberResult
.
class
);
return
LocalHttpClient
.
executeJsonResult
(
httpUriRequest
,
DemandMemberResult
.
class
);
...
...
src/main/resources/framemax-config/i18n/en/exception.properties
View file @
51d16f4b
...
@@ -71,4 +71,5 @@ file.content.more.than.100w=The number of characters in a file cannot exceed 100
...
@@ -71,4 +71,5 @@ file.content.more.than.100w=The number of characters in a file cannot exceed 100
collect.limit.message
=
Click too fast, do not repeat the operation
collect.limit.message
=
Click too fast, do not repeat the operation
sms.limit.message
=
Do not send it again. Try again later
sms.limit.message
=
Do not send it again. Try again later
phone.is.exist
=
The mobile number already exists
phone.is.exist
=
The mobile number already exists
email.is.exist
=
The email already exists
email.is.exist
=
The email already exists
\ No newline at end of file
file.load.error
=
File loading failure
\ No newline at end of file
src/main/resources/framemax-config/i18n/zh_cn/exception.properties
View file @
51d16f4b
...
@@ -71,4 +71,5 @@ file.content.more.than.100w=\u6587\u4EF6\u5185\u5BB9\u5B57\u7B26\u6570\u4E0D\u80
...
@@ -71,4 +71,5 @@ file.content.more.than.100w=\u6587\u4EF6\u5185\u5BB9\u5B57\u7B26\u6570\u4E0D\u80
collect.limit.message
=
\u
70B9
\u
51FB
\u
8FC7
\u
5FEB,
\u
8BF7
\u
52FF
\u
91CD
\u
590D
\u
64CD
\u
4F5C
collect.limit.message
=
\u
70B9
\u
51FB
\u
8FC7
\u
5FEB,
\u
8BF7
\u
52FF
\u
91CD
\u
590D
\u
64CD
\u
4F5C
sms.limit.message
=
\u
8BF7
\u
52FF
\u
91CD
\u
590D
\u
53D1
\u9001\u
FF0C
\u
8BF7
\u
7A0D
\u
540E
\u
91CD
\u
8BD5
sms.limit.message
=
\u
8BF7
\u
52FF
\u
91CD
\u
590D
\u
53D1
\u9001\u
FF0C
\u
8BF7
\u
7A0D
\u
540E
\u
91CD
\u
8BD5
phone.is.exist
=
\u
8BE5
\u
624B
\u
673A
\u
53F7
\u
5DF2
\u
5B58
\u5728
phone.is.exist
=
\u
8BE5
\u
624B
\u
673A
\u
53F7
\u
5DF2
\u
5B58
\u5728
email.is.exist
=
\u
8BE5
\u
90AE
\u
7BB1
\u
5DF2
\u
5B58
\u5728
email.is.exist
=
\u
8BE5
\u
90AE
\u
7BB1
\u
5DF2
\u
5B58
\u5728
\ No newline at end of file
file.load.error
=
\u6587\u
4EF6
\u
52A0
\u
8F7D
\u5931\u
8D25
src/main/resources/framemax-config/i18n/zh_tw/exception.properties
View file @
51d16f4b
...
@@ -71,4 +71,5 @@ file.content.more.than.100w=\u6587\u4EF6\u5185\u5BB9\u4E0D\u53EF\u8D85100w\u5B57
...
@@ -71,4 +71,5 @@ file.content.more.than.100w=\u6587\u4EF6\u5185\u5BB9\u4E0D\u53EF\u8D85100w\u5B57
collect.limit.message
=
\u
9EDE
\u
64CA
\u
904E
\u
5FEB
\u
FF0C
\u
8ACB
\u
52FF
\u
91CD
\u8907\u
64CD
\u
4F5C
collect.limit.message
=
\u
9EDE
\u
64CA
\u
904E
\u
5FEB
\u
FF0C
\u
8ACB
\u
52FF
\u
91CD
\u8907\u
64CD
\u
4F5C
sms.limit.message
=
\u
8ACB
\u
52FF
\u
91CD
\u8907\u
767C
\u9001\u
FF0C
\u
7A0D
\u
5F8C
\u
91CD
\u
8A66
sms.limit.message
=
\u
8ACB
\u
52FF
\u
91CD
\u8907\u
767C
\u9001\u
FF0C
\u
7A0D
\u
5F8C
\u
91CD
\u
8A66
phone.is.exist
=
\u
8A72
\u
624B
\u
6A5F
\u
865F
\u
5DF2
\u
5B58
\u5728
phone.is.exist
=
\u
8A72
\u
624B
\u
6A5F
\u
865F
\u
5DF2
\u
5B58
\u5728
email.is.exist
=
\u
8A72
\u
90F5
\u
7BB1
\u
5DF2
\u
5B58
\u5728
email.is.exist
=
\u
8A72
\u
90F5
\u
7BB1
\u
5DF2
\u
5B58
\u5728
\ No newline at end of file
file.load.error
=
\u6587\u
4EF6
\u
52A0
\u
8F09
\u5931\u6557
\ No newline at end of file
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