新版本流程编辑器
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
/**
|
||||
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
import { nanoid } from 'nanoid';
|
||||
|
||||
import { WorkflowNodeType } from '../constants';
|
||||
import { FlowNodeRegistry } from '../../typings';
|
||||
import iconLLM from '../../assets/icon-llm.jpg';
|
||||
|
||||
let index = 0;
|
||||
export const LLMNodeRegistry: FlowNodeRegistry = {
|
||||
type: WorkflowNodeType.LLM,
|
||||
info: {
|
||||
icon: iconLLM,
|
||||
description:
|
||||
'Call the large language model and use variables and prompt words to generate responses.',
|
||||
},
|
||||
meta: {
|
||||
size: {
|
||||
width: 360,
|
||||
height: 390,
|
||||
},
|
||||
},
|
||||
onAdd() {
|
||||
return {
|
||||
id: `llm_${nanoid(5)}`,
|
||||
type: 'llm',
|
||||
data: {
|
||||
title: `LLM_${++index}`,
|
||||
inputsValues: {
|
||||
modelName: {
|
||||
type: 'constant',
|
||||
content: 'gpt-3.5-turbo',
|
||||
},
|
||||
apiKey: {
|
||||
type: 'constant',
|
||||
content: 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
|
||||
},
|
||||
apiHost: {
|
||||
type: 'constant',
|
||||
content: 'https://mock-ai-url/api/v3',
|
||||
},
|
||||
temperature: {
|
||||
type: 'constant',
|
||||
content: 0.5,
|
||||
},
|
||||
systemPrompt: {
|
||||
type: 'template',
|
||||
content: '# Role\nYou are an AI assistant.\n',
|
||||
},
|
||||
prompt: {
|
||||
type: 'template',
|
||||
content: '',
|
||||
},
|
||||
},
|
||||
inputs: {
|
||||
type: 'object',
|
||||
required: ['modelName', 'apiKey', 'apiHost', 'temperature', 'prompt'],
|
||||
properties: {
|
||||
modelName: {
|
||||
type: 'string',
|
||||
},
|
||||
apiKey: {
|
||||
type: 'string',
|
||||
},
|
||||
apiHost: {
|
||||
type: 'string',
|
||||
},
|
||||
temperature: {
|
||||
type: 'number',
|
||||
},
|
||||
systemPrompt: {
|
||||
type: 'string',
|
||||
extra: {
|
||||
formComponent: 'prompt-editor',
|
||||
},
|
||||
},
|
||||
prompt: {
|
||||
type: 'string',
|
||||
extra: {
|
||||
formComponent: 'prompt-editor',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
outputs: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
result: { type: 'string' },
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user