Skip to content

Commit 7a50009

Browse files
wuayeewuayeeRonnyChan96
authored
[FEL] add extended parameters for models and knowledge (#258)
* [fel] add extended parameters for models * [elsa] add knowledgeExtensions params of knowledgeRetrievalNode option struct. --------- Co-authored-by: wuayee <[email protected]> Co-authored-by: RonnyChan <[email protected]>
1 parent 525f83d commit 7a50009

File tree

7 files changed

+94
-3
lines changed

7 files changed

+94
-3
lines changed

framework/elsa/fit-elsa-react/src/common/Consts.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,4 +214,21 @@ export const DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID = {
214214
type: DATA_TYPES.STRING,
215215
from: FROM_TYPE.INPUT,
216216
value: null,
217+
};
218+
219+
export const DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_EXTENSIONS = {
220+
id: `knowledgeExtensions_${uuidv4()}`,
221+
name: 'extensions',
222+
type: DATA_TYPES.OBJECT,
223+
from: FROM_TYPE.EXPAND,
224+
value: [{
225+
id: uuidv4(),
226+
name: VIRTUAL_CONTEXT_NODE_VARIABLES.USER_ID,
227+
type: DATA_TYPES.STRING,
228+
from: FROM_TYPE.REFERENCE,
229+
referenceId: VIRTUAL_CONTEXT_NODE_VARIABLES.USER_ID,
230+
referenceKey: VIRTUAL_CONTEXT_NODE_VARIABLES.USER_ID,
231+
referenceNode: VIRTUAL_CONTEXT_NODE.id,
232+
value: [VIRTUAL_CONTEXT_NODE_VARIABLES.USER_ID],
233+
}],
217234
};

framework/elsa/fit-elsa-react/src/components/knowledgeRetrieval/knowledgeRetrievalComponent.jsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
import {v4 as uuidv4} from 'uuid';
88
import {KnowledgeRetrievalWrapper} from '@/components/knowledgeRetrieval/KnowledgeRetrievalWrapper.jsx';
99
import {retrievalComponent} from '@/components/retrieval/retrievalComponent.jsx';
10-
import {DATA_TYPES, DEFAULT_KNOWLEDGE_REPO_GROUP, DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID, FROM_TYPE} from '@/common/Consts.js';
10+
import {DATA_TYPES, DEFAULT_KNOWLEDGE_REPO_GROUP, DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID, FROM_TYPE,
11+
DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_EXTENSIONS} from '@/common/Consts.js';
1112
import {
1213
UpdateGroupIdAndConfigIdReducer,
1314
UpdateInputParamReducer,
@@ -138,7 +139,8 @@ export const knowledgeRetrievalComponent = (jadeConfig, shape) => {
138139
from: FROM_TYPE.INPUT,
139140
value: DEFAULT_KNOWLEDGE_REPO_GROUP,
140141
},
141-
DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID
142+
DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID,
143+
DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_EXTENSIONS
142144
],
143145
}],
144146
outputParams: [{

framework/elsa/fit-elsa-react/src/flow/compatibility/compatibilityProcessors.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
DATA_TYPES,
1111
DEFAULT_KNOWLEDGE_REPO_GROUP_STRUCT,
1212
DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID,
13+
DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_EXTENSIONS,
1314
DEFAULT_LLM_KNOWLEDGE_BASES,
1415
DEFAULT_LLM_REFERENCE_OUTPUT,
1516
DEFAULT_ADD_TOOL_NODE_CONTEXT,
@@ -404,6 +405,10 @@ export const knowledgeRetrievalCompatibilityProcessor = (shapeData, graph, pageH
404405
if (Array.isArray(optionValue) && !optionValue.some(v => v.name === 'knowledgeConfigId')) {
405406
optionValue.push(DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID);
406407
}
408+
409+
if (Array.isArray(optionValue) && !optionValue.some(v => v.name === 'extensions')) {
410+
optionValue.push(DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_EXTENSIONS);
411+
}
407412
};
408413

409414
const userIdParamProcess = () => {

framework/fel/java/fel-core/src/main/java/modelengine/fel/core/chat/ChatOption.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66

77
package modelengine.fel.core.chat;
88

9-
import modelengine.fel.core.tool.ToolInfo;
109
import modelengine.fel.core.model.http.SecureConfig;
10+
import modelengine.fel.core.tool.ToolInfo;
1111
import modelengine.fitframework.pattern.builder.BuilderFactory;
1212

1313
import java.util.List;
14+
import java.util.Map;
1415

1516
/**
1617
* 表示聊天大模型参数的实体。
@@ -132,6 +133,13 @@ public interface ChatOption {
132133
*/
133134
SecureConfig secureConfig();
134135

136+
/**
137+
* 获取扩展信息。
138+
*
139+
* @return 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。
140+
*/
141+
Map<String, Object> extensions();
142+
135143
/**
136144
* {@link ChatOption} 的构建器。
137145
*/
@@ -232,6 +240,14 @@ interface Builder {
232240
*/
233241
Builder secureConfig(SecureConfig secureConfig);
234242

243+
/**
244+
* 设置扩展信息。
245+
*
246+
* @param extensions 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。
247+
* @return 表示当前构建器的 {@link Builder}。
248+
*/
249+
Builder extensions(Map<String, Object> extensions);
250+
235251
/**
236252
* 构建对象。
237253
*

framework/fel/java/fel-core/src/main/java/modelengine/fel/core/embed/EmbedOption.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
import modelengine.fitframework.pattern.builder.BuilderFactory;
1010

11+
import java.util.Map;
12+
1113
/**
1214
* 表示嵌入模型参数的实体。
1315
*
@@ -28,6 +30,13 @@ public interface EmbedOption {
2830
*/
2931
String apiKey();
3032

33+
/**
34+
* 获取扩展信息。
35+
*
36+
* @return 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。
37+
*/
38+
Map<String, Object> extensions();
39+
3140
/**
3241
* 表示 {@link EmbedOption} 的构建器。
3342
*/
@@ -48,6 +57,14 @@ interface Builder {
4857
*/
4958
Builder apiKey(String apiKey);
5059

60+
/**
61+
* 设置扩展信息。
62+
*
63+
* @param extensions 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。
64+
* @return 表示当前构建器的 {@link Builder}。
65+
*/
66+
Builder extensions(Map<String, Object> extensions);
67+
5168
/**
5269
* 构建 {@link EmbedOption} 实例。
5370
*

framework/fel/java/fel-core/src/main/java/modelengine/fel/core/image/ImageOption.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
import modelengine.fitframework.pattern.builder.BuilderFactory;
1010

11+
import java.util.Map;
12+
1113
/**
1214
* 表示图像生成模型参数的实体。
1315
*
@@ -42,6 +44,13 @@ public interface ImageOption {
4244
*/
4345
String apiKey();
4446

47+
/**
48+
* 获取扩展信息。
49+
*
50+
* @return 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。
51+
*/
52+
Map<String, Object> extensions();
53+
4554
/**
4655
* 表示 {@link ImageOption} 的构建器。
4756
*/
@@ -78,6 +87,14 @@ interface Builder {
7887
*/
7988
Builder baseUrl(String baseUrl);
8089

90+
/**
91+
* 设置扩展信息。
92+
*
93+
* @param extensions 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。
94+
* @return 表示当前构建器的 {@link Builder}。
95+
*/
96+
Builder extensions(Map<String, Object> extensions);
97+
8198
/**
8299
* 构建 {@link ImageOption} 实例。
83100
*

framework/fel/java/fel-core/src/main/java/modelengine/fel/core/rerank/RerankOption.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import modelengine.fel.core.model.http.SecureConfig;
1010
import modelengine.fitframework.pattern.builder.BuilderFactory;
1111

12+
import java.util.Map;
13+
1214
/**
1315
* 表示重排模型参数的实体。
1416
*
@@ -57,6 +59,13 @@ public interface RerankOption {
5759
*/
5860
SecureConfig secureConfig();
5961

62+
/**
63+
* 获取扩展信息。
64+
*
65+
* @return 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。
66+
*/
67+
Map<String, Object> extensions();
68+
6069
/**
6170
* {@link RerankOption} 的构建器。
6271
*/
@@ -109,6 +118,14 @@ interface Builder {
109118
*/
110119
Builder secureConfig(SecureConfig secureConfig);
111120

121+
/**
122+
* 设置扩展信息。
123+
*
124+
* @param extensions 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。
125+
* @return 表示当前构建器的 {@link Builder}。
126+
*/
127+
Builder extensions(Map<String, Object> extensions);
128+
112129
/**
113130
* 构建对象。
114131
*

0 commit comments

Comments
 (0)