diff --git a/framework/elsa/fit-elsa-react/src/common/Consts.js b/framework/elsa/fit-elsa-react/src/common/Consts.js index 4bc02849e..65269d686 100644 --- a/framework/elsa/fit-elsa-react/src/common/Consts.js +++ b/framework/elsa/fit-elsa-react/src/common/Consts.js @@ -214,4 +214,21 @@ export const DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID = { type: DATA_TYPES.STRING, from: FROM_TYPE.INPUT, value: null, +}; + +export const DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_EXTENSIONS = { + id: `knowledgeExtensions_${uuidv4()}`, + name: 'extensions', + type: DATA_TYPES.OBJECT, + from: FROM_TYPE.EXPAND, + value: [{ + id: uuidv4(), + name: VIRTUAL_CONTEXT_NODE_VARIABLES.USER_ID, + type: DATA_TYPES.STRING, + from: FROM_TYPE.REFERENCE, + referenceId: VIRTUAL_CONTEXT_NODE_VARIABLES.USER_ID, + referenceKey: VIRTUAL_CONTEXT_NODE_VARIABLES.USER_ID, + referenceNode: VIRTUAL_CONTEXT_NODE.id, + value: [VIRTUAL_CONTEXT_NODE_VARIABLES.USER_ID], + }], }; \ No newline at end of file diff --git a/framework/elsa/fit-elsa-react/src/components/knowledgeRetrieval/knowledgeRetrievalComponent.jsx b/framework/elsa/fit-elsa-react/src/components/knowledgeRetrieval/knowledgeRetrievalComponent.jsx index 9d33ac4db..bcecfaace 100644 --- a/framework/elsa/fit-elsa-react/src/components/knowledgeRetrieval/knowledgeRetrievalComponent.jsx +++ b/framework/elsa/fit-elsa-react/src/components/knowledgeRetrieval/knowledgeRetrievalComponent.jsx @@ -7,7 +7,8 @@ import {v4 as uuidv4} from 'uuid'; import {KnowledgeRetrievalWrapper} from '@/components/knowledgeRetrieval/KnowledgeRetrievalWrapper.jsx'; import {retrievalComponent} from '@/components/retrieval/retrievalComponent.jsx'; -import {DATA_TYPES, DEFAULT_KNOWLEDGE_REPO_GROUP, DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID, FROM_TYPE} from '@/common/Consts.js'; +import {DATA_TYPES, DEFAULT_KNOWLEDGE_REPO_GROUP, DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID, FROM_TYPE, + DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_EXTENSIONS} from '@/common/Consts.js'; import { UpdateGroupIdAndConfigIdReducer, UpdateInputParamReducer, @@ -138,7 +139,8 @@ export const knowledgeRetrievalComponent = (jadeConfig, shape) => { from: FROM_TYPE.INPUT, value: DEFAULT_KNOWLEDGE_REPO_GROUP, }, - DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID + DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID, + DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_EXTENSIONS ], }], outputParams: [{ diff --git a/framework/elsa/fit-elsa-react/src/flow/compatibility/compatibilityProcessors.js b/framework/elsa/fit-elsa-react/src/flow/compatibility/compatibilityProcessors.js index 870035ddd..3489d63e4 100644 --- a/framework/elsa/fit-elsa-react/src/flow/compatibility/compatibilityProcessors.js +++ b/framework/elsa/fit-elsa-react/src/flow/compatibility/compatibilityProcessors.js @@ -10,6 +10,7 @@ import { DATA_TYPES, DEFAULT_KNOWLEDGE_REPO_GROUP_STRUCT, DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID, + DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_EXTENSIONS, DEFAULT_LLM_KNOWLEDGE_BASES, DEFAULT_LLM_REFERENCE_OUTPUT, DEFAULT_ADD_TOOL_NODE_CONTEXT, @@ -404,6 +405,10 @@ export const knowledgeRetrievalCompatibilityProcessor = (shapeData, graph, pageH if (Array.isArray(optionValue) && !optionValue.some(v => v.name === 'knowledgeConfigId')) { optionValue.push(DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_ID); } + + if (Array.isArray(optionValue) && !optionValue.some(v => v.name === 'extensions')) { + optionValue.push(DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_EXTENSIONS); + } }; const userIdParamProcess = () => { diff --git a/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/chat/ChatOption.java b/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/chat/ChatOption.java index 92919cb44..97e80f4df 100644 --- a/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/chat/ChatOption.java +++ b/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/chat/ChatOption.java @@ -6,11 +6,12 @@ package modelengine.fel.core.chat; -import modelengine.fel.core.tool.ToolInfo; import modelengine.fel.core.model.http.SecureConfig; +import modelengine.fel.core.tool.ToolInfo; import modelengine.fitframework.pattern.builder.BuilderFactory; import java.util.List; +import java.util.Map; /** * 表示聊天大模型参数的实体。 @@ -132,6 +133,13 @@ public interface ChatOption { */ SecureConfig secureConfig(); + /** + * 获取扩展信息。 + * + * @return 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。 + */ + Map extensions(); + /** * {@link ChatOption} 的构建器。 */ @@ -232,6 +240,14 @@ interface Builder { */ Builder secureConfig(SecureConfig secureConfig); + /** + * 设置扩展信息。 + * + * @param extensions 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。 + * @return 表示当前构建器的 {@link Builder}。 + */ + Builder extensions(Map extensions); + /** * 构建对象。 * diff --git a/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/embed/EmbedOption.java b/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/embed/EmbedOption.java index 9d0a0aa84..3fb86bbb8 100644 --- a/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/embed/EmbedOption.java +++ b/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/embed/EmbedOption.java @@ -8,6 +8,8 @@ import modelengine.fitframework.pattern.builder.BuilderFactory; +import java.util.Map; + /** * 表示嵌入模型参数的实体。 * @@ -28,6 +30,13 @@ public interface EmbedOption { */ String apiKey(); + /** + * 获取扩展信息。 + * + * @return 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。 + */ + Map extensions(); + /** * 表示 {@link EmbedOption} 的构建器。 */ @@ -48,6 +57,14 @@ interface Builder { */ Builder apiKey(String apiKey); + /** + * 设置扩展信息。 + * + * @param extensions 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。 + * @return 表示当前构建器的 {@link Builder}。 + */ + Builder extensions(Map extensions); + /** * 构建 {@link EmbedOption} 实例。 * diff --git a/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/image/ImageOption.java b/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/image/ImageOption.java index 38315daeb..e56ecefe7 100644 --- a/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/image/ImageOption.java +++ b/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/image/ImageOption.java @@ -8,6 +8,8 @@ import modelengine.fitframework.pattern.builder.BuilderFactory; +import java.util.Map; + /** * 表示图像生成模型参数的实体。 * @@ -42,6 +44,13 @@ public interface ImageOption { */ String apiKey(); + /** + * 获取扩展信息。 + * + * @return 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。 + */ + Map extensions(); + /** * 表示 {@link ImageOption} 的构建器。 */ @@ -78,6 +87,14 @@ interface Builder { */ Builder baseUrl(String baseUrl); + /** + * 设置扩展信息。 + * + * @param extensions 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。 + * @return 表示当前构建器的 {@link Builder}。 + */ + Builder extensions(Map extensions); + /** * 构建 {@link ImageOption} 实例。 * diff --git a/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/rerank/RerankOption.java b/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/rerank/RerankOption.java index 3a421db95..7c520ba9f 100644 --- a/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/rerank/RerankOption.java +++ b/framework/fel/java/fel-core/src/main/java/modelengine/fel/core/rerank/RerankOption.java @@ -9,6 +9,8 @@ import modelengine.fel.core.model.http.SecureConfig; import modelengine.fitframework.pattern.builder.BuilderFactory; +import java.util.Map; + /** * 表示重排模型参数的实体。 * @@ -57,6 +59,13 @@ public interface RerankOption { */ SecureConfig secureConfig(); + /** + * 获取扩展信息。 + * + * @return 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。 + */ + Map extensions(); + /** * {@link RerankOption} 的构建器。 */ @@ -109,6 +118,14 @@ interface Builder { */ Builder secureConfig(SecureConfig secureConfig); + /** + * 设置扩展信息。 + * + * @param extensions 表示扩展信息的 {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}。 + * @return 表示当前构建器的 {@link Builder}。 + */ + Builder extensions(Map extensions); + /** * 构建对象。 *