ragflow / web /src /pages /flow /constant.tsx
balibabu
feat: add Wikipedia operator #918 (#1516)
5d3a620
raw
history blame
10.5 kB
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 { ReactComponent as WikipediaIcon } from '@/assets/svg/wikipedia.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',
Wikipedia = 'Wikipedia',
}
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,
[Operator.Wikipedia]: WikipediaIcon,
};
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]: {},
[Operator.Wikipedia]: {
backgroundColor: '#dee0e2',
},
};
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,
},
{
name: Operator.Wikipedia,
},
];
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 initialWikipediaValues = {
top_n: 10,
language: 'en',
};
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],
[Operator.Wikipedia]: [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',
[Operator.Wikipedia]: 'ragNode',
};
export const LanguageOptions = [
{
value: 'af',
label: 'Afrikaans',
},
{
value: 'pl',
label: 'Polski',
},
{
value: 'ar',
label: 'العربية',
},
{
value: 'ast',
label: 'Asturianu',
},
{
value: 'az',
label: 'Azərbaycanca',
},
{
value: 'bg',
label: 'Български',
},
{
value: 'nan',
label: '閩南語 / Bân-lâm-gú',
},
{
value: 'bn',
label: 'বাংলা',
},
{
value: 'be',
label: 'Беларуская',
},
{
value: 'ca',
label: 'Català',
},
{
value: 'cs',
label: 'Čeština',
},
{
value: 'cy',
label: 'Cymraeg',
},
{
value: 'da',
label: 'Dansk',
},
{
value: 'de',
label: 'Deutsch',
},
{
value: 'et',
label: 'Eesti',
},
{
value: 'el',
label: 'Ελληνικά',
},
{
value: 'en',
label: 'English',
},
{
value: 'es',
label: 'Español',
},
{
value: 'eo',
label: 'Esperanto',
},
{
value: 'eu',
label: 'Euskara',
},
{
value: 'fa',
label: 'فارسی',
},
{
value: 'fr',
label: 'Français',
},
{
value: 'gl',
label: 'Galego',
},
{
value: 'ko',
label: '한국어',
},
{
value: 'hy',
label: 'Հայերեն',
},
{
value: 'hi',
label: 'हिन्दी',
},
{
value: 'hr',
label: 'Hrvatski',
},
{
value: 'id',
label: 'Bahasa Indonesia',
},
{
value: 'it',
label: 'Italiano',
},
{
value: 'he',
label: 'עברית',
},
{
value: 'ka',
label: 'ქართული',
},
{
value: 'lld',
label: 'Ladin',
},
{
value: 'la',
label: 'Latina',
},
{
value: 'lv',
label: 'Latviešu',
},
{
value: 'lt',
label: 'Lietuvių',
},
{
value: 'hu',
label: 'Magyar',
},
{
value: 'mk',
label: 'Македонски',
},
{
value: 'arz',
label: 'مصرى',
},
{
value: 'ms',
label: 'Bahasa Melayu',
},
{
value: 'min',
label: 'Bahaso Minangkabau',
},
{
value: 'my',
label: 'မြန်မာဘာသာ',
},
{
value: 'nl',
label: 'Nederlands',
},
{
value: 'ja',
label: '日本語',
},
{
value: 'no',
label: 'Norsk (bokmål)',
},
{
value: 'nn',
label: 'Norsk (nynorsk)',
},
{
value: 'ce',
label: 'Нохчийн',
},
{
value: 'uz',
label: 'Oʻzbekcha / Ўзбекча',
},
{
value: 'pt',
label: 'Português',
},
{
value: 'kk',
label: 'Қазақша / Qazaqşa / قازاقشا',
},
{
value: 'ro',
label: 'Română',
},
{
value: 'ru',
label: 'Русский',
},
{
value: 'ceb',
label: 'Sinugboanong Binisaya',
},
{
value: 'sk',
label: 'Slovenčina',
},
{
value: 'sl',
label: 'Slovenščina',
},
{
value: 'sr',
label: 'Српски / Srpski',
},
{
value: 'sh',
label: 'Srpskohrvatski / Српскохрватски',
},
{
value: 'fi',
label: 'Suomi',
},
{
value: 'sv',
label: 'Svenska',
},
{
value: 'ta',
label: 'தமிழ்',
},
{
value: 'tt',
label: 'Татарча / Tatarça',
},
{
value: 'th',
label: 'ภาษาไทย',
},
{
value: 'tg',
label: 'Тоҷикӣ',
},
{
value: 'azb',
label: 'تۆرکجه',
},
{
value: 'tr',
label: 'Türkçe',
},
{
value: 'uk',
label: 'Українська',
},
{
value: 'ur',
label: 'اردو',
},
{
value: 'vi',
label: 'Tiếng Việt',
},
{
value: 'war',
label: 'Winaray',
},
{
value: 'zh',
label: '中文',
},
{
value: 'yue',
label: '粵語',
},
];