mirror of
https://github.com/labring/FastGPT.git
synced 2025-10-16 16:04:34 +00:00
feature: System plugin (#5131)
* feat: system Tool (#4959) * feat: independent system tool * chore: use ToolNode instead of PluginModule * chore: tools * chore: tools templateDir * refactor: templates * feat: flush code * chore: update template * refactor: migrate delay * feat: worker pool * chore: Dockerfile * docs: add tools.template.json * feat: auto flush system tools * fix: ts error * chore: create new pool temporarily * chore: system tool migration * chore: migration * fix: fix pnpm-workspace.yaml * chore: update pnpm-lock.yaml to integrate tool * chore(systemTool): chore * chore: add system plugin * chore(deps): update @fastgpt-sdk/plugin * fix: type error * chore: remove plugin package * chore: move pro plugins code to open source * feat: support system tool config input * fix: type error * perf: i18n * fix: cr * chore: update sdk * feat: system plugin cache * update mcp server (#5076) * update mcp server * fix: action * fix: dockerfile * fix: dockerfile * fix: dockerfile * fix: dockerfile * fix: dockerfile * fix: dockerfile * feat: system Tool (#4959) * feat: independent system tool * chore: use ToolNode instead of PluginModule * chore: tools * chore: tools templateDir * refactor: templates * feat: flush code * chore: update template * refactor: migrate delay * feat: worker pool * chore: Dockerfile * docs: add tools.template.json * feat: auto flush system tools * fix: ts error * chore: create new pool temporarily * chore: system tool migration * chore: migration * fix: fix pnpm-workspace.yaml * chore: update pnpm-lock.yaml to integrate tool * chore(systemTool): chore * chore: add system plugin * chore(deps): update @fastgpt-sdk/plugin * fix: type error * chore: remove plugin package * chore: move pro plugins code to open source * feat: support system tool config input * fix: type error * perf: i18n * fix: cr * chore: update sdk * feat: system plugin cache * perf: run tool * update package * perf: config key * fix: tool ini * tool config params * perf: workflow type * rename tools to agent * version list * perf: tool error * config secret ux * perf: config secret ux * fix: tool config field * add course to secret input * feat: support inputConfig switch (#5099) * feat: support inputConfig switch * deps: update @fastgpt-sdk/plugin * chore: update workflows * fix: inputType * fix: secret * add default value to node * update i18n * eslint * add precision to number input * feat: add number input and select * perf: number ux * fix: code * Proxies image requests to plugin service (#5111) * Proxies image requests to plugin service Adds a rewrite rule and API endpoint to proxy image requests to the plugin service. This allows the app to fetch images from the plugin's tools directory. It also adds the plugin base URL to the service's constants, so that it can use the plugin URL when proxying requests. * fix: update FastGPTPluginUrl to remove unnecessary API path * feat: update image proxy destination and add plugin image handler * Adapt plugin id * replace avatar * remove rewrite * fix: plugin avatar * update system tool doc * feat: system tool type * yml sh * yml sh * update doc * fix: simple app tool select * fix: switch ui * update pacakge * Yamljs (#5129) * update docker-compose configuration: bump fastgpt and fastgpt-plugin images, change minio host to service name, and adjust service dependencies * refactor: comment out port exposure in docker-compose configuration * update: uncomment port exposure in docker-compose configuration * update: change MINIO_HOST to use specific IP address in docker configuration * update: modify fastgpt-plugin image version in docker configuration * update readme * doc * remove --------- Co-authored-by: Finley Ge <32237950+FinleyGe@users.noreply.github.com> Co-authored-by: Theresa <63280168+sd0ric4@users.noreply.github.com>
This commit is contained in:
@@ -36,6 +36,14 @@ const MyNumberInput = (props: Props) => {
|
||||
onBlur(numE);
|
||||
}
|
||||
}
|
||||
if (onChange) {
|
||||
if (numE === '') {
|
||||
// @ts-ignore
|
||||
onChange('');
|
||||
} else {
|
||||
onChange(numE);
|
||||
}
|
||||
}
|
||||
if (register && name) {
|
||||
const event = {
|
||||
target: {
|
||||
@@ -47,12 +55,13 @@ const MyNumberInput = (props: Props) => {
|
||||
}
|
||||
}}
|
||||
onChange={(e) => {
|
||||
const numE = e === '' ? '' : Number(e);
|
||||
const numE = e === '' ? '' : e.endsWith('.') ? e : Number(e);
|
||||
if (onChange) {
|
||||
if (numE === '') {
|
||||
// @ts-ignore
|
||||
onChange('');
|
||||
} else {
|
||||
// @ts-ignore
|
||||
onChange(numE);
|
||||
}
|
||||
}
|
||||
|
@@ -5,7 +5,7 @@ import QuestionTip from '../MyTooltip/QuestionTip';
|
||||
|
||||
type Props<T> = Omit<GridProps, 'onChange'> & {
|
||||
list: {
|
||||
title: string;
|
||||
title: string | React.ReactNode;
|
||||
desc?: string;
|
||||
value: T;
|
||||
children?: React.ReactNode;
|
||||
@@ -22,7 +22,7 @@ const LeftRadio = <T = any,>({
|
||||
list,
|
||||
value,
|
||||
align = 'flex-top',
|
||||
px = 3,
|
||||
px = 3.5,
|
||||
py = 4,
|
||||
defaultBg = 'myGray.50',
|
||||
activeBg = 'primary.50',
|
||||
@@ -35,22 +35,21 @@ const LeftRadio = <T = any,>({
|
||||
return (
|
||||
<Grid gridGap={[3, 5]} fontSize={['sm', 'md']} {...props}>
|
||||
{list.map((item) => (
|
||||
<Flex
|
||||
alignItems={item.desc ? align : 'center'}
|
||||
<Box
|
||||
key={item.value as any}
|
||||
cursor={'pointer'}
|
||||
userSelect={'none'}
|
||||
px={px}
|
||||
py={py}
|
||||
border={theme.borders.sm}
|
||||
border={'base'}
|
||||
borderWidth={'1px'}
|
||||
borderRadius={'md'}
|
||||
position={'relative'}
|
||||
{...(value === item.value
|
||||
? {
|
||||
borderColor: 'primary.400',
|
||||
borderColor: list.length > 1 ? 'primary.400' : '',
|
||||
bg: activeBg,
|
||||
boxShadow: 'focus'
|
||||
boxShadow: list.length > 1 ? 'focus' : 'none'
|
||||
}
|
||||
: {
|
||||
bg: defaultBg,
|
||||
@@ -60,53 +59,66 @@ const LeftRadio = <T = any,>({
|
||||
})}
|
||||
onClick={() => onChange(item.value)}
|
||||
>
|
||||
<Box
|
||||
w={'18px'}
|
||||
h={'18px'}
|
||||
borderWidth={'2.4px'}
|
||||
borderColor={value === item.value ? 'primary.015' : 'transparent'}
|
||||
borderRadius={'50%'}
|
||||
mr={3}
|
||||
>
|
||||
<Flex
|
||||
w={'100%'}
|
||||
h={'100%'}
|
||||
borderWidth={'1px'}
|
||||
borderColor={value === item.value ? 'primary.600' : 'borderColor.high'}
|
||||
bg={value === item.value ? 'primary.1' : 'transparent'}
|
||||
borderRadius={'50%'}
|
||||
alignItems={'center'}
|
||||
justifyContent={'center'}
|
||||
>
|
||||
{/* Circle */}
|
||||
<Flex alignItems={'center'}>
|
||||
{list.length > 1 && (
|
||||
<Box
|
||||
w={'5px'}
|
||||
h={'5px'}
|
||||
w={'18px'}
|
||||
h={'18px'}
|
||||
borderWidth={'2.4px'}
|
||||
borderColor={value === item.value ? 'primary.015' : 'transparent'}
|
||||
borderRadius={'50%'}
|
||||
bg={value === item.value ? 'primary.600' : 'transparent'}
|
||||
></Box>
|
||||
</Flex>
|
||||
</Box>
|
||||
<Box flex={'1 0 0'}>
|
||||
<Flex alignItems={'center'}>
|
||||
<HStack
|
||||
spacing={1}
|
||||
color={'myGray.900'}
|
||||
fontWeight={item.desc ? '500' : 'normal'}
|
||||
whiteSpace={'nowrap'}
|
||||
fontSize={'sm'}
|
||||
mr={3}
|
||||
>
|
||||
<Box>{typeof item.title === 'string' ? t(item.title as any) : item.title}</Box>
|
||||
{!!item.tooltip && <QuestionTip label={item.tooltip} color={'myGray.600'} />}
|
||||
</HStack>
|
||||
</Flex>
|
||||
{!!item.desc && (
|
||||
<Box fontSize={'xs'} color={'myGray.500'} lineHeight={1.2}>
|
||||
{t(item.desc as any)}
|
||||
<Flex
|
||||
w={'100%'}
|
||||
h={'100%'}
|
||||
borderWidth={'1px'}
|
||||
borderColor={value === item.value ? 'primary.600' : 'borderColor.high'}
|
||||
bg={value === item.value ? 'primary.1' : 'transparent'}
|
||||
borderRadius={'50%'}
|
||||
alignItems={'center'}
|
||||
justifyContent={'center'}
|
||||
>
|
||||
<Box
|
||||
w={'5px'}
|
||||
h={'5px'}
|
||||
borderRadius={'50%'}
|
||||
bg={value === item.value ? 'primary.600' : 'transparent'}
|
||||
></Box>
|
||||
</Flex>
|
||||
</Box>
|
||||
)}
|
||||
{item?.children}
|
||||
</Box>
|
||||
</Flex>
|
||||
<Box flex={'1 0 0'}>
|
||||
{typeof item.title === 'string' ? (
|
||||
<HStack
|
||||
spacing={1}
|
||||
color={'myGray.900'}
|
||||
fontWeight={item.desc ? '500' : 'normal'}
|
||||
whiteSpace={'nowrap'}
|
||||
fontSize={'sm'}
|
||||
lineHeight={1}
|
||||
>
|
||||
<Box>{t(item.title as any)}</Box>
|
||||
{!!item.tooltip && <QuestionTip label={item.tooltip} color={'myGray.600'} />}
|
||||
</HStack>
|
||||
) : (
|
||||
item.title
|
||||
)}
|
||||
|
||||
{!!item.desc && (
|
||||
<Box fontSize={'xs'} color={'myGray.500'} mt={1.5} lineHeight={1.2}>
|
||||
{t(item.desc as any)}
|
||||
</Box>
|
||||
)}
|
||||
</Box>
|
||||
</Flex>
|
||||
{item?.children && (
|
||||
<Box mt={4} pt={4} borderTop={'base'} cursor={'default'}>
|
||||
{item?.children}
|
||||
</Box>
|
||||
)}
|
||||
</Box>
|
||||
))}
|
||||
</Grid>
|
||||
);
|
||||
|
@@ -4,76 +4,85 @@ import type { PluginGroupSchemaType, TGroupType } from '../../../service/core/ap
|
||||
import { AppTemplateTypeEnum } from '@fastgpt/global/core/app/constants';
|
||||
import { type TemplateTypeSchemaType } from '@fastgpt/global/core/app/type';
|
||||
|
||||
export const workflowNodeTemplateList = [
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.systemInput,
|
||||
label: i18nT('common:core.module.template.System input module'),
|
||||
list: []
|
||||
},
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.ai,
|
||||
label: i18nT('common:core.module.template.AI function'),
|
||||
list: []
|
||||
},
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.search,
|
||||
label: i18nT('common:core.workflow.template.Search'),
|
||||
list: []
|
||||
},
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.interactive,
|
||||
label: i18nT('common:core.workflow.template.Interactive'),
|
||||
list: []
|
||||
},
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.multimodal,
|
||||
label: i18nT('common:core.workflow.template.Multimodal'),
|
||||
list: []
|
||||
},
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.tools,
|
||||
label: i18nT('common:core.module.template.Tool module'),
|
||||
list: []
|
||||
},
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.communication,
|
||||
label: i18nT('common:workflow.template.communication'),
|
||||
list: []
|
||||
},
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.other,
|
||||
label: i18nT('common:Other'),
|
||||
list: []
|
||||
},
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.teamApp,
|
||||
label: '',
|
||||
list: []
|
||||
}
|
||||
];
|
||||
|
||||
export const systemPluginTemplateList: TGroupType[] = [
|
||||
{
|
||||
typeId: FlowNodeTemplateTypeEnum.tools,
|
||||
typeName: i18nT('common:navbar.Tools')
|
||||
},
|
||||
{
|
||||
typeId: FlowNodeTemplateTypeEnum.search,
|
||||
typeName: i18nT('common:Search')
|
||||
typeName: i18nT('app:tool_type_tools')
|
||||
},
|
||||
{
|
||||
typeId: FlowNodeTemplateTypeEnum.multimodal,
|
||||
typeName: i18nT('common:core.workflow.template.Multimodal')
|
||||
typeName: i18nT('app:tool_type_multimodal')
|
||||
},
|
||||
{
|
||||
typeId: FlowNodeTemplateTypeEnum.productivity,
|
||||
typeName: i18nT('app:tool_type_productivity')
|
||||
},
|
||||
{
|
||||
typeId: FlowNodeTemplateTypeEnum.scientific,
|
||||
typeName: i18nT('app:tool_type_scientific')
|
||||
},
|
||||
{
|
||||
typeId: FlowNodeTemplateTypeEnum.finance,
|
||||
typeName: i18nT('app:tool_type_finance')
|
||||
},
|
||||
{
|
||||
typeId: FlowNodeTemplateTypeEnum.design,
|
||||
typeName: i18nT('app:tool_type_design')
|
||||
},
|
||||
{
|
||||
typeId: FlowNodeTemplateTypeEnum.news,
|
||||
typeName: i18nT('app:tool_type_news')
|
||||
},
|
||||
{
|
||||
typeId: FlowNodeTemplateTypeEnum.entertainment,
|
||||
typeName: i18nT('app:tool_type_entertainment')
|
||||
},
|
||||
{
|
||||
typeId: FlowNodeTemplateTypeEnum.communication,
|
||||
typeName: i18nT('common:workflow.template.communication')
|
||||
typeName: i18nT('app:tool_type_communication')
|
||||
},
|
||||
{
|
||||
typeId: FlowNodeTemplateTypeEnum.social,
|
||||
typeName: i18nT('app:tool_type_social')
|
||||
},
|
||||
{
|
||||
typeId: FlowNodeTemplateTypeEnum.other,
|
||||
typeName: i18nT('common:Other')
|
||||
}
|
||||
];
|
||||
|
||||
export const workflowNodeTemplateList: {
|
||||
type: string;
|
||||
label: string;
|
||||
}[] = [
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.systemInput,
|
||||
label: i18nT('common:core.module.template.System input module')
|
||||
},
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.ai,
|
||||
label: i18nT('common:core.module.template.AI function')
|
||||
},
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.search,
|
||||
label: i18nT('common:core.workflow.template.Search')
|
||||
},
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.interactive,
|
||||
label: i18nT('common:core.workflow.template.Interactive')
|
||||
},
|
||||
|
||||
...systemPluginTemplateList.map((item) => ({
|
||||
type: item.typeId,
|
||||
label: item.typeName
|
||||
})),
|
||||
|
||||
{
|
||||
type: FlowNodeTemplateTypeEnum.teamApp,
|
||||
label: ''
|
||||
}
|
||||
];
|
||||
|
||||
export const defaultGroup: PluginGroupSchemaType = {
|
||||
groupId: 'systemPlugin',
|
||||
groupAvatar: 'core/app/type/pluginLight',
|
||||
|
@@ -1,6 +1,6 @@
|
||||
import { LangEnum } from '@fastgpt/global/common/i18n/type';
|
||||
import Cookies from 'js-cookie';
|
||||
import { useTranslation } from 'next-i18next';
|
||||
import { LangEnum } from '../../../projects/app/src/web/common/utils/i18n';
|
||||
|
||||
const LANG_KEY = 'NEXT_LOCALE';
|
||||
const isInIframe = () => {
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"account_team.delete_dataset": "Delete the knowledge base",
|
||||
"active_model": "Available models",
|
||||
"add_default_model": "Add a preset model",
|
||||
"api_key": "API key",
|
||||
|
@@ -46,6 +46,7 @@
|
||||
"create_app_copy": "Create a copy of the application",
|
||||
"create_app_folder": "Create an application folder",
|
||||
"create_app_publish_channel": "Create a sharing channel",
|
||||
"create_collection": "Create a collection",
|
||||
"create_data": "Insert data",
|
||||
"create_dataset": "Create a knowledge base",
|
||||
"create_dataset_folder": "Create a Knowledge Base Folder",
|
||||
@@ -170,6 +171,7 @@
|
||||
"log_login": "【{{name}}】Logined in the system",
|
||||
"log_move_app": "【{{name}}】Move [{{appType}}] named [{{appName}}] to [{{targetFolderName}}]",
|
||||
"log_move_dataset": "【{{name}}】Move [{{datasetType}}] named [{{datasetName}}] to [{{targetFolderName}}]",
|
||||
"log_purchase_plan": "【{{name}}】Purchased the set meal",
|
||||
"log_recover_team_member": "【{{name}}】Restored member【{{memberName}}】",
|
||||
"log_relocate_department": "【{{name}}】Displayed department【{{departmentName}}】",
|
||||
"log_retrain_collection": "[{{name}}] Retrained the collection named [{{collectionName}}] in [{{datasetType}}] called [{{datasetName}}].",
|
||||
|
@@ -97,6 +97,7 @@
|
||||
"logs_source": "source",
|
||||
"logs_title": "Title",
|
||||
"look_ai_point_price": "View all model billing standards",
|
||||
"manual_secret": "Manual secret",
|
||||
"mark_count": "Number of Marked Answers",
|
||||
"max_histories_number": "Max histories",
|
||||
"max_histories_number_tip": "The maximum number of rounds of dialogue that the model can carry into memory. If the memory exceeds the model context, the system will force truncation. \nTherefore, even if 30 rounds of dialogue are configured, the actual number may not reach 30 rounds during operation.",
|
||||
@@ -136,6 +137,7 @@
|
||||
"saved_success": "Saved successfully! \nTo use this version externally, click Save and Publish",
|
||||
"search_app": "Search apps",
|
||||
"search_tool": "Search Tools",
|
||||
"secret_get_course": "Course",
|
||||
"setting_app": "Workflow",
|
||||
"setting_plugin": "Workflow",
|
||||
"show_top_p_tip": "An alternative method of temperature sampling, called Nucleus sampling, the model considers the results of tokens with TOP_P probability mass quality. \nTherefore, 0.1 means that only tokens containing the highest probability quality are considered. \nThe default is 1.",
|
||||
@@ -145,6 +147,7 @@
|
||||
"stop_sign_placeholder": "Multiple serial numbers are separated by |, for example: aaa|stop",
|
||||
"stream_response": "Stream",
|
||||
"stream_response_tip": "Turning this switch off forces the model to use non-streaming mode and will not output content directly. \nIn the output of the AI reply, the content output by this model can be obtained for secondary processing.",
|
||||
"system_secret": "System secret",
|
||||
"team_tags_set": "Team tags",
|
||||
"temperature": "Temperature",
|
||||
"temperature_tip": "Range 0~10. \nThe larger the value, the more divergent the model’s answer is; the smaller the value, the more rigorous the answer.",
|
||||
@@ -171,8 +174,23 @@
|
||||
"template_market_description": "Explore more features in the template market, with configuration tutorials and usage guides to help you understand and get started with various applications.",
|
||||
"template_market_empty_data": "No suitable templates found",
|
||||
"time_zone": "Time Zone",
|
||||
"too_to_active": "Active",
|
||||
"tool_active_manual_config_desc": "The temporary key is saved in this application and is only for use by this application.",
|
||||
"tool_active_system_config_desc": "Use the system configured key",
|
||||
"tool_active_system_config_price_desc": "Additional payment for key price ({{price}} points/time)",
|
||||
"tool_detail": "Tool details",
|
||||
"tool_input_param_tip": "This plugin requires configuration of related information to run properly.",
|
||||
"tool_not_active": "This tool has not been activated yet",
|
||||
"tool_type_communication": "Communication",
|
||||
"tool_type_design": "design",
|
||||
"tool_type_entertainment": "Business",
|
||||
"tool_type_finance": "finance",
|
||||
"tool_type_multimodal": "Multimodal",
|
||||
"tool_type_news": "news",
|
||||
"tool_type_productivity": "productive forces",
|
||||
"tool_type_scientific": "research",
|
||||
"tool_type_social": "Social",
|
||||
"tool_type_tools": "tool",
|
||||
"tools_no_description": "This tool has not been introduced ~",
|
||||
"transition_to_workflow": "Convert to Workflow",
|
||||
"transition_to_workflow_create_new_placeholder": "Create a new app instead of modifying the current app",
|
||||
@@ -189,6 +207,7 @@
|
||||
"type.Create simple bot tip": "Create a simple AI app by filling out a form, suitable for beginners.",
|
||||
"type.Create workflow bot": "Create Workflow",
|
||||
"type.Create workflow tip": "Build complex multi-turn dialogue AI applications through low-code methods, recommended for advanced users.",
|
||||
"type.Folder": "Folder",
|
||||
"type.Http plugin": "HTTP Plugin",
|
||||
"type.Import from json": "Import JSON",
|
||||
"type.Import from json tip": "Create applications directly through JSON configuration files",
|
||||
@@ -197,10 +216,9 @@
|
||||
"type.MCP tools": "MCP Toolset",
|
||||
"type.MCP_tools_url": "MCP Address",
|
||||
"type.Plugin": "Plugin",
|
||||
"type.Folder": "Folder",
|
||||
"type.Tool set": "Toolset",
|
||||
"type.Tool": "Tool",
|
||||
"type.Simple bot": "Simple App",
|
||||
"type.Tool": "Tool",
|
||||
"type.Tool set": "Toolset",
|
||||
"type.Workflow bot": "Workflow",
|
||||
"type.error.Workflow data is empty": "No workflow data was obtained",
|
||||
"type.error.workflowresponseempty": "Response content is empty",
|
||||
@@ -236,9 +254,8 @@
|
||||
"workflow.select_description_placeholder": "For example: \nAre there tomatoes in the fridge?",
|
||||
"workflow.select_description_tip": "You can add a description text to explain the meaning of each option to the user.",
|
||||
"workflow.select_result": "Selected Result",
|
||||
"workflow.template.communication": "Communication",
|
||||
"workflow.user_file_input": "File Link",
|
||||
"workflow.user_file_input_desc": "Links to documents and images uploaded by users.",
|
||||
"workflow.user_select": "User Select",
|
||||
"workflow.user_select_tip": "This module can configure multiple options for selection during the dialogue. Different options can lead to different workflow branches."
|
||||
}
|
||||
}
|
||||
|
@@ -50,6 +50,7 @@
|
||||
"Intro": "Introduction",
|
||||
"Loading": "Loading...",
|
||||
"Login": "Login",
|
||||
"Manual": "Manual",
|
||||
"More": "More",
|
||||
"Move": "Move",
|
||||
"Name": "Name",
|
||||
@@ -81,6 +82,7 @@
|
||||
"Status": "Status",
|
||||
"Submit": "Submit",
|
||||
"Success": "Success",
|
||||
"System": "System",
|
||||
"Team": "Team",
|
||||
"UnKnow": "Unknown",
|
||||
"Unlimited": "Unlimited",
|
||||
@@ -658,7 +660,6 @@
|
||||
"core.module.template.System Plugin": "System Plugin",
|
||||
"core.module.template.System input module": "System Input",
|
||||
"core.module.template.Team app": "Team",
|
||||
"core.module.template.Tool module": "Tool",
|
||||
"core.module.template.UnKnow Module": "Unknown Module",
|
||||
"core.module.template.ai_chat": "AI conversation",
|
||||
"core.module.template.ai_chat_intro": "AI large model dialogue",
|
||||
@@ -737,7 +738,6 @@
|
||||
"core.workflow.publish.OnRevert version confirm": "Confirm to Revert to This Version? The configuration of the editing version will be saved, and a new release version will be created for the reverted version.",
|
||||
"core.workflow.publish.histories": "Release Records",
|
||||
"core.workflow.template.Interactive": "Interactive",
|
||||
"core.workflow.template.Multimodal": "Multimodal",
|
||||
"core.workflow.template.Search": "Search",
|
||||
"core.workflow.tool.Handle": "Tool Connector",
|
||||
"core.workflow.tool.Select Tool": "Select Tool",
|
||||
@@ -1010,6 +1010,7 @@
|
||||
"save_failed": "save_failed",
|
||||
"save_success": "Saved Successfully",
|
||||
"scan_code": "Scan the QR code to pay",
|
||||
"secret_key": "Secret",
|
||||
"secret_tips": "The value will not return plaintext again after saving",
|
||||
"select_file_failed": "File Selection Failed",
|
||||
"select_reference_variable": "Select Reference Variable",
|
||||
@@ -1303,7 +1304,6 @@
|
||||
"user_leaved": "Leaved",
|
||||
"value": "Value",
|
||||
"verification": "Verification",
|
||||
"workflow.template.communication": "Communication",
|
||||
"xx_search_result": "{{key}} Search Results",
|
||||
"yes": "Yes",
|
||||
"yesterday": "yesterday",
|
||||
|
@@ -183,7 +183,6 @@
|
||||
"sync_collection_failed": "Synchronization collection error, please check whether the source file can be accessed normally",
|
||||
"sync_schedule": "Timing synchronization",
|
||||
"sync_schedule_tip": "Only existing collections will be synchronized. \nIncludes linked collections and all collections in the API knowledge base. \nThe system will poll for updates every day, and the specific update time cannot be determined.",
|
||||
"table_model_tip": "Store each row of data as a chunk",
|
||||
"tag.Add_new_tag": "add_new Tag",
|
||||
"tag.Edit_tag": "Edit Tag",
|
||||
"tag.add": "Create",
|
||||
@@ -200,18 +199,15 @@
|
||||
"the_knowledge_base_has_indexes_that_are_being_trained_or_being_rebuilt": "The Dataset has indexes that are being trained or rebuilt",
|
||||
"total_num_files": "Total {{total}} files",
|
||||
"training.Error": "{{count}} Group exception",
|
||||
"training.Image mode": "Image processing",
|
||||
"training.Normal": "Normal",
|
||||
"training_mode": "Chunk mode",
|
||||
"training_queue_tip": "Training queue status",
|
||||
"training_ready": "{{count}} Group",
|
||||
"upload_by_template_format": "Upload by template file",
|
||||
"uploading_progress": "Uploading: {{num}}%",
|
||||
"vector_model_max_tokens_tip": "Each chunk of data has a maximum length of 3000 tokens",
|
||||
"vector_training_queue": "Vector training queue",
|
||||
"vllm_model": "Image understanding model",
|
||||
"vlm_model_required_tooltip": "A Vision Language Model is required to create image collections",
|
||||
"vlm_model_required_warning": "Image datasets require a Vision Language Model (VLM) to be configured. Please add a model that supports image understanding in the model configuration first.",
|
||||
"waiting_for_training": "Waiting for training",
|
||||
"website_dataset": "Website Sync",
|
||||
"website_dataset_desc": "Build knowledge base by crawling web page data in batches",
|
||||
"website_info": "Website Information",
|
||||
|
@@ -12,12 +12,13 @@
|
||||
"Loading_image failed": "Preview loading failed",
|
||||
"Only_support_uploading_one_image": "Only support uploading one image",
|
||||
"Please select the image to upload": "Please select the image to upload",
|
||||
"Please select the image to upload select the image to upload": "",
|
||||
"Please wait for all files to upload": "Please wait for all files to be uploaded to complete",
|
||||
"bucket_chat": "Conversation Files",
|
||||
"bucket_file": "Dataset Documents",
|
||||
"click_to_view_raw_source": "Click to View Original Source",
|
||||
"common.Some images failed to process": "Some images failed to process",
|
||||
"common.dataset_data_input_image_support_format": "Support .jpg, .jpeg, .png, .gif, .webp formats",
|
||||
"count.core.dataset.collection.Create Success": "{{count}} picture successfully imported",
|
||||
"delete_image": "Delete pictures",
|
||||
"file_name": "Filename",
|
||||
"file_size": "Filesize",
|
||||
|
@@ -101,7 +101,6 @@
|
||||
"team.group.manage_tip": "Can manage members, create groups, manage all groups, assign permissions to groups and members",
|
||||
"team.group.members": "member",
|
||||
"team.group.name": "Group name",
|
||||
"team.group.permission.write": "Workbench/knowledge base creation",
|
||||
"team.group.permission_tip": "Members with individually configured permissions will follow the individual permission configuration and will no longer be affected by group permissions.\n\nIf a member is in multiple permission groups, the member's permissions are combined.",
|
||||
"team.group.role.admin": "administrator",
|
||||
"team.group.role.member": "member",
|
||||
|
@@ -170,6 +170,8 @@
|
||||
"start_with": "Starts With",
|
||||
"support_code_language": "Support import list: pandas,numpy",
|
||||
"target_fields_description": "A target field consists of 'description' and 'key'. Multiple target fields can be extracted.",
|
||||
"template.agent": "Agent",
|
||||
"template.agent_intro": "Automatically select one or more functional blocks for calling through the AI model, or call plugins.",
|
||||
"template.ai_chat": "AI Chat",
|
||||
"template.ai_chat_intro": "AI Large Model Chat",
|
||||
"template.dataset_search": "Dataset Search",
|
||||
@@ -179,8 +181,6 @@
|
||||
"template.plugin_output": "Plugin output",
|
||||
"template.plugin_start": "Plugin start",
|
||||
"template.system_config": "System",
|
||||
"template.tool_call": "Tool Call",
|
||||
"template.tool_call_intro": "Automatically select one or more functional blocks for calling through the AI model, or call plugins.",
|
||||
"template.workflow_start": "Start",
|
||||
"text_concatenation": "Text Editor",
|
||||
"text_content_extraction": "Text Extract",
|
||||
@@ -189,6 +189,8 @@
|
||||
"to_add_node": "to add",
|
||||
"to_connect_node": "to connect",
|
||||
"tool.tool_result": "Tool operation results",
|
||||
"tool_active_config": "Tool active",
|
||||
"tool_active_config_type": "Tool activation: {{type}}",
|
||||
"tool_call_termination": "Stop ToolCall",
|
||||
"tool_custom_field": "Custom Tool",
|
||||
"tool_field": " Tool Field Parameter Configuration",
|
||||
|
@@ -97,6 +97,7 @@
|
||||
"logs_source": "来源",
|
||||
"logs_title": "标题",
|
||||
"look_ai_point_price": "查看所有模型计费标准",
|
||||
"manual_secret": "临时密钥",
|
||||
"mark_count": "标注答案数量",
|
||||
"max_histories_number": "记忆轮数",
|
||||
"max_histories_number_tip": "模型最多携带多少轮对话进入记忆中,如果记忆超出模型上下文,系统会强制截断。所以尽管配置 30 轮对话,实际运行时候,不一定会达到 30 轮。",
|
||||
@@ -136,6 +137,7 @@
|
||||
"saved_success": "保存成功!如需在外部使用该版本,请点击“保存并发布”",
|
||||
"search_app": "搜索应用",
|
||||
"search_tool": "搜索工具",
|
||||
"secret_get_course": "教程",
|
||||
"setting_app": "应用配置",
|
||||
"setting_plugin": "插件配置",
|
||||
"show_top_p_tip": "用温度采样的替代方法,称为Nucleus采样,该模型考虑了具有TOP_P概率质量质量的令牌的结果。因此,0.1表示仅考虑包含最高概率质量的令牌。默认为 1。",
|
||||
@@ -145,6 +147,7 @@
|
||||
"stop_sign_placeholder": "多个序列号通过 | 隔开,例如:aaa|stop",
|
||||
"stream_response": "流输出",
|
||||
"stream_response_tip": "关闭该开关,可以强制模型使用非流模式,并且不会直接进行内容输出。可以在 AI 回复的输出中,获取本次模型输出的内容进行二次处理。",
|
||||
"system_secret": "系统密钥",
|
||||
"team_tags_set": "团队标签",
|
||||
"temperature": "温度",
|
||||
"temperature_tip": "范围 0~10。值越大,代表模型回答越发散;值越小,代表回答越严谨。",
|
||||
@@ -171,8 +174,23 @@
|
||||
"template_market_description": "在模板市场探索更多玩法,配置教程与使用引导,带你理解并上手各种应用",
|
||||
"template_market_empty_data": "找不到合适的模板",
|
||||
"time_zone": "时区",
|
||||
"too_to_active": "去激活",
|
||||
"tool_active_manual_config_desc": "临时密钥保存在本应用中,仅供该应用使用",
|
||||
"tool_active_system_config_desc": "使用系统已配置好的密钥",
|
||||
"tool_active_system_config_price_desc": "需额外支付密钥价格( {{price}} 积分/次)",
|
||||
"tool_detail": "工具详情",
|
||||
"tool_input_param_tip": "该插件正常运行需要配置相关信息",
|
||||
"tool_not_active": "该工具尚未激活",
|
||||
"tool_type_communication": "通讯",
|
||||
"tool_type_design": "设计",
|
||||
"tool_type_entertainment": "商业",
|
||||
"tool_type_finance": "金融",
|
||||
"tool_type_multimodal": "多模态",
|
||||
"tool_type_news": "新闻",
|
||||
"tool_type_productivity": "生产力",
|
||||
"tool_type_scientific": "科研",
|
||||
"tool_type_social": "社交",
|
||||
"tool_type_tools": "工具",
|
||||
"tools_no_description": "这个工具没有介绍~",
|
||||
"transition_to_workflow": "转成工作流",
|
||||
"transition_to_workflow_create_new_placeholder": "创建一个新的应用,而不是修改当前应用",
|
||||
@@ -236,9 +254,8 @@
|
||||
"workflow.select_description_placeholder": "例如: \n冰箱里是否有西红柿?",
|
||||
"workflow.select_description_tip": "你可以添加一段说明文字,用以向用户说明每个选项代表的含义。",
|
||||
"workflow.select_result": "选择结果",
|
||||
"workflow.template.communication": "通信",
|
||||
"workflow.user_file_input": "文件链接",
|
||||
"workflow.user_file_input_desc": "用户上传的文档和图片链接",
|
||||
"workflow.user_select": "用户选择",
|
||||
"workflow.user_select_tip": "该模块可配置多个选项,以供对话时选择。不同选项可导向不同工作流支线"
|
||||
}
|
||||
}
|
||||
|
@@ -50,6 +50,7 @@
|
||||
"Intro": "介绍",
|
||||
"Loading": "加载中...",
|
||||
"Login": "登录",
|
||||
"Manual": "临时",
|
||||
"More": "更多",
|
||||
"Move": "移动",
|
||||
"Name": "名称",
|
||||
@@ -81,6 +82,7 @@
|
||||
"Status": "状态",
|
||||
"Submit": "提交",
|
||||
"Success": "成功",
|
||||
"System": "系统",
|
||||
"Team": "团队",
|
||||
"UnKnow": "未知",
|
||||
"Unlimited": "无限制",
|
||||
@@ -658,7 +660,6 @@
|
||||
"core.module.template.System Plugin": "系统插件",
|
||||
"core.module.template.System input module": "系统输入",
|
||||
"core.module.template.Team app": "团队应用",
|
||||
"core.module.template.Tool module": "工具",
|
||||
"core.module.template.UnKnow Module": "未知模块",
|
||||
"core.module.template.ai_chat": "AI 对话",
|
||||
"core.module.template.ai_chat_intro": "AI 大模型对话",
|
||||
@@ -737,7 +738,6 @@
|
||||
"core.workflow.publish.OnRevert version confirm": "确认回退至该版本?会为您保存编辑中版本的配置,并为回退版本创建一个新的发布版本。",
|
||||
"core.workflow.publish.histories": "发布记录",
|
||||
"core.workflow.template.Interactive": "交互",
|
||||
"core.workflow.template.Multimodal": "多模态",
|
||||
"core.workflow.template.Search": "搜索",
|
||||
"core.workflow.tool.Handle": "工具连接器",
|
||||
"core.workflow.tool.Select Tool": "选择工具",
|
||||
@@ -1010,6 +1010,7 @@
|
||||
"save_failed": "保存异常",
|
||||
"save_success": "保存成功",
|
||||
"scan_code": "扫码支付",
|
||||
"secret_key": "密钥",
|
||||
"secret_tips": "值保存后不会再次明文返回",
|
||||
"select_file_failed": "选择文件异常",
|
||||
"select_reference_variable": "选择引用变量",
|
||||
@@ -1303,7 +1304,6 @@
|
||||
"user_leaved": "已离开",
|
||||
"value": "值",
|
||||
"verification": "验证",
|
||||
"workflow.template.communication": "通信",
|
||||
"xx_search_result": "{{key}} 的搜索结果",
|
||||
"yes": "是",
|
||||
"yesterday": "昨天",
|
||||
|
@@ -102,7 +102,6 @@
|
||||
"team.group.manage_tip": "可以管理成员、创建群组、管理所有群组、为群组和成员分配权限",
|
||||
"team.group.members": "成员",
|
||||
"team.group.name": "群组名称",
|
||||
"team.group.permission.write": "",
|
||||
"team.group.permission_tip": "单独配置权限的成员,将遵循个人权限配置,不再受群组权限影响。\n若成员在多个权限组,则该成员的权限取并集。",
|
||||
"team.group.role.admin": "管理员",
|
||||
"team.group.role.member": "成员",
|
||||
|
@@ -170,6 +170,8 @@
|
||||
"start_with": "开始为",
|
||||
"support_code_language": "支持import列表:pandas,numpy",
|
||||
"target_fields_description": "由 '描述' 和 'key' 组成一个目标字段,可提取多个目标字段",
|
||||
"template.agent": "工具调用",
|
||||
"template.agent_intro": "由 AI 自主决定工具调用。",
|
||||
"template.ai_chat": "AI 对话",
|
||||
"template.ai_chat_intro": "AI 大模型对话",
|
||||
"template.dataset_search": "知识库搜索",
|
||||
@@ -179,8 +181,6 @@
|
||||
"template.plugin_output": "插件输出",
|
||||
"template.plugin_start": "插件开始",
|
||||
"template.system_config": "系统配置",
|
||||
"template.tool_call": "工具调用",
|
||||
"template.tool_call_intro": "通过AI模型自动选择一个或多个功能块进行调用,也可以对插件进行调用。",
|
||||
"template.workflow_start": "流程开始",
|
||||
"text_concatenation": "文本拼接",
|
||||
"text_content_extraction": "文本内容提取",
|
||||
@@ -189,6 +189,8 @@
|
||||
"to_add_node": "添加节点",
|
||||
"to_connect_node": "连接节点",
|
||||
"tool.tool_result": "工具运行结果",
|
||||
"tool_active_config": "工具激活",
|
||||
"tool_active_config_type": "工具激活: {{type}}",
|
||||
"tool_call_termination": "工具调用终止",
|
||||
"tool_custom_field": "自定义工具变量",
|
||||
"tool_field": "工具参数配置",
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"account_team.delete_dataset": "刪除知識庫",
|
||||
"active_model": "可用模型",
|
||||
"add_default_model": "新增預設模型",
|
||||
"api_key": "API 金鑰",
|
||||
|
@@ -17,6 +17,7 @@
|
||||
"admin_delete_template_type": "刪除模板分類",
|
||||
"admin_finish_invoice": "開具發票",
|
||||
"admin_login": "管理員登錄",
|
||||
"admin_save_template_type": "更新模板分類",
|
||||
"admin_send_system_inform": "發送系統通知",
|
||||
"admin_update_app_template": "更新模板",
|
||||
"admin_update_plan": "編輯團隊套餐",
|
||||
@@ -45,6 +46,7 @@
|
||||
"create_app_copy": "創建應用副本",
|
||||
"create_app_folder": "創建應用文件夾",
|
||||
"create_app_publish_channel": "創建分享渠道",
|
||||
"create_collection": "創建集合",
|
||||
"create_data": "插入數據",
|
||||
"create_dataset": "創建知識庫",
|
||||
"create_dataset_folder": "創建知識庫文件夾",
|
||||
@@ -169,6 +171,7 @@
|
||||
"log_login": "【{{name}}】登錄了系統",
|
||||
"log_move_app": "【{{name}}】將名為【{{appName}}】的【{{appType}}】移動到【{{targetFolderName}}】",
|
||||
"log_move_dataset": "【{{name}}】將名為【{{datasetName}}】的【{{datasetType}}】移動到【{{targetFolderName}}】",
|
||||
"log_purchase_plan": "【{{name}}】購買了套餐",
|
||||
"log_recover_team_member": "【{{name}}】恢復了成員【{{memberName}}】",
|
||||
"log_relocate_department": "【{{name}}】移動了部門【{{departmentName}}】",
|
||||
"log_retrain_collection": "【{{name}}】在名為【{{datasetName}}】的【{{datasetType}}】重新訓練了名為【{{collectionName}}】的集合",
|
||||
|
@@ -97,6 +97,7 @@
|
||||
"logs_source": "來源",
|
||||
"logs_title": "標題",
|
||||
"look_ai_point_price": "檢視所有模型計費標準",
|
||||
"manual_secret": "臨時密鑰",
|
||||
"mark_count": "標記答案數量",
|
||||
"max_histories_number": "記憶輪數",
|
||||
"max_histories_number_tip": "模型最多攜帶多少輪對話進入記憶中,如果記憶超出模型上下文,系統會強制截斷。\n所以儘管設定 30 輪對話,實際運作時候,不一定會達到 30 輪。",
|
||||
@@ -136,6 +137,7 @@
|
||||
"saved_success": "儲存成功!\n如需在外部使用該版本,請點選“儲存並發布”",
|
||||
"search_app": "搜尋應用程式",
|
||||
"search_tool": "搜索工具",
|
||||
"secret_get_course": "教程",
|
||||
"setting_app": "應用程式設定",
|
||||
"setting_plugin": "外掛設定",
|
||||
"show_top_p_tip": "用溫度取樣的替代方法,稱為 Nucleus 取樣,該模型考慮了具有 TOP_P 機率質量質量的令牌的結果。\n因此,0.1 表示僅考慮包含最高機率質量的令牌。\n預設為 1。",
|
||||
@@ -145,6 +147,7 @@
|
||||
"stop_sign_placeholder": "多個序列號透過 | 隔開,例如:aaa|stop",
|
||||
"stream_response": "流輸出",
|
||||
"stream_response_tip": "關閉該開關,可以強制模型使用非流模式,並且不會直接進行內容輸出。\n可在 AI 回覆的輸出中,取得本次模型輸出的內容進行二次處理。",
|
||||
"system_secret": "系統密鑰",
|
||||
"team_tags_set": "團隊標籤",
|
||||
"temperature": "溫度",
|
||||
"temperature_tip": "範圍 0~10。\n值越大,代表模型回答越發散;值越小,代表回答越嚴謹。",
|
||||
@@ -171,8 +174,23 @@
|
||||
"template_market_description": "在範本市集探索更多玩法,設定教學與使用指引,帶您理解並上手各種應用程式",
|
||||
"template_market_empty_data": "找不到合適的範本",
|
||||
"time_zone": "時區",
|
||||
"too_to_active": "去激活",
|
||||
"tool_active_manual_config_desc": "臨時密鑰保存在本應用中,僅供該應用使用",
|
||||
"tool_active_system_config_desc": "使用系統已配置好的密鑰",
|
||||
"tool_active_system_config_price_desc": "需額外支付密鑰價格( {{price}} 積分/次)",
|
||||
"tool_detail": "工具詳情",
|
||||
"tool_input_param_tip": "這個外掛正常執行需要設定相關資訊",
|
||||
"tool_not_active": "該工具尚未激活",
|
||||
"tool_type_communication": "通訊",
|
||||
"tool_type_design": "設計",
|
||||
"tool_type_entertainment": "商業",
|
||||
"tool_type_finance": "金融",
|
||||
"tool_type_multimodal": "多模態",
|
||||
"tool_type_news": "新聞",
|
||||
"tool_type_productivity": "生產力",
|
||||
"tool_type_scientific": "科研",
|
||||
"tool_type_social": "社交",
|
||||
"tool_type_tools": "工具",
|
||||
"tools_no_description": "這個工具沒有介紹~",
|
||||
"transition_to_workflow": "轉換成工作流程",
|
||||
"transition_to_workflow_create_new_placeholder": "建立新的應用程式,而不是修改目前應用程式",
|
||||
@@ -189,6 +207,7 @@
|
||||
"type.Create simple bot tip": "透過填寫表單的方式,建立簡單的 AI 應用程式,適合新手",
|
||||
"type.Create workflow bot": "建立工作流程",
|
||||
"type.Create workflow tip": "透過低程式碼的方式,建立邏輯複雜的多輪對話 AI 應用程式,建議進階使用者使用",
|
||||
"type.Folder": "資料夾",
|
||||
"type.Http plugin": "HTTP 外掛",
|
||||
"type.Import from json": "匯入 JSON 設定",
|
||||
"type.Import from json tip": "透過 JSON 設定文件,直接建立應用",
|
||||
@@ -198,9 +217,8 @@
|
||||
"type.MCP_tools_url": "MCP 地址",
|
||||
"type.Plugin": "外掛",
|
||||
"type.Simple bot": "簡易應用程式",
|
||||
"type.Folder": "資料夾",
|
||||
"type.Tool set": "工具集",
|
||||
"type.Tool": "工具",
|
||||
"type.Tool set": "工具集",
|
||||
"type.Workflow bot": "工作流程",
|
||||
"type.error.Workflow data is empty": "沒有獲取到工作流數據",
|
||||
"type.error.workflowresponseempty": "響應內容為空",
|
||||
@@ -236,9 +254,8 @@
|
||||
"workflow.select_description_placeholder": "例如:\n冰箱裡是否有番茄?",
|
||||
"workflow.select_description_tip": "您可以新增一段說明文字,用來向使用者說明每個選項代表的意義。",
|
||||
"workflow.select_result": "選擇結果",
|
||||
"workflow.template.communication": "通訊",
|
||||
"workflow.user_file_input": "檔案連結",
|
||||
"workflow.user_file_input_desc": "使用者上傳的檔案和圖片連結",
|
||||
"workflow.user_select": "使用者選擇",
|
||||
"workflow.user_select_tip": "這個模組可以設定多個選項,供對話時選擇。不同選項可以導向不同的工作流程支線"
|
||||
}
|
||||
}
|
||||
|
@@ -50,6 +50,7 @@
|
||||
"Intro": "介紹",
|
||||
"Loading": "載入中...",
|
||||
"Login": "登入",
|
||||
"Manual": "臨時",
|
||||
"More": "更多",
|
||||
"Move": "移動",
|
||||
"Name": "名稱",
|
||||
@@ -81,6 +82,7 @@
|
||||
"Status": "狀態",
|
||||
"Submit": "送出",
|
||||
"Success": "成功",
|
||||
"System": "系統",
|
||||
"Team": "團隊",
|
||||
"UnKnow": "未知",
|
||||
"Unlimited": "無限制",
|
||||
@@ -658,7 +660,6 @@
|
||||
"core.module.template.System Plugin": "系統外掛",
|
||||
"core.module.template.System input module": "系統輸入模組",
|
||||
"core.module.template.Team app": "團隊應用程式",
|
||||
"core.module.template.Tool module": "工具",
|
||||
"core.module.template.UnKnow Module": "未知模組",
|
||||
"core.module.template.ai_chat": "AI 對話",
|
||||
"core.module.template.ai_chat_intro": "AI 大型模型對話",
|
||||
@@ -737,7 +738,6 @@
|
||||
"core.workflow.publish.OnRevert version confirm": "確認回復至此版本?將為您儲存編輯中版本的設定,並為回復版本建立一個新的發布版本。",
|
||||
"core.workflow.publish.histories": "發布記錄",
|
||||
"core.workflow.template.Interactive": "互動",
|
||||
"core.workflow.template.Multimodal": "多模態",
|
||||
"core.workflow.template.Search": "搜尋",
|
||||
"core.workflow.tool.Handle": "工具聯結器",
|
||||
"core.workflow.tool.Select Tool": "選擇工具",
|
||||
@@ -1010,6 +1010,7 @@
|
||||
"save_failed": "儲存失敗",
|
||||
"save_success": "儲存成功",
|
||||
"scan_code": "掃碼支付",
|
||||
"secret_key": "密鑰",
|
||||
"secret_tips": "值保存後不會再次明文返回",
|
||||
"select_file_failed": "選擇檔案失敗",
|
||||
"select_reference_variable": "選擇引用變數",
|
||||
@@ -1303,7 +1304,6 @@
|
||||
"user_leaved": "已離開",
|
||||
"value": "值",
|
||||
"verification": "驗證",
|
||||
"workflow.template.communication": "通訊",
|
||||
"xx_search_result": "{{key}} 的搜尋結果",
|
||||
"yes": "是",
|
||||
"yesterday": "昨天",
|
||||
|
@@ -20,6 +20,7 @@
|
||||
"chunk_trigger_force_chunk": "強制分塊",
|
||||
"chunk_trigger_max_size": "原文長度大於文件處理模型最大上下文70%",
|
||||
"chunk_trigger_min_size": "原文長度大於",
|
||||
"chunk_trigger_tips": "當滿足一定條件時才觸發分塊存儲,否則會直接完整存儲原文",
|
||||
"close_auto_sync": "確認關閉自動同步功能?",
|
||||
"collection.Create update time": "建立/更新時間",
|
||||
"collection.Training type": "分段模式",
|
||||
@@ -203,6 +204,7 @@
|
||||
"training_mode": "分段模式",
|
||||
"training_ready": "{{count}} 組",
|
||||
"upload_by_template_format": "按模版文件上傳",
|
||||
"uploading_progress": "上傳中: {{num}}%",
|
||||
"vector_model_max_tokens_tip": "每個分塊資料,最大長度為 3000 tokens",
|
||||
"vllm_model": "圖片理解模型",
|
||||
"vlm_model_required_warning": "需要圖片理解模型",
|
||||
|
@@ -9,20 +9,22 @@
|
||||
"Image_does_not_belong_to_current_team": "圖片不屬於當前團隊",
|
||||
"Image_file_does_not_exist": "圖片不存在",
|
||||
"Loading_image": "加載圖片中...",
|
||||
"Loading_image_failed": "預覽加載失敗",
|
||||
"Loading_image failed": "預覽加載失敗",
|
||||
"Only_support_uploading_one_image": "僅支持上傳一張圖片",
|
||||
"Please select the image to upload": "請選擇要上傳的圖片",
|
||||
"Please select the image to upload select the image to upload": "",
|
||||
"Please wait for all files to upload": "請等待所有文件上傳完成",
|
||||
"bucket_chat": "對話檔案",
|
||||
"bucket_file": "知識庫檔案",
|
||||
"click_to_view_raw_source": "點選檢視原始來源",
|
||||
"dataset_data_input_image_support_format": "支持 .jpg, .jpeg, .png, .gif, .webp 格式",
|
||||
"common.Some images failed to process": "部分圖片處理失敗",
|
||||
"common.dataset_data_input_image_support_format": "支持 .jpg, .jpeg, .png, .gif, .webp 格式",
|
||||
"count.core.dataset.collection.Create Success": "成功導入 {{count}} 張圖片",
|
||||
"delete_image": "刪除圖片",
|
||||
"file_name": "檔案名稱",
|
||||
"file_size": "檔案大小",
|
||||
"image": "圖片",
|
||||
"image_collection": "圖片集合",
|
||||
"image_description": "圖片描述",
|
||||
"image_description_tip": "請輸入圖片的描述內容",
|
||||
"please_upload_image_first": "請先上傳圖片",
|
||||
"reached_max_file_count": "已達檔案數量上限",
|
||||
|
@@ -101,7 +101,6 @@
|
||||
"team.group.manage_tip": "可以管理成員、建立群組、管理所有群組、為群組和成員分配權限",
|
||||
"team.group.members": "成員",
|
||||
"team.group.name": "群組名稱",
|
||||
"team.group.permission.write": "工作臺/知識庫建立",
|
||||
"team.group.permission_tip": "單獨設定權限的成員,將依照個人權限設定,不再受群組權限影響。\n若成員屬於多個權限群組,該成員的權限將會合併。",
|
||||
"team.group.role.admin": "管理員",
|
||||
"team.group.role.member": "成員",
|
||||
|
@@ -170,6 +170,8 @@
|
||||
"start_with": "開頭為",
|
||||
"support_code_language": "支援 import 列表:pandas,numpy",
|
||||
"target_fields_description": "由「描述」和「鍵值」組成一個目標欄位,可以擷取多個目標欄位",
|
||||
"template.agent": "工具调用",
|
||||
"template.agent_intro": "透過 AI 模型自動選擇一或多個功能區塊進行呼叫,也可以呼叫外掛程式。",
|
||||
"template.ai_chat": "AI 對話",
|
||||
"template.ai_chat_intro": "AI 大型語言模型對話",
|
||||
"template.dataset_search": "知識庫搜尋",
|
||||
@@ -179,8 +181,6 @@
|
||||
"template.plugin_output": "外掛程式輸出",
|
||||
"template.plugin_start": "外掛程式啟動",
|
||||
"template.system_config": "系統設定",
|
||||
"template.tool_call": "工具呼叫",
|
||||
"template.tool_call_intro": "透過 AI 模型自動選擇一或多個功能區塊進行呼叫,也可以呼叫外掛程式。",
|
||||
"template.workflow_start": "流程開始",
|
||||
"text_concatenation": "文字串接",
|
||||
"text_content_extraction": "文字內容擷取",
|
||||
@@ -189,6 +189,8 @@
|
||||
"to_add_node": "添加節點",
|
||||
"to_connect_node": "連接節點",
|
||||
"tool.tool_result": "工具運行結果",
|
||||
"tool_active_config": "工具激活",
|
||||
"tool_active_config_type": "工具激活: {{type}}",
|
||||
"tool_call_termination": "工具呼叫終止",
|
||||
"tool_custom_field": "自訂工具變數",
|
||||
"tool_field": "工具參數設定",
|
||||
|
Reference in New Issue
Block a user