File size: 4,731 Bytes
8da11cb
457df3d
70b1cb8
8da11cb
ed19e93
457df3d
8da11cb
 
454aa85
8da11cb
 
be99f83
 
 
 
 
70b1cb8
ed19e93
457df3d
 
be99f83
13080d4
454aa85
 
 
 
 
70b1cb8
ed19e93
457df3d
 
454aa85
 
ddd1aa2
 
 
f43283a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64b1da0
 
 
 
 
 
f43283a
 
 
 
ddd1aa2
 
 
 
454aa85
 
ddd1aa2
454aa85
 
 
ddd1aa2
454aa85
 
 
ddd1aa2
454aa85
70b1cb8
 
 
 
ed19e93
 
 
 
457df3d
 
 
 
 
 
 
 
8da11cb
 
13080d4
 
 
 
 
 
 
 
 
 
 
c939fd2
 
13080d4
 
 
 
 
 
 
 
 
 
c939fd2
 
 
 
 
 
04225e2
64b1da0
c939fd2
36669dc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
457b4e6
 
 
 
916a392
457b4e6
 
 
 
ed19e93
457df3d
 
457b4e6
 
 
 
 
 
 
 
ed19e93
64b1da0
457df3d
457b4e6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
import {
  BranchesOutlined,
  DatabaseOutlined,
  MergeCellsOutlined,
  MessageOutlined,
  QuestionOutlined,
  RocketOutlined,
  SendOutlined,
  SlidersOutlined,
} from '@ant-design/icons';

export enum Operator {
  Begin = 'Begin',
  Retrieval = 'Retrieval',
  Generate = 'Generate',
  Answer = 'Answer',
  Categorize = 'Categorize',
  Message = 'Message',
  Relevant = 'Relevant',
  RewriteQuestion = 'RewriteQuestion',
}

export const operatorIconMap = {
  [Operator.Retrieval]: RocketOutlined,
  [Operator.Generate]: MergeCellsOutlined,
  [Operator.Answer]: SendOutlined,
  [Operator.Begin]: SlidersOutlined,
  [Operator.Categorize]: DatabaseOutlined,
  [Operator.Message]: MessageOutlined,
  [Operator.Relevant]: BranchesOutlined,
  [Operator.RewriteQuestion]: QuestionOutlined,
};

export const operatorMap = {
  [Operator.Retrieval]: {
    description: 'Retrieval description drjlftglrthjftl',
    backgroundColor: '#cad6e0',
    color: '#385974',
  },
  [Operator.Generate]: {
    description: 'Generate description',
    backgroundColor: '#ebd6d6',
    width: 150,
    height: 150,
    fontSize: 20,
    iconFontSize: 30,
    color: '#996464',
  },
  [Operator.Answer]: {
    description: 'Answer description',
    backgroundColor: '#f4816d',
    color: 'white',
  },
  [Operator.Begin]: {
    description: 'Begin description',
    backgroundColor: '#4f51d6',
  },
  [Operator.Categorize]: {
    description: 'Categorize description',
    backgroundColor: '#ffebcd',
    color: '#cc8a26',
  },
  [Operator.Message]: {
    description: 'Message description',
    backgroundColor: '#c5ddc7',
    color: 'green',
  },
  [Operator.Relevant]: {
    description: 'BranchesOutlined description',
    backgroundColor: '#9fd94d',
    color: 'white',
    width: 70,
    height: 70,
    fontSize: 12,
    iconFontSize: 16,
  },
  [Operator.RewriteQuestion]: {
    description: 'RewriteQuestion description',
    backgroundColor: 'white',
  },
};

export const componentMenuList = [
  {
    name: Operator.Retrieval,
    description: operatorMap[Operator.Retrieval].description,
  },
  {
    name: Operator.Generate,
    description: operatorMap[Operator.Generate].description,
  },
  {
    name: Operator.Answer,
    description: operatorMap[Operator.Answer].description,
  },
  {
    name: Operator.Categorize,
    description: operatorMap[Operator.Categorize].description,
  },
  {
    name: Operator.Message,
    description: operatorMap[Operator.Message].description,
  },
  {
    name: Operator.Relevant,
    description: operatorMap[Operator.Relevant].description,
  },
  {
    name: Operator.RewriteQuestion,
    description: operatorMap[Operator.RewriteQuestion].description,
  },
];

export const initialRetrievalValues = {
  similarity_threshold: 0.2,
  keywords_similarity_weight: 0.3,
  top_n: 8,
};

export const initialBeginValues = {
  prologue: `Hi! I'm your assistant, what can I do for you?`,
};

export const initialGenerateValues = {
  // parameters: ModelVariableType.Precise,
  // temperatureEnabled: true,
  temperature: 0.1,
  top_p: 0.3,
  frequency_penalty: 0.7,
  presence_penalty: 0.4,
  max_tokens: 512,
  prompt: `Please summarize the following paragraphs. Be careful with the numbers, do not make things up. Paragraphs as following:
  {cluster_content}
The above is the content you need to summarize.`,
  cite: true,
};

export const initialFormValuesMap = {
  [Operator.Begin]: initialBeginValues,
  [Operator.Retrieval]: initialRetrievalValues,
  [Operator.Generate]: initialGenerateValues,
  [Operator.Answer]: {},
  [Operator.Categorize]: {},
  [Operator.Relevant]: {},
};

export const CategorizeAnchorPointPositions = [
  { top: 1, right: 34 },
  { top: 8, right: 18 },
  { top: 15, right: 10 },
  { top: 24, right: 4 },
  { top: 31, right: 1 },
  { top: 38, right: -2 },
  { top: 62, right: -2 }, //bottom
  { top: 71, right: 1 },
  { top: 79, right: 6 },
  { top: 86, right: 12 },
  { top: 91, right: 20 },
  { top: 98, right: 34 },
];

// key is the source of the edge, value is the target of the edge
// no connection lines are allowed between key and value
export const RestrictedUpstreamMap = {
  [Operator.Begin]: [],
  [Operator.Categorize]: [Operator.Begin, Operator.Categorize, Operator.Answer],
  [Operator.Answer]: [],
  [Operator.Retrieval]: [],
  [Operator.Generate]: [],
  [Operator.Message]: [],
  [Operator.Relevant]: [],
  [Operator.RewriteQuestion]: [],
};

export const NodeMap = {
  [Operator.Begin]: 'beginNode',
  [Operator.Categorize]: 'categorizeNode',
  [Operator.Retrieval]: 'ragNode',
  [Operator.Generate]: 'ragNode',
  [Operator.Answer]: 'ragNode',
  [Operator.Message]: 'ragNode',
  [Operator.Relevant]: 'relevantNode',
  [Operator.RewriteQuestion]: 'ragNode',
};