您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. import type { Var } from './types'
  2. import { BlockEnum, VarType } from './types'
  3. export const MAX_ITERATION_PARALLEL_NUM = 10
  4. export const MIN_ITERATION_PARALLEL_NUM = 1
  5. export const DEFAULT_ITER_TIMES = 1
  6. export const DEFAULT_LOOP_TIMES = 1
  7. export const NODE_WIDTH = 240
  8. export const X_OFFSET = 60
  9. export const NODE_WIDTH_X_OFFSET = NODE_WIDTH + X_OFFSET
  10. export const Y_OFFSET = 39
  11. export const START_INITIAL_POSITION = { x: 80, y: 282 }
  12. export const AUTO_LAYOUT_OFFSET = {
  13. x: -42,
  14. y: 243,
  15. }
  16. export const ITERATION_NODE_Z_INDEX = 1
  17. export const ITERATION_CHILDREN_Z_INDEX = 1002
  18. export const ITERATION_PADDING = {
  19. top: 65,
  20. right: 16,
  21. bottom: 20,
  22. left: 16,
  23. }
  24. export const LOOP_NODE_Z_INDEX = 1
  25. export const LOOP_CHILDREN_Z_INDEX = 1002
  26. export const LOOP_PADDING = {
  27. top: 65,
  28. right: 16,
  29. bottom: 20,
  30. left: 16,
  31. }
  32. export const NODE_LAYOUT_HORIZONTAL_PADDING = 60
  33. export const NODE_LAYOUT_VERTICAL_PADDING = 60
  34. export const NODE_LAYOUT_MIN_DISTANCE = 100
  35. export const PARALLEL_DEPTH_LIMIT = 3
  36. export const RETRIEVAL_OUTPUT_STRUCT = `{
  37. "content": "",
  38. "title": "",
  39. "url": "",
  40. "icon": "",
  41. "metadata": {
  42. "dataset_id": "",
  43. "dataset_name": "",
  44. "document_id": [],
  45. "document_name": "",
  46. "document_data_source_type": "",
  47. "segment_id": "",
  48. "segment_position": "",
  49. "segment_word_count": "",
  50. "segment_hit_count": "",
  51. "segment_index_node_hash": "",
  52. "score": ""
  53. }
  54. }`
  55. export const SUPPORT_OUTPUT_VARS_NODE = [
  56. BlockEnum.Start, BlockEnum.LLM, BlockEnum.KnowledgeRetrieval, BlockEnum.Code, BlockEnum.TemplateTransform,
  57. BlockEnum.HttpRequest, BlockEnum.Tool, BlockEnum.VariableAssigner, BlockEnum.VariableAggregator, BlockEnum.QuestionClassifier,
  58. BlockEnum.ParameterExtractor, BlockEnum.Iteration, BlockEnum.Loop,
  59. BlockEnum.DocExtractor, BlockEnum.ListFilter,
  60. BlockEnum.Agent, BlockEnum.DataSource,
  61. ]
  62. export const AGENT_OUTPUT_STRUCT: Var[] = [
  63. {
  64. variable: 'usage',
  65. type: VarType.object,
  66. },
  67. ]
  68. export const LLM_OUTPUT_STRUCT: Var[] = [
  69. {
  70. variable: 'text',
  71. type: VarType.string,
  72. },
  73. {
  74. variable: 'reasoning_content',
  75. type: VarType.string,
  76. },
  77. {
  78. variable: 'usage',
  79. type: VarType.object,
  80. },
  81. ]
  82. export const KNOWLEDGE_RETRIEVAL_OUTPUT_STRUCT: Var[] = [
  83. {
  84. variable: 'result',
  85. type: VarType.arrayObject,
  86. },
  87. ]
  88. export const TEMPLATE_TRANSFORM_OUTPUT_STRUCT: Var[] = [
  89. {
  90. variable: 'output',
  91. type: VarType.string,
  92. },
  93. ]
  94. export const QUESTION_CLASSIFIER_OUTPUT_STRUCT = [
  95. {
  96. variable: 'class_name',
  97. type: VarType.string,
  98. },
  99. {
  100. variable: 'usage',
  101. type: VarType.object,
  102. },
  103. ]
  104. export const HTTP_REQUEST_OUTPUT_STRUCT: Var[] = [
  105. {
  106. variable: 'body',
  107. type: VarType.string,
  108. },
  109. {
  110. variable: 'status_code',
  111. type: VarType.number,
  112. },
  113. {
  114. variable: 'headers',
  115. type: VarType.object,
  116. },
  117. {
  118. variable: 'files',
  119. type: VarType.arrayFile,
  120. },
  121. ]
  122. export const TOOL_OUTPUT_STRUCT: Var[] = [
  123. {
  124. variable: 'text',
  125. type: VarType.string,
  126. },
  127. {
  128. variable: 'files',
  129. type: VarType.arrayFile,
  130. },
  131. {
  132. variable: 'json',
  133. type: VarType.arrayObject,
  134. },
  135. ]
  136. export const PARAMETER_EXTRACTOR_COMMON_STRUCT: Var[] = [
  137. {
  138. variable: '__is_success',
  139. type: VarType.number,
  140. },
  141. {
  142. variable: '__reason',
  143. type: VarType.string,
  144. },
  145. {
  146. variable: '__usage',
  147. type: VarType.object,
  148. },
  149. ]
  150. export const FILE_STRUCT: Var[] = [
  151. {
  152. variable: 'name',
  153. type: VarType.string,
  154. },
  155. {
  156. variable: 'size',
  157. type: VarType.number,
  158. },
  159. {
  160. variable: 'type',
  161. type: VarType.string,
  162. },
  163. {
  164. variable: 'extension',
  165. type: VarType.string,
  166. },
  167. {
  168. variable: 'mime_type',
  169. type: VarType.string,
  170. },
  171. {
  172. variable: 'transfer_method',
  173. type: VarType.string,
  174. },
  175. {
  176. variable: 'url',
  177. type: VarType.string,
  178. },
  179. {
  180. variable: 'related_id',
  181. type: VarType.string,
  182. },
  183. ]
  184. export const DEFAULT_FILE_UPLOAD_SETTING = {
  185. allowed_file_upload_methods: ['local_file', 'remote_url'],
  186. max_length: 5,
  187. allowed_file_types: ['image'],
  188. allowed_file_extensions: [],
  189. }
  190. export const WORKFLOW_DATA_UPDATE = 'WORKFLOW_DATA_UPDATE'
  191. export const CUSTOM_NODE = 'custom'
  192. export const CUSTOM_EDGE = 'custom'
  193. export const DSL_EXPORT_CHECK = 'DSL_EXPORT_CHECK'
  194. export const DEFAULT_RETRY_MAX = 3
  195. export const DEFAULT_RETRY_INTERVAL = 100