balibabu
fix: fixed the issue where parameters of DuckDuckGo could not be saved to the backend after being dragged to the canvas #918 (#1503)
a9048a7
| import { ReactComponent as BaiduIcon } from '@/assets/svg/baidu.svg'; | |
| import { ReactComponent as DuckIcon } from '@/assets/svg/duck.svg'; | |
| import { ReactComponent as KeywordIcon } from '@/assets/svg/keyword.svg'; | |
| import { variableEnabledFieldMap } from '@/constants/chat'; | |
| import i18n from '@/locales/config'; | |
| // DuckDuckGo's channel options | |
| export enum Channel { | |
| Text = 'text', | |
| News = 'news', | |
| } | |
| import { | |
| BranchesOutlined, | |
| DatabaseOutlined, | |
| FormOutlined, | |
| MergeCellsOutlined, | |
| MessageOutlined, | |
| 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', | |
| KeywordExtract = 'KeywordExtract', | |
| Baidu = 'Baidu', | |
| DuckDuckGo = 'DuckDuckGo', | |
| } | |
| 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]: FormOutlined, | |
| [Operator.KeywordExtract]: KeywordIcon, | |
| [Operator.DuckDuckGo]: DuckIcon, | |
| [Operator.Baidu]: BaiduIcon, | |
| }; | |
| export const operatorMap = { | |
| [Operator.Retrieval]: { | |
| backgroundColor: '#cad6e0', | |
| color: '#385974', | |
| }, | |
| [Operator.Generate]: { | |
| backgroundColor: '#ebd6d6', | |
| width: 150, | |
| height: 150, | |
| fontSize: 20, | |
| iconFontSize: 30, | |
| color: '#996464', | |
| }, | |
| [Operator.Answer]: { | |
| backgroundColor: '#f4816d', | |
| color: 'white', | |
| }, | |
| [Operator.Begin]: { | |
| backgroundColor: '#4f51d6', | |
| }, | |
| [Operator.Categorize]: { | |
| backgroundColor: '#ffebcd', | |
| color: '#cc8a26', | |
| }, | |
| [Operator.Message]: { | |
| backgroundColor: '#c5ddc7', | |
| color: 'green', | |
| }, | |
| [Operator.Relevant]: { | |
| backgroundColor: '#9fd94d', | |
| color: 'white', | |
| width: 70, | |
| height: 70, | |
| fontSize: 12, | |
| iconFontSize: 16, | |
| }, | |
| [Operator.RewriteQuestion]: { | |
| backgroundColor: '#f8c7f8', | |
| color: 'white', | |
| width: 70, | |
| height: 70, | |
| fontSize: 12, | |
| iconFontSize: 16, | |
| }, | |
| [Operator.KeywordExtract]: { | |
| width: 70, | |
| height: 70, | |
| backgroundColor: '#0f0e0f', | |
| color: '#e1dcdc', | |
| fontSize: 12, | |
| iconWidth: 16, | |
| // iconFontSize: 16, | |
| }, | |
| [Operator.DuckDuckGo]: { | |
| backgroundColor: '#e7e389', | |
| color: '#aea00c', | |
| }, | |
| [Operator.Baidu]: {}, | |
| }; | |
| export const componentMenuList = [ | |
| { | |
| name: Operator.Retrieval, | |
| }, | |
| { | |
| name: Operator.Generate, | |
| }, | |
| { | |
| name: Operator.Answer, | |
| }, | |
| { | |
| name: Operator.Categorize, | |
| }, | |
| { | |
| name: Operator.Message, | |
| }, | |
| { | |
| name: Operator.Relevant, | |
| }, | |
| { | |
| name: Operator.RewriteQuestion, | |
| }, | |
| { | |
| name: Operator.KeywordExtract, | |
| }, | |
| { | |
| name: Operator.DuckDuckGo, | |
| }, | |
| { | |
| name: Operator.Baidu, | |
| }, | |
| ]; | |
| 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 variableCheckBoxFieldMap = Object.keys( | |
| variableEnabledFieldMap, | |
| ).reduce<Record<string, boolean>>((pre, cur) => { | |
| pre[cur] = true; | |
| return pre; | |
| }, {}); | |
| const initialLlmBaseValues = { | |
| ...variableCheckBoxFieldMap, | |
| temperature: 0.1, | |
| top_p: 0.3, | |
| frequency_penalty: 0.7, | |
| presence_penalty: 0.4, | |
| max_tokens: 256, | |
| }; | |
| export const initialGenerateValues = { | |
| ...initialLlmBaseValues, | |
| prompt: i18n.t('flow.promptText'), | |
| cite: true, | |
| message_history_window_size: 12, | |
| parameters: [], | |
| }; | |
| export const initialRewriteQuestionValues = { | |
| ...initialLlmBaseValues, | |
| loop: 1, | |
| }; | |
| export const initialRelevantValues = { | |
| ...initialLlmBaseValues, | |
| }; | |
| export const initialCategorizeValues = { | |
| ...initialLlmBaseValues, | |
| category_description: {}, | |
| }; | |
| export const initialMessageValues = { | |
| messages: [], | |
| }; | |
| export const initialKeywordExtractValues = { | |
| ...initialLlmBaseValues, | |
| top_n: 1, | |
| }; | |
| export const initialDuckValues = { | |
| top_n: 10, | |
| channel: Channel.Text, | |
| }; | |
| export const initialBaiduValues = { | |
| top_n: 10, | |
| }; | |
| 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.Relevant], | |
| [Operator.Categorize]: [ | |
| Operator.Begin, | |
| Operator.Categorize, | |
| Operator.Answer, | |
| Operator.Relevant, | |
| ], | |
| [Operator.Answer]: [ | |
| Operator.Begin, | |
| Operator.Answer, | |
| Operator.Message, | |
| Operator.Relevant, | |
| ], | |
| [Operator.Retrieval]: [Operator.Begin, Operator.Retrieval], | |
| [Operator.Generate]: [Operator.Begin, Operator.Relevant], | |
| [Operator.Message]: [ | |
| Operator.Begin, | |
| Operator.Message, | |
| Operator.Generate, | |
| Operator.Retrieval, | |
| Operator.RewriteQuestion, | |
| Operator.Categorize, | |
| Operator.Relevant, | |
| ], | |
| [Operator.Relevant]: [Operator.Begin, Operator.Answer, Operator.Relevant], | |
| [Operator.RewriteQuestion]: [ | |
| Operator.Begin, | |
| Operator.Message, | |
| Operator.Generate, | |
| Operator.RewriteQuestion, | |
| Operator.Categorize, | |
| Operator.Relevant, | |
| ], | |
| [Operator.KeywordExtract]: [ | |
| Operator.Begin, | |
| Operator.Message, | |
| Operator.Relevant, | |
| ], | |
| [Operator.Baidu]: [Operator.Begin, Operator.Retrieval], | |
| [Operator.DuckDuckGo]: [Operator.Begin, Operator.Retrieval], | |
| }; | |
| 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', | |
| [Operator.KeywordExtract]: 'ragNode', | |
| [Operator.DuckDuckGo]: 'ragNode', | |
| [Operator.Baidu]: 'ragNode', | |
| }; | |