Commit ac4854a4 by papapatrick Committed by GitHub

template add i18n (#2558)

* template add i18n

* add English translation
parent b9a6b71f
...@@ -9,8 +9,9 @@ export const Input_Template_History: FlowNodeInputItemType = { ...@@ -9,8 +9,9 @@ export const Input_Template_History: FlowNodeInputItemType = {
key: NodeInputKeyEnum.history, key: NodeInputKeyEnum.history,
renderTypeList: [FlowNodeInputTypeEnum.numberInput, FlowNodeInputTypeEnum.reference], renderTypeList: [FlowNodeInputTypeEnum.numberInput, FlowNodeInputTypeEnum.reference],
valueType: WorkflowIOValueTypeEnum.chatHistory, valueType: WorkflowIOValueTypeEnum.chatHistory,
label: 'core.module.input.label.chat history', label: i18nT('common:core.module.input.label.chat history'),
description: '最多携带多少轮对话记录', description: i18nT('workflow:max_dialog_rounds'),
required: true, required: true,
min: 0, min: 0,
max: 50, max: 50,
...@@ -21,7 +22,7 @@ export const Input_Template_UserChatInput: FlowNodeInputItemType = { ...@@ -21,7 +22,7 @@ export const Input_Template_UserChatInput: FlowNodeInputItemType = {
key: NodeInputKeyEnum.userChatInput, key: NodeInputKeyEnum.userChatInput,
renderTypeList: [FlowNodeInputTypeEnum.reference, FlowNodeInputTypeEnum.textarea], renderTypeList: [FlowNodeInputTypeEnum.reference, FlowNodeInputTypeEnum.textarea],
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
label: '用户问题', label: i18nT('workflow:user_question'),
required: true required: true
}; };
...@@ -36,14 +37,14 @@ export const Input_Template_DynamicInput: FlowNodeInputItemType = { ...@@ -36,14 +37,14 @@ export const Input_Template_DynamicInput: FlowNodeInputItemType = {
export const Input_Template_SelectAIModel: FlowNodeInputItemType = { export const Input_Template_SelectAIModel: FlowNodeInputItemType = {
key: NodeInputKeyEnum.aiModel, key: NodeInputKeyEnum.aiModel,
renderTypeList: [FlowNodeInputTypeEnum.selectLLMModel, FlowNodeInputTypeEnum.reference], renderTypeList: [FlowNodeInputTypeEnum.selectLLMModel, FlowNodeInputTypeEnum.reference],
label: 'core.module.input.label.aiModel', label: i18nT('common:core.module.input.label.aiModel'),
required: true, required: true,
valueType: WorkflowIOValueTypeEnum.string valueType: WorkflowIOValueTypeEnum.string
}; };
export const Input_Template_SettingAiModel: FlowNodeInputItemType = { export const Input_Template_SettingAiModel: FlowNodeInputItemType = {
key: NodeInputKeyEnum.aiModel, key: NodeInputKeyEnum.aiModel,
renderTypeList: [FlowNodeInputTypeEnum.settingLLMModel, FlowNodeInputTypeEnum.reference], renderTypeList: [FlowNodeInputTypeEnum.settingLLMModel, FlowNodeInputTypeEnum.reference],
label: 'core.module.input.label.aiModel', label: i18nT('common:core.module.input.label.aiModel'),
valueType: WorkflowIOValueTypeEnum.string valueType: WorkflowIOValueTypeEnum.string
}; };
...@@ -52,7 +53,7 @@ export const Input_Template_System_Prompt: FlowNodeInputItemType = { ...@@ -52,7 +53,7 @@ export const Input_Template_System_Prompt: FlowNodeInputItemType = {
renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference], renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference],
max: 3000, max: 3000,
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
label: 'core.ai.Prompt', label: i18nT('common:core.ai.Prompt'),
description: chatNodeSystemPromptTip, description: chatNodeSystemPromptTip,
placeholder: chatNodeSystemPromptTip placeholder: chatNodeSystemPromptTip
}; };
...@@ -61,7 +62,7 @@ export const Input_Template_Dataset_Quote: FlowNodeInputItemType = { ...@@ -61,7 +62,7 @@ export const Input_Template_Dataset_Quote: FlowNodeInputItemType = {
key: NodeInputKeyEnum.aiChatDatasetQuote, key: NodeInputKeyEnum.aiChatDatasetQuote,
renderTypeList: [FlowNodeInputTypeEnum.settingDatasetQuotePrompt], renderTypeList: [FlowNodeInputTypeEnum.settingDatasetQuotePrompt],
label: '', label: '',
debugLabel: '知识库引用', debugLabel: i18nT('workflow:knowledge_base_reference'),
description: '', description: '',
valueType: WorkflowIOValueTypeEnum.datasetQuote valueType: WorkflowIOValueTypeEnum.datasetQuote
}; };
......
...@@ -81,22 +81,23 @@ export const AiChatModule: FlowNodeTemplateType = { ...@@ -81,22 +81,23 @@ export const AiChatModule: FlowNodeTemplateType = {
// settings modal --- // settings modal ---
{ {
...Input_Template_System_Prompt, ...Input_Template_System_Prompt,
label: 'core.ai.Prompt', label: i18nT('common:core.ai.Prompt'),
description: chatNodeSystemPromptTip, description: chatNodeSystemPromptTip,
placeholder: chatNodeSystemPromptTip placeholder: chatNodeSystemPromptTip
}, },
Input_Template_History, Input_Template_History,
Input_Template_Dataset_Quote, Input_Template_Dataset_Quote,
Input_Template_Text_Quote, Input_Template_Text_Quote,
{ ...Input_Template_UserChatInput, toolDescription: '用户问题' }
{ ...Input_Template_UserChatInput, toolDescription: i18nT('workflow:user_question') }
], ],
outputs: [ outputs: [
{ {
id: NodeOutputKeyEnum.history, id: NodeOutputKeyEnum.history,
key: NodeOutputKeyEnum.history, key: NodeOutputKeyEnum.history,
required: true, required: true,
label: 'core.module.output.label.New context', label: i18nT('common:core.module.output.label.New context'),
description: 'core.module.output.description.New context', description: i18nT('common:core.module.output.description.New context'),
valueType: WorkflowIOValueTypeEnum.chatHistory, valueType: WorkflowIOValueTypeEnum.chatHistory,
valueDesc: chatHistoryValueDesc, valueDesc: chatHistoryValueDesc,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
...@@ -105,8 +106,8 @@ export const AiChatModule: FlowNodeTemplateType = { ...@@ -105,8 +106,8 @@ export const AiChatModule: FlowNodeTemplateType = {
id: NodeOutputKeyEnum.answerText, id: NodeOutputKeyEnum.answerText,
key: NodeOutputKeyEnum.answerText, key: NodeOutputKeyEnum.answerText,
required: true, required: true,
label: 'core.module.output.label.Ai response content', label: i18nT('common:core.module.output.label.Ai response content'),
description: 'core.module.output.description.Ai response content', description: i18nT('common:core.module.output.description.Ai response content'),
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
} }
......
...@@ -6,6 +6,7 @@ import { ...@@ -6,6 +6,7 @@ import {
FlowNodeTemplateTypeEnum FlowNodeTemplateTypeEnum
} from '../../constants'; } from '../../constants';
import { getHandleConfig } from '../utils'; import { getHandleConfig } from '../utils';
import { i18nT } from '../../../../../web/i18n/utils';
export const AssignedAnswerModule: FlowNodeTemplateType = { export const AssignedAnswerModule: FlowNodeTemplateType = {
id: FlowNodeTypeEnum.answerNode, id: FlowNodeTypeEnum.answerNode,
...@@ -14,9 +15,9 @@ export const AssignedAnswerModule: FlowNodeTemplateType = { ...@@ -14,9 +15,9 @@ export const AssignedAnswerModule: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(true, true, true, true), sourceHandle: getHandleConfig(true, true, true, true),
targetHandle: getHandleConfig(true, true, true, true), targetHandle: getHandleConfig(true, true, true, true),
avatar: 'core/workflow/template/reply', avatar: 'core/workflow/template/reply',
name: '指定回复', name: i18nT('workflow:assigned_reply'),
intro: intro: i18nT('workflow:intro_assigned_reply'),
'该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。',
version: '481', version: '481',
isTool: true, isTool: true,
inputs: [ inputs: [
...@@ -25,9 +26,9 @@ export const AssignedAnswerModule: FlowNodeTemplateType = { ...@@ -25,9 +26,9 @@ export const AssignedAnswerModule: FlowNodeTemplateType = {
renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference], renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference],
valueType: WorkflowIOValueTypeEnum.any, valueType: WorkflowIOValueTypeEnum.any,
required: true, required: true,
label: 'core.module.input.label.Response content', label: i18nT('common:core.module.input.label.Response content'),
description: 'core.module.input.description.Response content', description: i18nT('common:core.module.input.description.Response content'),
placeholder: 'core.module.input.description.Response content' placeholder: i18nT('common:core.module.input.description.Response content')
} }
], ],
outputs: [] outputs: []
......
...@@ -18,6 +18,7 @@ import { ...@@ -18,6 +18,7 @@ import {
import { Input_Template_System_Prompt } from '../../input'; import { Input_Template_System_Prompt } from '../../input';
import { LLMModelTypeEnum } from '../../../../ai/constants'; import { LLMModelTypeEnum } from '../../../../ai/constants';
import { getHandleConfig } from '../../utils'; import { getHandleConfig } from '../../utils';
import { i18nT } from '../../../../../../web/i18n/utils';
export const ClassifyQuestionModule: FlowNodeTemplateType = { export const ClassifyQuestionModule: FlowNodeTemplateType = {
id: FlowNodeTypeEnum.classifyQuestion, id: FlowNodeTypeEnum.classifyQuestion,
...@@ -26,8 +27,8 @@ export const ClassifyQuestionModule: FlowNodeTemplateType = { ...@@ -26,8 +27,8 @@ export const ClassifyQuestionModule: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(false, false, false, false), sourceHandle: getHandleConfig(false, false, false, false),
targetHandle: getHandleConfig(true, false, true, true), targetHandle: getHandleConfig(true, false, true, true),
avatar: 'core/workflow/template/questionClassify', avatar: 'core/workflow/template/questionClassify',
name: '问题分类', name: i18nT('workflow:question_classification'),
intro: `根据用户的历史记录和当前问题判断该次提问的类型。可以添加多组问题类型,下面是一个模板例子:\n类型1: 打招呼\n类型2: 关于商品“使用”问题\n类型3: 关于商品“购买”问题\n类型4: 其他问题`, intro: i18nT('workflow:intro_question_classification'),
showStatus: true, showStatus: true,
version: '481', version: '481',
inputs: [ inputs: [
...@@ -50,15 +51,15 @@ export const ClassifyQuestionModule: FlowNodeTemplateType = { ...@@ -50,15 +51,15 @@ export const ClassifyQuestionModule: FlowNodeTemplateType = {
label: '', label: '',
value: [ value: [
{ {
value: '打招呼', value: i18nT('workflow:greeting'),
key: 'wqre' key: 'wqre'
}, },
{ {
value: '关于 xxx 的问题', value: i18nT('workflow:about_xxx_question'),
key: 'sdfa' key: 'sdfa'
}, },
{ {
value: '其他问题', value: i18nT('workflow:other_questions'),
key: 'agex' key: 'agex'
} }
] ]
...@@ -69,7 +70,7 @@ export const ClassifyQuestionModule: FlowNodeTemplateType = { ...@@ -69,7 +70,7 @@ export const ClassifyQuestionModule: FlowNodeTemplateType = {
id: NodeOutputKeyEnum.cqResult, id: NodeOutputKeyEnum.cqResult,
key: NodeOutputKeyEnum.cqResult, key: NodeOutputKeyEnum.cqResult,
required: true, required: true,
label: '分类结果', label: i18nT('workflow:classification_result'),
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
} }
......
...@@ -13,6 +13,7 @@ import { ...@@ -13,6 +13,7 @@ import {
import { Input_Template_SelectAIModel, Input_Template_History } from '../../input'; import { Input_Template_SelectAIModel, Input_Template_History } from '../../input';
import { LLMModelTypeEnum } from '../../../../ai/constants'; import { LLMModelTypeEnum } from '../../../../ai/constants';
import { getHandleConfig } from '../../utils'; import { getHandleConfig } from '../../utils';
import { i18nT } from '../../../../../../web/i18n/utils';
export const ContextExtractModule: FlowNodeTemplateType = { export const ContextExtractModule: FlowNodeTemplateType = {
id: FlowNodeTypeEnum.contentExtract, id: FlowNodeTypeEnum.contentExtract,
...@@ -21,8 +22,8 @@ export const ContextExtractModule: FlowNodeTemplateType = { ...@@ -21,8 +22,8 @@ export const ContextExtractModule: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(true, true, true, true), sourceHandle: getHandleConfig(true, true, true, true),
targetHandle: getHandleConfig(true, true, true, true), targetHandle: getHandleConfig(true, true, true, true),
avatar: 'core/workflow/template/extractJson', avatar: 'core/workflow/template/extractJson',
name: '文本内容提取', name: i18nT('workflow:text_content_extraction'),
intro: '可从文本中提取指定的数据,例如:sql语句、搜索关键词、代码等', intro: i18nT('workflow:intro_text_content_extraction'),
showStatus: true, showStatus: true,
isTool: true, isTool: true,
version: '481', version: '481',
...@@ -35,27 +36,25 @@ export const ContextExtractModule: FlowNodeTemplateType = { ...@@ -35,27 +36,25 @@ export const ContextExtractModule: FlowNodeTemplateType = {
key: NodeInputKeyEnum.description, key: NodeInputKeyEnum.description,
renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference], renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference],
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
label: '提取要求描述', label: i18nT('workflow:extraction_requirements_description'),
description: description: i18nT('workflow:extraction_requirements_description_detail'),
'给AI一些对应的背景知识或要求描述,引导AI更好的完成任务。\n该输入框可使用全局变量。', placeholder: i18nT('workflow:extraction_requirements_placeholder')
placeholder:
'例如: \n1. 当前时间为: {{cTime}}。你是一个实验室预约助手,你的任务是帮助用户预约实验室,从文本中获取对应的预约信息。\n2. 你是谷歌搜索助手,需要从文本中提取出合适的搜索词。'
}, },
Input_Template_History, Input_Template_History,
{ {
key: NodeInputKeyEnum.contextExtractInput, key: NodeInputKeyEnum.contextExtractInput,
renderTypeList: [FlowNodeInputTypeEnum.reference, FlowNodeInputTypeEnum.textarea], renderTypeList: [FlowNodeInputTypeEnum.reference, FlowNodeInputTypeEnum.textarea],
label: '需要提取的文本', label: i18nT('workflow:text_to_extract'),
required: true, required: true,
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
toolDescription: '需要检索的内容' toolDescription: i18nT('workflow:content_to_retrieve')
}, },
{ {
key: NodeInputKeyEnum.extractKeys, key: NodeInputKeyEnum.extractKeys,
renderTypeList: [FlowNodeInputTypeEnum.custom], renderTypeList: [FlowNodeInputTypeEnum.custom],
label: '', label: '',
valueType: WorkflowIOValueTypeEnum.any, valueType: WorkflowIOValueTypeEnum.any,
description: "由 '描述' 和 'key' 组成一个目标字段,可提取多个目标字段", description: i18nT('workflow:target_fields_description'),
value: [] // {valueType: string; desc: string; key: string; required: boolean; enum: string[]}[] value: [] // {valueType: string; desc: string; key: string; required: boolean; enum: string[]}[]
} }
], ],
...@@ -63,18 +62,18 @@ export const ContextExtractModule: FlowNodeTemplateType = { ...@@ -63,18 +62,18 @@ export const ContextExtractModule: FlowNodeTemplateType = {
{ {
id: NodeOutputKeyEnum.success, id: NodeOutputKeyEnum.success,
key: NodeOutputKeyEnum.success, key: NodeOutputKeyEnum.success,
label: '字段完全提取', label: i18nT('workflow:full_field_extraction'),
required: true, required: true,
description: '提取字段全部填充时返回 true (模型提取或使用默认值均属于成功)', description: i18nT('workflow:full_field_extraction_description'),
valueType: WorkflowIOValueTypeEnum.boolean, valueType: WorkflowIOValueTypeEnum.boolean,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
}, },
{ {
id: NodeOutputKeyEnum.contextExtractFields, id: NodeOutputKeyEnum.contextExtractFields,
key: NodeOutputKeyEnum.contextExtractFields, key: NodeOutputKeyEnum.contextExtractFields,
label: '完整提取结果', label: i18nT('workflow:complete_extraction_result'),
required: true, required: true,
description: '一个 JSON 字符串,例如:{"name:":"YY","Time":"2023/7/2 18:00"}', description: i18nT('workflow:complete_extraction_result_description'),
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
} }
......
...@@ -6,6 +6,7 @@ import { ...@@ -6,6 +6,7 @@ import {
NodeInputKeyEnum NodeInputKeyEnum
} from '../../constants'; } from '../../constants';
import { getHandleConfig } from '../utils'; import { getHandleConfig } from '../utils';
import { i18nT } from '../../../../../web/i18n/utils';
export const CustomFeedbackNode: FlowNodeTemplateType = { export const CustomFeedbackNode: FlowNodeTemplateType = {
id: FlowNodeTypeEnum.customFeedback, id: FlowNodeTypeEnum.customFeedback,
...@@ -14,8 +15,8 @@ export const CustomFeedbackNode: FlowNodeTemplateType = { ...@@ -14,8 +15,8 @@ export const CustomFeedbackNode: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(true, true, true, true), sourceHandle: getHandleConfig(true, true, true, true),
targetHandle: getHandleConfig(true, true, true, true), targetHandle: getHandleConfig(true, true, true, true),
avatar: 'core/workflow/template/customFeedback', avatar: 'core/workflow/template/customFeedback',
name: '自定义反馈', name: i18nT('workflow:custom_feedback'),
intro: '该模块被触发时,会给当前的对话记录增加一条反馈。可用于自动记录对话效果等。', intro: i18nT('workflow:intro_custom_feedback'),
version: '486', version: '486',
inputs: [ inputs: [
{ {
...@@ -23,7 +24,7 @@ export const CustomFeedbackNode: FlowNodeTemplateType = { ...@@ -23,7 +24,7 @@ export const CustomFeedbackNode: FlowNodeTemplateType = {
renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference], renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference],
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
required: true, required: true,
label: '反馈的文本' label: i18nT('workflow:feedback_text')
} }
], ],
outputs: [] outputs: []
......
...@@ -14,6 +14,7 @@ import { ...@@ -14,6 +14,7 @@ import {
import { getNanoid } from '../../../../common/string/tools'; import { getNanoid } from '../../../../common/string/tools';
import { getHandleConfig } from '../utils'; import { getHandleConfig } from '../utils';
import { FlowNodeInputItemType } from '../../type/io.d'; import { FlowNodeInputItemType } from '../../type/io.d';
import { i18nT } from '../../../../../web/i18n/utils';
export const getOneQuoteInputTemplate = ({ export const getOneQuoteInputTemplate = ({
key = getNanoid(), key = getNanoid(),
...@@ -24,8 +25,8 @@ export const getOneQuoteInputTemplate = ({ ...@@ -24,8 +25,8 @@ export const getOneQuoteInputTemplate = ({
}): FlowNodeInputItemType => ({ }): FlowNodeInputItemType => ({
key, key,
renderTypeList: [FlowNodeInputTypeEnum.reference], renderTypeList: [FlowNodeInputTypeEnum.reference],
label: `引用${index}`, label: `${i18nT('workflow:quote_num')},{ num: ${index} }`,
debugLabel: '知识库引用', debugLabel: i18nT('workflow:knowledge_base_reference'),
canEdit: true, canEdit: true,
valueType: WorkflowIOValueTypeEnum.datasetQuote valueType: WorkflowIOValueTypeEnum.datasetQuote
}); });
...@@ -37,15 +38,17 @@ export const DatasetConcatModule: FlowNodeTemplateType = { ...@@ -37,15 +38,17 @@ export const DatasetConcatModule: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(true, true, true, true), sourceHandle: getHandleConfig(true, true, true, true),
targetHandle: getHandleConfig(true, true, true, true), targetHandle: getHandleConfig(true, true, true, true),
avatar: 'core/workflow/template/datasetConcat', avatar: 'core/workflow/template/datasetConcat',
name: '知识库搜索引用合并', name: i18nT('workflow:knowledge_base_search_merge'),
intro: '可以将多个知识库搜索结果进行合并输出。使用 RRF 的合并方式进行最终排序输出。', intro: i18nT('workflow:intro_knowledge_base_search_merge'),
showStatus: false, showStatus: false,
version: '486', version: '486',
inputs: [ inputs: [
{ {
key: NodeInputKeyEnum.datasetMaxTokens, key: NodeInputKeyEnum.datasetMaxTokens,
renderTypeList: [FlowNodeInputTypeEnum.custom], renderTypeList: [FlowNodeInputTypeEnum.custom],
label: '最大 Tokens', label: i18nT('workflow:max_tokens'),
value: 3000, value: 3000,
valueType: WorkflowIOValueTypeEnum.number valueType: WorkflowIOValueTypeEnum.number
}, },
...@@ -60,7 +63,7 @@ export const DatasetConcatModule: FlowNodeTemplateType = { ...@@ -60,7 +63,7 @@ export const DatasetConcatModule: FlowNodeTemplateType = {
{ {
id: NodeOutputKeyEnum.datasetQuoteQA, id: NodeOutputKeyEnum.datasetQuoteQA,
key: NodeOutputKeyEnum.datasetQuoteQA, key: NodeOutputKeyEnum.datasetQuoteQA,
label: 'core.module.Dataset quote.label', label: i18nT('common:core.module.Dataset quote.label'),
type: FlowNodeOutputTypeEnum.static, type: FlowNodeOutputTypeEnum.static,
valueType: WorkflowIOValueTypeEnum.datasetQuote, valueType: WorkflowIOValueTypeEnum.datasetQuote,
valueDesc: datasetQuoteValueDesc valueDesc: datasetQuoteValueDesc
......
...@@ -34,7 +34,7 @@ export const DatasetSearchModule: FlowNodeTemplateType = { ...@@ -34,7 +34,7 @@ export const DatasetSearchModule: FlowNodeTemplateType = {
{ {
key: NodeInputKeyEnum.datasetSelectList, key: NodeInputKeyEnum.datasetSelectList,
renderTypeList: [FlowNodeInputTypeEnum.selectDataset, FlowNodeInputTypeEnum.reference], renderTypeList: [FlowNodeInputTypeEnum.selectDataset, FlowNodeInputTypeEnum.reference],
label: 'core.module.input.label.Select dataset', label: i18nT('common:core.module.input.label.Select dataset'),
value: [], value: [],
valueType: WorkflowIOValueTypeEnum.selectDataset, valueType: WorkflowIOValueTypeEnum.selectDataset,
required: true required: true
...@@ -90,34 +90,24 @@ export const DatasetSearchModule: FlowNodeTemplateType = { ...@@ -90,34 +90,24 @@ export const DatasetSearchModule: FlowNodeTemplateType = {
}, },
{ {
...Input_Template_UserChatInput, ...Input_Template_UserChatInput,
toolDescription: '需要检索的内容' toolDescription: i18nT('workflow:content_to_search')
}, },
{ {
key: NodeInputKeyEnum.collectionFilterMatch, key: NodeInputKeyEnum.collectionFilterMatch,
renderTypeList: [FlowNodeInputTypeEnum.JSONEditor, FlowNodeInputTypeEnum.reference], renderTypeList: [FlowNodeInputTypeEnum.JSONEditor, FlowNodeInputTypeEnum.reference],
label: '集合元数据过滤', label: i18nT('workflow:collection_metadata_filter'),
valueType: WorkflowIOValueTypeEnum.object, valueType: WorkflowIOValueTypeEnum.object,
isPro: true, isPro: true,
description: `目前支持标签和创建时间过滤,需按照以下格式填写: description: i18nT('workflow:filter_description')
{
"tags": {
"$and": ["标签 1","标签 2"],
"$or": ["有 $and 标签时,and 生效,or 不生效"]
},
"createTime": {
"$gte": "YYYY-MM-DD HH:mm 格式即可,集合的创建时间大于该时间",
"$lte": "YYYY-MM-DD HH:mm 格式即可,集合的创建时间小于该时间,可和 $gte 共同使用"
}
}
`
} }
], ],
outputs: [ outputs: [
{ {
id: NodeOutputKeyEnum.datasetQuoteQA, id: NodeOutputKeyEnum.datasetQuoteQA,
key: NodeOutputKeyEnum.datasetQuoteQA, key: NodeOutputKeyEnum.datasetQuoteQA,
label: 'core.module.Dataset quote.label', label: i18nT('common:core.module.Dataset quote.label'),
description: '特殊数组格式,搜索结果为空时,返回空数组。', description: i18nT('workflow:special_array_format'),
type: FlowNodeOutputTypeEnum.static, type: FlowNodeOutputTypeEnum.static,
valueType: WorkflowIOValueTypeEnum.datasetQuote, valueType: WorkflowIOValueTypeEnum.datasetQuote,
valueDesc: datasetQuoteValueDesc valueDesc: datasetQuoteValueDesc
......
...@@ -13,6 +13,7 @@ import { ...@@ -13,6 +13,7 @@ import {
import { Input_Template_DynamicInput } from '../input'; import { Input_Template_DynamicInput } from '../input';
import { Output_Template_AddOutput } from '../output'; import { Output_Template_AddOutput } from '../output';
import { getHandleConfig } from '../utils'; import { getHandleConfig } from '../utils';
import { i18nT } from '../../../../../web/i18n/utils';
export const HttpNode468: FlowNodeTemplateType = { export const HttpNode468: FlowNodeTemplateType = {
id: FlowNodeTypeEnum.httpRequest468, id: FlowNodeTypeEnum.httpRequest468,
...@@ -21,15 +22,15 @@ export const HttpNode468: FlowNodeTemplateType = { ...@@ -21,15 +22,15 @@ export const HttpNode468: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(true, true, true, true), sourceHandle: getHandleConfig(true, true, true, true),
targetHandle: getHandleConfig(true, true, true, true), targetHandle: getHandleConfig(true, true, true, true),
avatar: 'core/workflow/template/httpRequest', avatar: 'core/workflow/template/httpRequest',
name: 'HTTP 请求', name: i18nT('workflow:http_request'),
intro: '可以发出一个 HTTP 请求,实现更为复杂的操作(联网搜索、数据库查询等)', intro: i18nT('workflow:intro_http_request'),
showStatus: true, showStatus: true,
isTool: true, isTool: true,
version: '481', version: '481',
inputs: [ inputs: [
{ {
...Input_Template_DynamicInput, ...Input_Template_DynamicInput,
description: 'core.module.input.description.HTTP Dynamic Input', description: i18nT('common:core.module.input.description.HTTP Dynamic Input'),
customInputConfig: { customInputConfig: {
selectValueTypeList: Object.values(WorkflowIOValueTypeEnum), selectValueTypeList: Object.values(WorkflowIOValueTypeEnum),
showDescription: false, showDescription: false,
...@@ -59,7 +60,7 @@ export const HttpNode468: FlowNodeTemplateType = { ...@@ -59,7 +60,7 @@ export const HttpNode468: FlowNodeTemplateType = {
renderTypeList: [FlowNodeInputTypeEnum.hidden], renderTypeList: [FlowNodeInputTypeEnum.hidden],
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
label: '', label: '',
description: 'core.module.input.description.Http Request Url', description: i18nT('common:core.module.input.description.Http Request Url'),
placeholder: 'https://api.ai.com/getInventory', placeholder: 'https://api.ai.com/getInventory',
required: false required: false
}, },
...@@ -69,8 +70,8 @@ export const HttpNode468: FlowNodeTemplateType = { ...@@ -69,8 +70,8 @@ export const HttpNode468: FlowNodeTemplateType = {
valueType: WorkflowIOValueTypeEnum.any, valueType: WorkflowIOValueTypeEnum.any,
value: [], value: [],
label: '', label: '',
description: 'core.module.input.description.Http Request Header', description: i18nT('common:core.module.input.description.Http Request Header'),
placeholder: 'core.module.input.description.Http Request Header', placeholder: i18nT('common:core.module.input.description.Http Request Header'),
required: false required: false
}, },
{ {
...@@ -97,17 +98,17 @@ export const HttpNode468: FlowNodeTemplateType = { ...@@ -97,17 +98,17 @@ export const HttpNode468: FlowNodeTemplateType = {
{ {
id: NodeOutputKeyEnum.error, id: NodeOutputKeyEnum.error,
key: NodeOutputKeyEnum.error, key: NodeOutputKeyEnum.error,
label: '请求错误', label: i18nT('workflow:request_error'),
description: 'HTTP请求错误信息,成功时返回空', description: i18nT('workflow:http_request_error_info'),
valueType: WorkflowIOValueTypeEnum.object, valueType: WorkflowIOValueTypeEnum.object,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
}, },
{ {
id: NodeOutputKeyEnum.httpRawResponse, id: NodeOutputKeyEnum.httpRawResponse,
key: NodeOutputKeyEnum.httpRawResponse, key: NodeOutputKeyEnum.httpRawResponse,
label: '原始响应',
required: true, required: true,
description: 'HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。', label: i18nT('workflow:raw_response'),
description: i18nT('workflow:http_raw_response_description'),
valueType: WorkflowIOValueTypeEnum.any, valueType: WorkflowIOValueTypeEnum.any,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
} }
......
import { i18nT } from '../../../../../../web/i18n/utils';
export enum VariableConditionEnum { export enum VariableConditionEnum {
equalTo = 'equalTo', equalTo = 'equalTo',
notEqual = 'notEqual', notEqual = 'notEqual',
...@@ -29,64 +31,85 @@ export enum IfElseResultEnum { ...@@ -29,64 +31,85 @@ export enum IfElseResultEnum {
} }
export const stringConditionList = [ export const stringConditionList = [
{ label: '为空', value: VariableConditionEnum.isEmpty }, { label: i18nT('workflow:is_empty'), value: VariableConditionEnum.isEmpty },
{ label: '不为空', value: VariableConditionEnum.isNotEmpty }, { label: i18nT('workflow:is_not_empty'), value: VariableConditionEnum.isNotEmpty },
{ label: '等于', value: VariableConditionEnum.equalTo }, { label: i18nT('workflow:is_equal_to'), value: VariableConditionEnum.equalTo },
{ label: '不等于', value: VariableConditionEnum.notEqual }, { label: i18nT('workflow:is_not_equal'), value: VariableConditionEnum.notEqual },
{ label: '正则', value: VariableConditionEnum.reg }, { label: i18nT('workflow:regex'), value: VariableConditionEnum.reg },
{ label: '包含', value: VariableConditionEnum.include }, { label: i18nT('workflow:contains'), value: VariableConditionEnum.include },
{ label: '不包含', value: VariableConditionEnum.notInclude }, { label: i18nT('workflow:not_contains'), value: VariableConditionEnum.notInclude },
{ label: '开始为', value: VariableConditionEnum.startWith }, { label: i18nT('workflow:start_with'), value: VariableConditionEnum.startWith },
{ label: '结束为', value: VariableConditionEnum.endWith } { label: i18nT('workflow:end_with'), value: VariableConditionEnum.endWith }
]; ];
export const numberConditionList = [ export const numberConditionList = [
{ label: '为空', value: VariableConditionEnum.isEmpty }, { label: i18nT('workflow:is_empty'), value: VariableConditionEnum.isEmpty },
{ label: '不为空', value: VariableConditionEnum.isNotEmpty }, { label: i18nT('workflow:is_not_empty'), value: VariableConditionEnum.isNotEmpty },
{ label: '等于', value: VariableConditionEnum.equalTo }, { label: i18nT('workflow:is_equal_to'), value: VariableConditionEnum.equalTo },
{ label: '不等于', value: VariableConditionEnum.notEqual }, { label: i18nT('workflow:is_not_equal'), value: VariableConditionEnum.notEqual },
{ label: '大于', value: VariableConditionEnum.greaterThan }, { label: i18nT('workflow:greater_than'), value: VariableConditionEnum.greaterThan },
{ label: '大于等于', value: VariableConditionEnum.greaterThanOrEqualTo }, {
{ label: '小于', value: VariableConditionEnum.lessThan }, label: i18nT('workflow:greater_than_or_equal_to'),
{ label: '小于等于', value: VariableConditionEnum.lessThanOrEqualTo } value: VariableConditionEnum.greaterThanOrEqualTo
},
{ label: i18nT('workflow:less_than'), value: VariableConditionEnum.lessThan },
{ label: i18nT('workflow:less_than_or_equal_to'), value: VariableConditionEnum.lessThanOrEqualTo }
]; ];
export const booleanConditionList = [ export const booleanConditionList = [
{ label: '为空', value: VariableConditionEnum.isEmpty }, { label: i18nT('workflow:is_empty'), value: VariableConditionEnum.isEmpty },
{ label: '不为空', value: VariableConditionEnum.isNotEmpty }, { label: i18nT('workflow:is_not_empty'), value: VariableConditionEnum.isNotEmpty },
{ label: '等于', value: VariableConditionEnum.equalTo } { label: i18nT('workflow:is_equal_to'), value: VariableConditionEnum.equalTo }
]; ];
export const arrayConditionList = [ export const arrayConditionList = [
{ label: '为空', value: VariableConditionEnum.isEmpty }, { label: i18nT('workflow:is_empty'), value: VariableConditionEnum.isEmpty },
{ label: '不为空', value: VariableConditionEnum.isNotEmpty }, { label: i18nT('workflow:is_not_empty'), value: VariableConditionEnum.isNotEmpty },
{ label: '包含', value: VariableConditionEnum.include }, { label: i18nT('workflow:contains'), value: VariableConditionEnum.include },
{ label: '不包含', value: VariableConditionEnum.notInclude }, { label: i18nT('workflow:not_contains'), value: VariableConditionEnum.notInclude },
{ label: '长度等于', value: VariableConditionEnum.lengthEqualTo }, { label: i18nT('workflow:length_equal_to'), value: VariableConditionEnum.lengthEqualTo },
{ label: '长度不等于', value: VariableConditionEnum.lengthNotEqualTo }, { label: i18nT('workflow:length_not_equal_to'), value: VariableConditionEnum.lengthNotEqualTo },
{ label: '长度大于', value: VariableConditionEnum.lengthGreaterThan }, { label: i18nT('workflow:length_greater_than'), value: VariableConditionEnum.lengthGreaterThan },
{ label: '长度大于等于', value: VariableConditionEnum.lengthGreaterThanOrEqualTo }, {
{ label: '长度小于', value: VariableConditionEnum.lengthLessThan }, label: i18nT('workflow:length_greater_than_or_equal_to'),
{ label: '长度小于等于', value: VariableConditionEnum.lengthLessThanOrEqualTo } value: VariableConditionEnum.lengthGreaterThanOrEqualTo
},
{ label: i18nT('workflow:length_less_than'), value: VariableConditionEnum.lengthLessThan },
{
label: i18nT('workflow:length_less_than_or_equal_to'),
value: VariableConditionEnum.lengthLessThanOrEqualTo
}
]; ];
export const objectConditionList = [ export const objectConditionList = [
{ label: '为空', value: VariableConditionEnum.isEmpty }, { label: i18nT('workflow:is_empty'), value: VariableConditionEnum.isEmpty },
{ label: '不为空', value: VariableConditionEnum.isNotEmpty } { label: i18nT('workflow:is_not_empty'), value: VariableConditionEnum.isNotEmpty }
]; ];
export const allConditionList = [ export const allConditionList = [
{ label: '为空', value: VariableConditionEnum.isEmpty }, { label: i18nT('workflow:is_empty'), value: VariableConditionEnum.isEmpty },
{ label: '不为空', value: VariableConditionEnum.isNotEmpty }, { label: i18nT('workflow:is_not_empty'), value: VariableConditionEnum.isNotEmpty },
{ label: '等于', value: VariableConditionEnum.equalTo }, { label: i18nT('workflow:is_equal_to'), value: VariableConditionEnum.equalTo },
{ label: '不等于', value: VariableConditionEnum.notEqual }, { label: i18nT('workflow:is_not_equal'), value: VariableConditionEnum.notEqual },
{ label: '包含', value: VariableConditionEnum.include }, { label: i18nT('workflow:contains'), value: VariableConditionEnum.include },
{ label: '不包含', value: VariableConditionEnum.notInclude }, { label: i18nT('workflow:not_contains'), value: VariableConditionEnum.notInclude },
{ label: '开始为', value: VariableConditionEnum.startWith }, { label: i18nT('workflow:start_with'), value: VariableConditionEnum.startWith },
{ label: '结束为', value: VariableConditionEnum.endWith }, { label: i18nT('workflow:end_with'), value: VariableConditionEnum.endWith },
{ label: '大于', value: VariableConditionEnum.greaterThan }, { label: i18nT('workflow:greater_than'), value: VariableConditionEnum.greaterThan },
{ label: '大于等于', value: VariableConditionEnum.greaterThanOrEqualTo }, {
{ label: '小于', value: VariableConditionEnum.lessThan }, label: i18nT('workflow:greater_than_or_equal_to'),
{ label: '小于等于', value: VariableConditionEnum.lessThanOrEqualTo }, value: VariableConditionEnum.greaterThanOrEqualTo
{ label: '长度等于', value: VariableConditionEnum.lengthEqualTo }, },
{ label: '长度不等于', value: VariableConditionEnum.lengthNotEqualTo }, { label: i18nT('workflow:less_than'), value: VariableConditionEnum.lessThan },
{ label: '长度大于', value: VariableConditionEnum.lengthGreaterThan }, {
{ label: '长度大于等于', value: VariableConditionEnum.lengthGreaterThanOrEqualTo }, label: i18nT('workflow:less_than_or_equal_to'),
{ label: '长度小于', value: VariableConditionEnum.lengthLessThan }, value: VariableConditionEnum.lessThanOrEqualTo
{ label: '长度小于等于', value: VariableConditionEnum.lengthLessThanOrEqualTo } },
{ label: i18nT('workflow:length_equal_to'), value: VariableConditionEnum.lengthEqualTo },
{ label: i18nT('workflow:length_not_equal_to'), value: VariableConditionEnum.lengthNotEqualTo },
{ label: i18nT('workflow:length_greater_than'), value: VariableConditionEnum.lengthGreaterThan },
{
label: i18nT('workflow:length_greater_than_or_equal_to'),
value: VariableConditionEnum.lengthGreaterThanOrEqualTo
},
{ label: i18nT('workflow:length_less_than'), value: VariableConditionEnum.lengthLessThan },
{
label: i18nT('workflow:length_less_than_or_equal_to'),
value: VariableConditionEnum.lengthLessThanOrEqualTo
}
]; ];
import { i18nT } from '../../../../../../web/i18n/utils';
import { import {
FlowNodeTemplateTypeEnum, FlowNodeTemplateTypeEnum,
NodeInputKeyEnum, NodeInputKeyEnum,
...@@ -19,8 +20,8 @@ export const IfElseNode: FlowNodeTemplateType = { ...@@ -19,8 +20,8 @@ export const IfElseNode: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(false, false, false, false), sourceHandle: getHandleConfig(false, false, false, false),
targetHandle: getHandleConfig(true, false, true, true), targetHandle: getHandleConfig(true, false, true, true),
avatar: 'core/workflow/template/ifelse', avatar: 'core/workflow/template/ifelse',
name: '判断器', name: i18nT('workflow:condition_checker'),
intro: '根据一定的条件,执行不同的分支。', intro: i18nT('workflow:execute_different_branches_based_on_conditions'),
showStatus: true, showStatus: true,
version: '481', version: '481',
inputs: [ inputs: [
...@@ -47,7 +48,7 @@ export const IfElseNode: FlowNodeTemplateType = { ...@@ -47,7 +48,7 @@ export const IfElseNode: FlowNodeTemplateType = {
{ {
id: NodeOutputKeyEnum.ifElseResult, id: NodeOutputKeyEnum.ifElseResult,
key: NodeOutputKeyEnum.ifElseResult, key: NodeOutputKeyEnum.ifElseResult,
label: '判断结果', label: i18nT('workflow:judgment_result'),
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
} }
......
...@@ -13,6 +13,7 @@ import { ...@@ -13,6 +13,7 @@ import {
import { Input_Template_DynamicInput } from '../input'; import { Input_Template_DynamicInput } from '../input';
import { Output_Template_AddOutput } from '../output'; import { Output_Template_AddOutput } from '../output';
import { getHandleConfig } from '../utils'; import { getHandleConfig } from '../utils';
import { i18nT } from '../../../../../web/i18n/utils';
export const nodeLafCustomInputConfig = { export const nodeLafCustomInputConfig = {
selectValueTypeList: Object.values(WorkflowIOValueTypeEnum), selectValueTypeList: Object.values(WorkflowIOValueTypeEnum),
...@@ -27,15 +28,15 @@ export const LafModule: FlowNodeTemplateType = { ...@@ -27,15 +28,15 @@ export const LafModule: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(true, true, true, true), sourceHandle: getHandleConfig(true, true, true, true),
targetHandle: getHandleConfig(true, true, true, true), targetHandle: getHandleConfig(true, true, true, true),
avatar: 'core/workflow/template/lafDispatch', avatar: 'core/workflow/template/lafDispatch',
name: 'Laf 函数调用(测试)', name: i18nT('workflow:laf_function_call_test'),
intro: '可以调用Laf账号下的云函数。', intro: i18nT('workflow:intro_laf_function_call'),
showStatus: true, showStatus: true,
isTool: true, isTool: true,
version: '481', version: '481',
inputs: [ inputs: [
{ {
...Input_Template_DynamicInput, ...Input_Template_DynamicInput,
description: '接收前方节点的输出值作为变量,这些变量可以被 Laf 请求参数使用。', description: i18nT('workflow:dynamic_input_description'),
customInputConfig: nodeLafCustomInputConfig customInputConfig: nodeLafCustomInputConfig
}, },
{ {
...@@ -52,8 +53,8 @@ export const LafModule: FlowNodeTemplateType = { ...@@ -52,8 +53,8 @@ export const LafModule: FlowNodeTemplateType = {
{ {
id: NodeOutputKeyEnum.httpRawResponse, id: NodeOutputKeyEnum.httpRawResponse,
key: NodeOutputKeyEnum.httpRawResponse, key: NodeOutputKeyEnum.httpRawResponse,
label: '原始响应', label: i18nT('workflow:raw_response'),
description: 'HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。', description: i18nT('workflow:http_raw_response_description'),
valueType: WorkflowIOValueTypeEnum.any, valueType: WorkflowIOValueTypeEnum.any,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
}, },
......
import { i18nT } from '../../../../../web/i18n/utils';
import { FlowNodeTemplateTypeEnum } from '../../constants'; import { FlowNodeTemplateTypeEnum } from '../../constants';
import { FlowNodeTypeEnum } from '../../node/constant'; import { FlowNodeTypeEnum } from '../../node/constant';
import { FlowNodeTemplateType } from '../../type/node'; import { FlowNodeTemplateType } from '../../type/node';
...@@ -12,8 +13,8 @@ export const PluginInputModule: FlowNodeTemplateType = { ...@@ -12,8 +13,8 @@ export const PluginInputModule: FlowNodeTemplateType = {
unique: true, unique: true,
forbidDelete: true, forbidDelete: true,
avatar: 'core/workflow/template/workflowStart', avatar: 'core/workflow/template/workflowStart',
name: '插件输入', name: i18nT('workflow:plugin_input'),
intro: '可以配置插件需要哪些输入,利用这些输入来运行插件', intro: i18nT('workflow:intro_plugin_input'),
showStatus: false, showStatus: false,
version: '481', version: '481',
inputs: [], inputs: [],
......
import { i18nT } from '../../../../../web/i18n/utils';
import { FlowNodeTemplateTypeEnum } from '../../constants'; import { FlowNodeTemplateTypeEnum } from '../../constants';
import { FlowNodeTypeEnum } from '../../node/constant'; import { FlowNodeTypeEnum } from '../../node/constant';
import { FlowNodeTemplateType } from '../../type/node'; import { FlowNodeTemplateType } from '../../type/node';
...@@ -12,8 +13,8 @@ export const PluginOutputModule: FlowNodeTemplateType = { ...@@ -12,8 +13,8 @@ export const PluginOutputModule: FlowNodeTemplateType = {
unique: true, unique: true,
forbidDelete: true, forbidDelete: true,
avatar: 'core/workflow/template/pluginOutput', avatar: 'core/workflow/template/pluginOutput',
name: '自定义插件输出', name: i18nT('workflow:custom_plugin_output'),
intro: '自定义配置外部输出,使用插件时,仅暴露自定义配置的输出', intro: i18nT('workflow:intro_custom_plugin_output'),
showStatus: false, showStatus: false,
version: '481', version: '481',
inputs: [], inputs: [],
......
...@@ -17,6 +17,7 @@ import { ...@@ -17,6 +17,7 @@ import {
} from '../input'; } from '../input';
import { LLMModelTypeEnum } from '../../../ai/constants'; import { LLMModelTypeEnum } from '../../../ai/constants';
import { getHandleConfig } from '../utils'; import { getHandleConfig } from '../utils';
import { i18nT } from '../../../../../web/i18n/utils';
export const AiQueryExtension: FlowNodeTemplateType = { export const AiQueryExtension: FlowNodeTemplateType = {
id: FlowNodeTypeEnum.queryExtension, id: FlowNodeTypeEnum.queryExtension,
...@@ -25,9 +26,8 @@ export const AiQueryExtension: FlowNodeTemplateType = { ...@@ -25,9 +26,8 @@ export const AiQueryExtension: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(true, true, true, true), sourceHandle: getHandleConfig(true, true, true, true),
targetHandle: getHandleConfig(true, true, true, true), targetHandle: getHandleConfig(true, true, true, true),
avatar: 'core/workflow/template/queryExtension', avatar: 'core/workflow/template/queryExtension',
name: '问题优化', name: i18nT('workflow:question_optimization'),
intro: intro: i18nT('workflow:intro_question_optimization'),
'使用问题优化功能,可以提高知识库连续对话时搜索的精度。使用该功能后,会先利用 AI 根据上下文构建一个或多个新的检索词,这些检索词更利于进行知识库搜索。该模块已内置在知识库搜索模块中,如果您仅进行一次知识库搜索,可直接使用知识库内置的补全功能。',
showStatus: true, showStatus: true,
version: '481', version: '481',
inputs: [ inputs: [
...@@ -38,11 +38,11 @@ export const AiQueryExtension: FlowNodeTemplateType = { ...@@ -38,11 +38,11 @@ export const AiQueryExtension: FlowNodeTemplateType = {
{ {
key: NodeInputKeyEnum.aiSystemPrompt, key: NodeInputKeyEnum.aiSystemPrompt,
renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference], renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference],
label: 'core.app.edit.Query extension background prompt', label: i18nT('common:core.app.edit.Query extension background prompt'),
max: 300, max: 300,
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
description: 'core.app.edit.Query extension background tip', description: i18nT('common:core.app.edit.Query extension background tip'),
placeholder: 'core.module.QueryExtension.placeholder' placeholder: i18nT('common:core.module.QueryExtension.placeholder')
}, },
Input_Template_History, Input_Template_History,
Input_Template_UserChatInput Input_Template_UserChatInput
...@@ -51,8 +51,8 @@ export const AiQueryExtension: FlowNodeTemplateType = { ...@@ -51,8 +51,8 @@ export const AiQueryExtension: FlowNodeTemplateType = {
{ {
id: NodeOutputKeyEnum.text, id: NodeOutputKeyEnum.text,
key: NodeOutputKeyEnum.text, key: NodeOutputKeyEnum.text,
label: 'core.module.output.label.query extension result', label: i18nT('common:core.module.output.label.query extension result'),
description: 'core.module.output.description.query extension result', description: i18nT('common:core.module.output.description.query extension result'),
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
} }
......
...@@ -13,6 +13,7 @@ import { ...@@ -13,6 +13,7 @@ import {
} from '../../../constants'; } from '../../../constants';
import { Input_Template_History, Input_Template_UserChatInput } from '../../input'; import { Input_Template_History, Input_Template_UserChatInput } from '../../input';
import { getHandleConfig } from '../../utils'; import { getHandleConfig } from '../../utils';
import { i18nT } from '../../../../../../web/i18n/utils';
export const RunAppModule: FlowNodeTemplateType = { export const RunAppModule: FlowNodeTemplateType = {
id: FlowNodeTypeEnum.runApp, id: FlowNodeTypeEnum.runApp,
...@@ -21,8 +22,8 @@ export const RunAppModule: FlowNodeTemplateType = { ...@@ -21,8 +22,8 @@ export const RunAppModule: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(true, true, true, true), sourceHandle: getHandleConfig(true, true, true, true),
targetHandle: getHandleConfig(true, true, true, true), targetHandle: getHandleConfig(true, true, true, true),
avatar: 'core/workflow/template/runApp', avatar: 'core/workflow/template/runApp',
name: '应用调用', name: i18nT('workflow:application_call'),
intro: '可以选择一个其他应用进行调用', intro: i18nT('workflow:select_another_application_to_call'),
showStatus: true, showStatus: true,
version: '481', version: '481',
isTool: true, isTool: true,
...@@ -31,22 +32,22 @@ export const RunAppModule: FlowNodeTemplateType = { ...@@ -31,22 +32,22 @@ export const RunAppModule: FlowNodeTemplateType = {
key: NodeInputKeyEnum.runAppSelectApp, key: NodeInputKeyEnum.runAppSelectApp,
renderTypeList: [FlowNodeInputTypeEnum.selectApp, FlowNodeInputTypeEnum.reference], renderTypeList: [FlowNodeInputTypeEnum.selectApp, FlowNodeInputTypeEnum.reference],
valueType: WorkflowIOValueTypeEnum.selectApp, valueType: WorkflowIOValueTypeEnum.selectApp,
label: '选择一个应用', label: i18nT('workflow:select_an_application'),
description: '选择一个其他应用进行调用', description: i18nT('workflow:choose_another_application_to_call'),
required: true required: true
}, },
Input_Template_History, Input_Template_History,
{ {
...Input_Template_UserChatInput, ...Input_Template_UserChatInput,
toolDescription: '用户问题' toolDescription: i18nT('workflow:user_question')
} }
], ],
outputs: [ outputs: [
{ {
id: NodeOutputKeyEnum.history, id: NodeOutputKeyEnum.history,
key: NodeOutputKeyEnum.history, key: NodeOutputKeyEnum.history,
label: '新的上下文', label: i18nT('workflow:new_context'),
description: '将该应用回复内容拼接到历史记录中,作为新的上下文返回', description: i18nT('workflow:append_application_reply_to_history_as_new_context'),
valueType: WorkflowIOValueTypeEnum.chatHistory, valueType: WorkflowIOValueTypeEnum.chatHistory,
valueDesc: chatHistoryValueDesc, valueDesc: chatHistoryValueDesc,
required: true, required: true,
...@@ -55,8 +56,8 @@ export const RunAppModule: FlowNodeTemplateType = { ...@@ -55,8 +56,8 @@ export const RunAppModule: FlowNodeTemplateType = {
{ {
id: NodeOutputKeyEnum.answerText, id: NodeOutputKeyEnum.answerText,
key: NodeOutputKeyEnum.answerText, key: NodeOutputKeyEnum.answerText,
label: '回复的文本', label: i18nT('workflow:reply_text'),
description: '将在应用完全结束后触发', description: i18nT('workflow:trigger_after_application_completion'),
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
} }
......
...@@ -14,6 +14,7 @@ import { getHandleConfig } from '../../utils'; ...@@ -14,6 +14,7 @@ import { getHandleConfig } from '../../utils';
import { Input_Template_DynamicInput } from '../../input'; import { Input_Template_DynamicInput } from '../../input';
import { Output_Template_AddOutput } from '../../output'; import { Output_Template_AddOutput } from '../../output';
import { JS_TEMPLATE } from './constants'; import { JS_TEMPLATE } from './constants';
import { i18nT } from '../../../../../../web/i18n/utils';
export const CodeNode: FlowNodeTemplateType = { export const CodeNode: FlowNodeTemplateType = {
id: FlowNodeTypeEnum.code, id: FlowNodeTypeEnum.code,
...@@ -22,14 +23,14 @@ export const CodeNode: FlowNodeTemplateType = { ...@@ -22,14 +23,14 @@ export const CodeNode: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(true, true, true, true), sourceHandle: getHandleConfig(true, true, true, true),
targetHandle: getHandleConfig(true, true, true, true), targetHandle: getHandleConfig(true, true, true, true),
avatar: 'core/workflow/template/codeRun', avatar: 'core/workflow/template/codeRun',
name: '代码运行', name: i18nT('workflow:code_execution'),
intro: '执行一段简单的脚本代码,通常用于进行复杂的数据处理。', intro: i18nT('workflow:execute_a_simple_script_code_usually_for_complex_data_processing'),
showStatus: true, showStatus: true,
version: '482', version: '482',
inputs: [ inputs: [
{ {
...Input_Template_DynamicInput, ...Input_Template_DynamicInput,
description: '这些变量会作为代码的运行的输入参数', description: i18nT('workflow:these_variables_will_be_input_parameters_for_code_execution'),
customInputConfig: { customInputConfig: {
selectValueTypeList: Object.values(WorkflowIOValueTypeEnum), selectValueTypeList: Object.values(WorkflowIOValueTypeEnum),
showDescription: false, showDescription: false,
...@@ -78,20 +79,20 @@ export const CodeNode: FlowNodeTemplateType = { ...@@ -78,20 +79,20 @@ export const CodeNode: FlowNodeTemplateType = {
outputs: [ outputs: [
{ {
...Output_Template_AddOutput, ...Output_Template_AddOutput,
description: '将代码中 return 的对象作为输出,传递给后续的节点。变量名需要对应 return 的 key' description: i18nT('workflow:pass_returned_object_as_output_to_next_nodes')
}, },
{ {
id: NodeOutputKeyEnum.rawResponse, id: NodeOutputKeyEnum.rawResponse,
key: NodeOutputKeyEnum.rawResponse, key: NodeOutputKeyEnum.rawResponse,
label: '完整响应数据', label: i18nT('workflow:full_response_data'),
valueType: WorkflowIOValueTypeEnum.object, valueType: WorkflowIOValueTypeEnum.object,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
}, },
{ {
id: NodeOutputKeyEnum.error, id: NodeOutputKeyEnum.error,
key: NodeOutputKeyEnum.error, key: NodeOutputKeyEnum.error,
label: '运行错误', label: i18nT('workflow:execution_error'),
description: '代码运行错误信息,成功时返回空', description: i18nT('workflow:error_info_returns_empty_on_success'),
valueType: WorkflowIOValueTypeEnum.object, valueType: WorkflowIOValueTypeEnum.object,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
}, },
......
...@@ -2,6 +2,7 @@ import { FlowNodeTypeEnum } from '../../node/constant'; ...@@ -2,6 +2,7 @@ import { FlowNodeTypeEnum } from '../../node/constant';
import { FlowNodeTemplateType } from '../../type/node'; import { FlowNodeTemplateType } from '../../type/node';
import { FlowNodeTemplateTypeEnum } from '../../constants'; import { FlowNodeTemplateTypeEnum } from '../../constants';
import { getHandleConfig } from '../utils'; import { getHandleConfig } from '../utils';
import { i18nT } from '../../../../../web/i18n/utils';
export const StopToolNode: FlowNodeTemplateType = { export const StopToolNode: FlowNodeTemplateType = {
id: FlowNodeTypeEnum.stopTool, id: FlowNodeTypeEnum.stopTool,
...@@ -10,9 +11,8 @@ export const StopToolNode: FlowNodeTemplateType = { ...@@ -10,9 +11,8 @@ export const StopToolNode: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(false, false, false, false), sourceHandle: getHandleConfig(false, false, false, false),
targetHandle: getHandleConfig(true, true, true, true), targetHandle: getHandleConfig(true, true, true, true),
avatar: 'core/workflow/template/stopTool', avatar: 'core/workflow/template/stopTool',
name: '工具调用终止', name: i18nT('workflow:tool_call_termination'),
intro: intro: i18nT('workflow:intro_tool_call_termination'),
'该模块需配置工具调用使用。当该模块被执行时,本次工具调用将会强制结束,并且不再调用AI针对工具调用结果回答问题。',
version: '481', version: '481',
inputs: [], inputs: [],
outputs: [] outputs: []
......
...@@ -12,6 +12,7 @@ import { ...@@ -12,6 +12,7 @@ import {
} from '../../constants'; } from '../../constants';
import { getHandleConfig } from '../utils'; import { getHandleConfig } from '../utils';
import { Input_Template_DynamicInput } from '../input'; import { Input_Template_DynamicInput } from '../input';
import { i18nT } from '../../../../../web/i18n/utils';
export const TextEditorNode: FlowNodeTemplateType = { export const TextEditorNode: FlowNodeTemplateType = {
id: FlowNodeTypeEnum.textEditor, id: FlowNodeTypeEnum.textEditor,
...@@ -20,13 +21,13 @@ export const TextEditorNode: FlowNodeTemplateType = { ...@@ -20,13 +21,13 @@ export const TextEditorNode: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(true, true, true, true), sourceHandle: getHandleConfig(true, true, true, true),
targetHandle: getHandleConfig(true, true, true, true), targetHandle: getHandleConfig(true, true, true, true),
avatar: 'core/workflow/template/textConcat', avatar: 'core/workflow/template/textConcat',
name: '文本拼接', name: i18nT('workflow:text_concatenation'),
intro: '可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。', intro: i18nT('workflow:intro_text_concatenation'),
version: '486', version: '486',
inputs: [ inputs: [
{ {
...Input_Template_DynamicInput, ...Input_Template_DynamicInput,
description: '可以引用其他节点的输出,作为文本拼接的变量,输入 / 唤起变量列表', description: i18nT('workflow:dynamic_input_description_concat'),
customInputConfig: { customInputConfig: {
selectValueTypeList: Object.values(WorkflowIOValueTypeEnum), selectValueTypeList: Object.values(WorkflowIOValueTypeEnum),
showDescription: false, showDescription: false,
...@@ -38,15 +39,15 @@ export const TextEditorNode: FlowNodeTemplateType = { ...@@ -38,15 +39,15 @@ export const TextEditorNode: FlowNodeTemplateType = {
renderTypeList: [FlowNodeInputTypeEnum.textarea], renderTypeList: [FlowNodeInputTypeEnum.textarea],
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
required: true, required: true,
label: '拼接文本', label: i18nT('workflow:concatenation_text'),
placeholder: '可输入 / 唤起变量列表' placeholder: i18nT('workflow:input_variable_list')
} }
], ],
outputs: [ outputs: [
{ {
id: NodeOutputKeyEnum.text, id: NodeOutputKeyEnum.text,
key: NodeOutputKeyEnum.text, key: NodeOutputKeyEnum.text,
label: '拼接结果', label: i18nT('workflow:concatenation_result'),
type: FlowNodeOutputTypeEnum.static, type: FlowNodeOutputTypeEnum.static,
valueType: WorkflowIOValueTypeEnum.string valueType: WorkflowIOValueTypeEnum.string
} }
......
...@@ -61,7 +61,7 @@ export const ToolModule: FlowNodeTemplateType = { ...@@ -61,7 +61,7 @@ export const ToolModule: FlowNodeTemplateType = {
{ {
...Input_Template_System_Prompt, ...Input_Template_System_Prompt,
label: 'core.ai.Prompt', label: i18nT('common:core.ai.Prompt'),
description: chatNodeSystemPromptTip, description: chatNodeSystemPromptTip,
placeholder: chatNodeSystemPromptTip placeholder: chatNodeSystemPromptTip
}, },
...@@ -72,8 +72,8 @@ export const ToolModule: FlowNodeTemplateType = { ...@@ -72,8 +72,8 @@ export const ToolModule: FlowNodeTemplateType = {
{ {
id: NodeOutputKeyEnum.answerText, id: NodeOutputKeyEnum.answerText,
key: NodeOutputKeyEnum.answerText, key: NodeOutputKeyEnum.answerText,
label: 'core.module.output.label.Ai response content', label: i18nT('common:core.module.output.label.Ai response content'),
description: 'core.module.output.description.Ai response content', description: i18nT('common:core.module.output.description.Ai response content'),
valueType: WorkflowIOValueTypeEnum.string, valueType: WorkflowIOValueTypeEnum.string,
type: FlowNodeOutputTypeEnum.static type: FlowNodeOutputTypeEnum.static
} }
......
...@@ -6,6 +6,7 @@ import { ...@@ -6,6 +6,7 @@ import {
WorkflowIOValueTypeEnum WorkflowIOValueTypeEnum
} from '../../../constants'; } from '../../../constants';
import { getHandleConfig } from '../../utils'; import { getHandleConfig } from '../../utils';
import { i18nT } from '../../../../../../web/i18n/utils';
export const VariableUpdateNode: FlowNodeTemplateType = { export const VariableUpdateNode: FlowNodeTemplateType = {
id: FlowNodeTypeEnum.variableUpdate, id: FlowNodeTypeEnum.variableUpdate,
...@@ -14,8 +15,8 @@ export const VariableUpdateNode: FlowNodeTemplateType = { ...@@ -14,8 +15,8 @@ export const VariableUpdateNode: FlowNodeTemplateType = {
sourceHandle: getHandleConfig(true, true, true, true), sourceHandle: getHandleConfig(true, true, true, true),
targetHandle: getHandleConfig(true, true, true, true), targetHandle: getHandleConfig(true, true, true, true),
avatar: 'core/workflow/template/variableUpdate', avatar: 'core/workflow/template/variableUpdate',
name: '变量更新', name: i18nT('workflow:variable_update'),
intro: '可以更新指定节点的输出值或更新全局变量', intro: i18nT('workflow:update_specified_node_output_or_global_variable'),
showStatus: false, showStatus: false,
isTool: false, isTool: false,
version: '481', version: '481',
......
...@@ -31,7 +31,7 @@ export const WorkflowStart: FlowNodeTemplateType = { ...@@ -31,7 +31,7 @@ export const WorkflowStart: FlowNodeTemplateType = {
forbidDelete: true, forbidDelete: true,
unique: true, unique: true,
version: '481', version: '481',
inputs: [{ ...Input_Template_UserChatInput, toolDescription: '用户问题' }], inputs: [{ ...Input_Template_UserChatInput, toolDescription: i18nT('workflow:user_question') }],
outputs: [ outputs: [
{ {
id: NodeOutputKeyEnum.userChatInput, id: NodeOutputKeyEnum.userChatInput,
......
{ {
"Code": "代码", "Code": "代码",
"about_xxx_question": "关于 xxx 的问题",
"add_new_input": "新增输入", "add_new_input": "新增输入",
"append_application_reply_to_history_as_new_context": "将该应用回复内容拼接到历史记录中,作为新的上下文返回",
"application_call": "应用调用",
"assigned_reply": "指定回复",
"choose_another_application_to_call": "选择一个其他应用进行调用",
"classification_result": "分类结果",
"code": { "code": {
"Reset template": "还原模板", "Reset template": "还原模板",
"Reset template confirm": "确认还原代码模板?将会重置所有输入和输出至模板值,请注意保存当前代码。" "Reset template confirm": "确认还原代码模板?将会重置所有输入和输出至模板值,请注意保存当前代码。"
}, },
"code_execution": "代码运行",
"collection_metadata_filter": "集合元数据过滤",
"complete_extraction_result": "完整提取结果",
"complete_extraction_result_description": "一个 JSON 字符串,例如:{\"name:\":\"YY\",\"Time\":\"2023/7/2 18:00\"}",
"concatenation_result": "拼接结果",
"concatenation_text": "拼接文本",
"condition_checker": "判断器",
"confirm_delete_field_tip": "确认删除该字段?", "confirm_delete_field_tip": "确认删除该字段?",
"contains": "包含",
"content_to_retrieve": "需要检索的内容",
"content_to_search": "需要检索的内容",
"create_link_error": "创建链接异常", "create_link_error": "创建链接异常",
"custom_feedback": "自定义反馈",
"custom_input": "自定义输入", "custom_input": "自定义输入",
"custom_plugin_output": "自定义插件输出",
"delete_api": "确认删除该API密钥?删除后该密钥立即失效,对应的对话日志不会删除,请确认!", "delete_api": "确认删除该API密钥?删除后该密钥立即失效,对应的对话日志不会删除,请确认!",
"dynamic_input_description": "接收前方节点的输出值作为变量,这些变量可以被 Laf 请求参数使用。",
"dynamic_input_description_concat": "可以引用其他节点的输出,作为文本拼接的变量,输入 / 唤起变量列表",
"edit_input": "编辑输入", "edit_input": "编辑输入",
"end_with": "结束为",
"error_info_returns_empty_on_success": "代码运行错误信息,成功时返回空",
"execute_a_simple_script_code_usually_for_complex_data_processing": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。",
"execute_different_branches_based_on_conditions": "根据一定的条件,执行不同的分支。",
"execution_error": "运行错误",
"extraction_requirements_description": "提取要求描述",
"extraction_requirements_description_detail": "给AI一些对应的背景知识或要求描述,引导AI更好的完成任务。\\n该输入框可使用全局变量。",
"extraction_requirements_placeholder": "例如: \\n1. 当前时间为: {{cTime}}。你是一个实验室预约助手,你的任务是帮助用户预约实验室,从文本中获取对应的预约信息。\\n2. 你是谷歌搜索助手,需要从文本中提取出合适的搜索词。",
"feedback_text": "反馈的文本",
"field_description": "字段描述", "field_description": "字段描述",
"field_description_placeholder": "描述该输入字段的功能,如果为工具调用参数,则该描述会影响模型生成的质量", "field_description_placeholder": "描述该输入字段的功能,如果为工具调用参数,则该描述会影响模型生成的质量",
"field_name_already_exists": "字段名已经存在", "field_name_already_exists": "字段名已经存在",
"field_required": "必填", "field_required": "必填",
"field_used_as_tool_input": "作为工具调用参数", "field_used_as_tool_input": "作为工具调用参数",
"filter_description": "目前支持标签和创建时间过滤,需按照以下格式填写:\n{\n \"tags\": {\n \"$and\": [\"标签 1\",\"标签 2\"],\n \"$or\": [\"有 $and 标签时,and 生效,or 不生效\"]\n },\n \"createTime\": {\n \"$gte\": \"YYYY-MM-DD HH:mm 格式即可,集合的创建时间大于该时间\",\n \"$lte\": \"YYYY-MM-DD HH:mm 格式即可,集合的创建时间小于该时间,可和 $gte 共同使用\"\n }\n}",
"full_field_extraction": "字段完全提取",
"full_field_extraction_description": "提取字段全部填充时返回 true (模型提取或使用默认值均属于成功)",
"full_response_data": "完整响应数据",
"greater_than": "大于",
"greater_than_or_equal_to": "大于等于",
"greeting": "打招呼",
"http_raw_response_description": "HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。",
"http_request": "HTTP 请求",
"http_request_error_info": "HTTP请求错误信息,成功时返回空",
"ifelse": { "ifelse": {
"Input value": "输入值", "Input value": "输入值",
"Select value": "选择值" "Select value": "选择值"
}, },
"input_description": "字段描述", "input_description": "字段描述",
"input_variable_list": "可输入 / 唤起变量列表",
"intro_assigned_reply": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。",
"intro_custom_feedback": "该模块被触发时,会给当前的对话记录增加一条反馈。可用于自动记录对话效果等。",
"intro_custom_plugin_output": "自定义配置外部输出,使用插件时,仅暴露自定义配置的输出",
"intro_http_request": "可以发出一个 HTTP 请求,实现更为复杂的操作(联网搜索、数据库查询等)",
"intro_knowledge_base_search_merge": "可以将多个知识库搜索结果进行合并输出。使用 RRF 的合并方式进行最终排序输出。",
"intro_laf_function_call": "可以调用Laf账号下的云函数。",
"intro_plugin_input": "可以配置插件需要哪些输入,利用这些输入来运行插件",
"intro_question_classification": "根据用户的历史记录和当前问题判断该次提问的类型。可以添加多组问题类型,下面是一个模板例子:\n类型1: 打招呼\n类型2: 关于商品“使用”问题\n类型3: 关于商品“购买”问题\n类型4: 其他问题",
"intro_question_optimization": "使用问题优化功能,可以提高知识库连续对话时搜索的精度。使用该功能后,会先利用 AI 根据上下文构建一个或多个新的检索词,这些检索词更利于进行知识库搜索。该模块已内置在知识库搜索模块中,如果您仅进行一次知识库搜索,可直接使用知识库内置的补全功能。",
"intro_text_concatenation": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。",
"intro_text_content_extraction": "可从文本中提取指定的数据,例如:sql语句、搜索关键词、代码等",
"intro_tool_call_termination": "该模块需配置工具调用使用。当该模块被执行时,本次工具调用将会强制结束,并且不再调用AI针对工具调用结果回答问题。",
"is_empty": "为空",
"is_equal_to": "等于",
"is_not_empty": "不为空",
"is_not_equal": "不等于",
"judgment_result": "判断结果",
"knowledge_base_reference": "知识库引用",
"knowledge_base_search_merge": "知识库搜索引用合并",
"laf_function_call_test": "Laf 函数调用(测试)",
"length_equal_to": "长度等于",
"length_greater_than": "长度大于",
"length_greater_than_or_equal_to": "长度大于等",
"length_less_than": "长度小于",
"length_less_than_or_equal_to": "长度小于等于",
"length_not_equal_to": "长度不等于",
"less_than": "小于",
"less_than_or_equal_to": "小于等于",
"max_dialog_rounds": "最多携带多少轮对话记录",
"max_tokens": "最大 Tokens",
"new_context": "新的上下文",
"not_contains": "不包含",
"only_the_reference_type_is_supported": "仅支持引用类型", "only_the_reference_type_is_supported": "仅支持引用类型",
"optional_value_type": "可选的数据类型", "optional_value_type": "可选的数据类型",
"optional_value_type_tip": "可以指定 1 个或多个数据类型,用户在动态添加字段时,仅可选择配置的类型", "optional_value_type_tip": "可以指定 1 个或多个数据类型,用户在动态添加字段时,仅可选择配置的类型",
"other_questions": "其他问题",
"pass_returned_object_as_output_to_next_nodes": "将代码中 return 的对象作为输出,传递给后续的节点。变量名需要对应 return 的 key",
"plugin_input": "插件输入",
"question_classification": "问题分类",
"question_optimization": "问题优化",
"quote_num": "引用{{num}}",
"raw_response": "原始响应",
"regex": "正则",
"reply_text": "回复的文本",
"request_error": "请求错误",
"response": { "response": {
"Code log": "Log 日志", "Code log": "Log 日志",
"Custom inputs": "自定义输入", "Custom inputs": "自定义输入",
...@@ -33,6 +115,11 @@ ...@@ -33,6 +115,11 @@
"User_select_result": "选择的结果", "User_select_result": "选择的结果",
"read files": "解析的文档" "read files": "解析的文档"
}, },
"select_an_application": "选择一个应用",
"select_another_application_to_call": "可以选择一个其他应用进行调用",
"special_array_format": "特殊数组格式,搜索结果为空时,返回空数组。",
"start_with": "开始为",
"target_fields_description": "由 '描述' 和 'key' 组成一个目标字段,可提取多个目标字段",
"template": { "template": {
"ai_chat": "AI 对话", "ai_chat": "AI 对话",
"ai_chat_intro": "AI 大模型对话", "ai_chat_intro": "AI 大模型对话",
...@@ -43,9 +130,18 @@ ...@@ -43,9 +130,18 @@
"tool_call_intro": "通过AI模型自动选择一个或多个功能块进行调用,也可以对插件进行调用。", "tool_call_intro": "通过AI模型自动选择一个或多个功能块进行调用,也可以对插件进行调用。",
"workflow_start": "流程开始" "workflow_start": "流程开始"
}, },
"text_concatenation": "文本拼接",
"text_content_extraction": "文本内容提取",
"text_to_extract": "需要提取的文本",
"these_variables_will_be_input_parameters_for_code_execution": "这些变量会作为代码的运行的输入参数",
"tool_call_termination": "工具调用终止",
"tool_input": "工具参数", "tool_input": "工具参数",
"trigger_after_application_completion": "将在应用完全结束后触发",
"update_link_error": "更新链接异常", "update_link_error": "更新链接异常",
"update_specified_node_output_or_global_variable": "可以更新指定节点的输出值或更新全局变量",
"user_question": "用户问题",
"variable_picker_tips": "可输入节点名或变量名搜索", "variable_picker_tips": "可输入节点名或变量名搜索",
"variable_update": "变量更新",
"workflow": { "workflow": {
"Back_to_current_version": "回到初始状态", "Back_to_current_version": "回到初始状态",
"My edit": "我的编辑", "My edit": "我的编辑",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment