mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-17 12:35:52 +08:00
feat: add mock data and ts
This commit is contained in:
parent
330dc2fd44
commit
a4806be841
54
web/app/components/workflow/nodes/llm/mock-struct-data.ts
Normal file
54
web/app/components/workflow/nodes/llm/mock-struct-data.ts
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
import { type StructuredOutput, Type } from './types'
|
||||||
|
|
||||||
|
const data: StructuredOutput = {
|
||||||
|
schema: {
|
||||||
|
type: Type.object,
|
||||||
|
properties: {
|
||||||
|
string_field: {
|
||||||
|
type: Type.string,
|
||||||
|
description: '可为空',
|
||||||
|
},
|
||||||
|
obj_field: {
|
||||||
|
type: Type.object,
|
||||||
|
properties: {
|
||||||
|
string_field_1: {
|
||||||
|
type: Type.string,
|
||||||
|
description: '描述可为空',
|
||||||
|
},
|
||||||
|
number_field_2: {
|
||||||
|
type: Type.number,
|
||||||
|
description: '描述可为空',
|
||||||
|
},
|
||||||
|
array_field_4: {
|
||||||
|
type: Type.array,
|
||||||
|
items: {
|
||||||
|
type: Type.string,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
boolean_field_5: {
|
||||||
|
type: Type.boolean,
|
||||||
|
description: '描述可为空',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: [
|
||||||
|
'string_field_1',
|
||||||
|
'number_field_2',
|
||||||
|
'enum_field_3',
|
||||||
|
'array_field_4',
|
||||||
|
'boolean_field_5',
|
||||||
|
],
|
||||||
|
additionalProperties: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: [
|
||||||
|
'string_field_1',
|
||||||
|
'number_field_2',
|
||||||
|
'enum_field_3',
|
||||||
|
'array_field_4',
|
||||||
|
'boolean_field_5',
|
||||||
|
],
|
||||||
|
additionalProperties: false,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default data
|
@ -16,3 +16,35 @@ export type LLMNodeType = CommonNodeType & {
|
|||||||
configs?: VisionSetting
|
configs?: VisionSetting
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum Type {
|
||||||
|
string = 'string',
|
||||||
|
number = 'number',
|
||||||
|
boolean = 'boolean',
|
||||||
|
object = 'object',
|
||||||
|
array = 'array',
|
||||||
|
}
|
||||||
|
|
||||||
|
type ArrayItemType = Exclude<Type, Type.array>
|
||||||
|
|
||||||
|
export type Field = {
|
||||||
|
type: Type
|
||||||
|
properties?: { // Object has properties
|
||||||
|
[key: string]: Field
|
||||||
|
}
|
||||||
|
required?: string[] // Key of required properties in object
|
||||||
|
description?: string
|
||||||
|
items?: { // Array has items. Define the item type
|
||||||
|
type: ArrayItemType
|
||||||
|
}
|
||||||
|
additionalProperties?: false // Required in object by api. Just set false
|
||||||
|
}
|
||||||
|
|
||||||
|
export type StructuredOutput = {
|
||||||
|
schema: {
|
||||||
|
type: Type.object,
|
||||||
|
properties: Record<string, Field>
|
||||||
|
required: string[]
|
||||||
|
additionalProperties: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user