Skip to content

Commit

Permalink
feat: add PubMed operator infiniflow#918 (infiniflow#1589)
Browse files Browse the repository at this point in the history
### What problem does this PR solve?

feat: modify the translation of baiduDescription infiniflow#918
feat: add PubMed operator infiniflow#918
### Type of change


- [x] New Feature (non-breaking change which adds functionality)
  • Loading branch information
cike8899 authored Jul 18, 2024
1 parent bb3f4bf commit bb32ddf
Show file tree
Hide file tree
Showing 9 changed files with 76 additions and 8 deletions.
6 changes: 6 additions & 0 deletions web/src/assets/svg/pubmed.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 7 additions & 3 deletions web/src/locales/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -579,7 +579,7 @@ The above is the content you need to summarize.`,
messageDescription:
'This component is used to send user static information. You can prepare several messages which will be chosen randomly.',
keywordDescription: `This component is used to extract keywords from user's question. Top N specifies the number of keywords you need to extract.`,
wikipediaDescription: `This component is used to get search result from https://www.wikipedia.org/. Typically, it performs as a supplement to knowledgebases. Top N specifies the number of search results you need to adopt.`,
wikipediaDescription: `This component is used to get search result from https://www.wikipedia.org/. Typically, it performs as a supplement to knowledgebases. Top N specifies the number of search results you need to adapt.`,
promptText: `Please summarize the following paragraphs. Be careful with the numbers, do not make things up. Paragraphs as following:
{input}
The above is the content you need to summarize.`,
Expand All @@ -602,10 +602,10 @@ The above is the content you need to summarize.`,
keywordExtract: 'Keyword',
keywordExtractDescription: `This component is used to extract keywords from user's question. Top N specifies the number of keywords you need to extract.`,
baidu: 'Baidu',
baiduDescription: `This component is used to get search result from www.baidu.com. Typically, it performs as a supplement to knowledgebases. Top N specifies the number of search results you need to adopt.`,
baiduDescription: `This component is used to get search result from www.baidu.com. Typically, it performs as a supplement to knowledgebases. Top N specifies the number of search results you need to adapt.`,
duckDuckGo: 'DuckDuckGo',
duckDuckGoDescription:
'This component is used to get search result from www.duckduckgo.com. Typically, it performs as a supplement to knowledgebases. Top N specifies the number of search results you need to adopt.',
'This component is used to get search result from www.duckduckgo.com. Typically, it performs as a supplement to knowledgebases. Top N specifies the number of search results you need to adapt.',
channel: 'Channel',
channelTip: `Perform text search or news search on the component's input`,
text: 'Text',
Expand All @@ -614,6 +614,10 @@ The above is the content you need to summarize.`,
messageHistoryWindowSizeTip:
'The window size of conversation history that needed to be seen by LLM. The larger the better. But be careful with the maximum content length of LLM.',
wikipedia: 'Wikipedia',
pubMed: 'PubMed',
email: 'Email',
emailTip:
'This component is used to get search result from https://pubmed.ncbi.nlm.nih.gov/. Typically, it performs as a supplement to knowledgebases. Top N specifies the number of search results you need to adapt. E-mail is a required field.',
},
footer: {
profile: 'All rights reserved @ React',
Expand Down
5 changes: 4 additions & 1 deletion web/src/locales/zh-traditional.ts
Original file line number Diff line number Diff line change
Expand Up @@ -541,7 +541,7 @@ export default {
messageDescription:
'此元件用於向使用者發送靜態訊息。您可以準備幾條訊息,這些訊息將隨機選擇。',
keywordDescription: `該組件用於從用戶的問題中提取關鍵字。 Top N指定需要提取的關鍵字數量。`,
wikipediaDescription: `此元件用於從 https://www.wikipedia.org/ 取得搜尋結果。通常,它充當知識庫的補充。 Top N 指定您需要採用的搜尋結果的數量。`,
wikipediaDescription: `此元件用於從 https://www.wikipedia.org/ 取得搜尋結果。通常,它作為知識庫的補充。 Top N 指定您需要調整的搜尋結果數。`,
promptText: `請總結以下段落。注意數字,不要胡編亂造。段落如下:
{input}
以上就是你需要總結的內容。`,
Expand Down Expand Up @@ -575,6 +575,9 @@ export default {
messageHistoryWindowSizeTip:
'LLM需要查看的對話記錄的視窗大小。越大越好。但要注意LLM的最大內容長度。',
wikipedia: '維基百科',
email: '信箱',
emailTip:
'此元件用於從 https://pubmed.ncbi.nlm.nih.gov/ 取得搜尋結果。通常,它充當知識庫的補充。 Top N 指定您需要適應的搜尋結果的數量。電子郵件是必填欄位。',
},
footer: {
profile: '“保留所有權利 @ react”',
Expand Down
9 changes: 6 additions & 3 deletions web/src/locales/zh.ts
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ export default {
messageDescription:
'此组件用于向用户发送静态信息。您可以准备几条消息,这些消息将被随机选择。',
keywordDescription: `该组件用于从用户的问题中提取关键词。Top N指定需要提取的关键词数量。`,
wikipediaDescription: `此组件用于从 https://www.wikipedia.org/ 获取搜索结果。通常,它作为知识库的补充。Top N 指定您需要采用的搜索结果数量。`,
wikipediaDescription: `此组件用于从 https://www.wikipedia.org/ 获取搜索结果。通常,它作为知识库的补充。Top N 指定您需要调整的搜索结果数量。`,
promptText: `请总结以下段落。注意数字,不要胡编乱造。段落如下:
{input}
以上就是你需要总结的内容。`,
Expand All @@ -581,10 +581,10 @@ export default {
keywordExtract: '关键词',
keywordExtractDescription: `该组件用于从用户的问题中提取关键词。Top N指定需要提取的关键词数量。`,
baidu: '百度',
baiduDescription: `该组件用于获取www.baidu.com的搜索结果,一般作为知识库的补充,Top N指定需要采纳的搜索结果数量。`,
baiduDescription: `此元件用於取得www.baidu.com的搜尋結果。通常作為知識庫的補充。 Top N指定您需要適配的搜尋結果數。`,
duckDuckGo: 'DuckDuckGo',
duckDuckGoDescription:
'此组件用于从 www.duckduckgo.com 获取搜索结果。通常,它作为知识库的补充。Top N 指定您需要采用的搜索结果数量。',
'此元件用於從 www.duckduckgo.com 取得搜尋結果。通常,它作為知識庫的補充。 Top N 指定您需要調整的搜尋結果數。',
channel: '频道',
channelTip: '针对该组件的输入进行文本搜索或新闻搜索',
text: '文本',
Expand All @@ -593,6 +593,9 @@ export default {
messageHistoryWindowSizeTip:
'LLM 需要查看的对话历史窗口大小。越大越好。但要注意 LLM 的最大内容长度。',
wikipedia: '维基百科',
email: '邮箱',
emailTip:
'此组件用于从 https://pubmed.ncbi.nlm.nih.gov/ 获取搜索结果。通常,它作为知识库的补充。Top N 指定您需要调整的搜索结果数。电子邮件是必填字段。',
},
footer: {
profile: 'All rights reserved @ React',
Expand Down
17 changes: 17 additions & 0 deletions web/src/pages/flow/constant.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
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 PubMedIcon } from '@/assets/svg/pubmed.svg';
import { ReactComponent as WikipediaIcon } from '@/assets/svg/wikipedia.svg';

import { variableEnabledFieldMap } from '@/constants/chat';
import i18n from '@/locales/config';

Expand Down Expand Up @@ -35,6 +37,7 @@ export enum Operator {
Baidu = 'Baidu',
DuckDuckGo = 'DuckDuckGo',
Wikipedia = 'Wikipedia',
PubMed = 'PubMed',
}

export const operatorIconMap = {
Expand All @@ -50,6 +53,7 @@ export const operatorIconMap = {
[Operator.DuckDuckGo]: DuckIcon,
[Operator.Baidu]: BaiduIcon,
[Operator.Wikipedia]: WikipediaIcon,
[Operator.PubMed]: PubMedIcon,
};

export const operatorMap = {
Expand Down Expand Up @@ -113,6 +117,9 @@ export const operatorMap = {
[Operator.Wikipedia]: {
backgroundColor: '#dee0e2',
},
[Operator.PubMed]: {
backgroundColor: '#a2ccf0',
},
};

export const componentMenuList = [
Expand Down Expand Up @@ -149,6 +156,9 @@ export const componentMenuList = [
{
name: Operator.Wikipedia,
},
{
name: Operator.PubMed,
},
];

export const initialRetrievalValues = {
Expand Down Expand Up @@ -221,6 +231,11 @@ export const initialWikipediaValues = {
language: 'en',
};

export const initialPubMedValues = {
top_n: 10,
email: '',
};

export const CategorizeAnchorPointPositions = [
{ top: 1, right: 34 },
{ top: 8, right: 18 },
Expand Down Expand Up @@ -280,6 +295,7 @@ export const RestrictedUpstreamMap = {
[Operator.Baidu]: [Operator.Begin, Operator.Retrieval],
[Operator.DuckDuckGo]: [Operator.Begin, Operator.Retrieval],
[Operator.Wikipedia]: [Operator.Begin, Operator.Retrieval],
[Operator.PubMed]: [Operator.Begin, Operator.Retrieval],
};

export const NodeMap = {
Expand All @@ -295,6 +311,7 @@ export const NodeMap = {
[Operator.DuckDuckGo]: 'ragNode',
[Operator.Baidu]: 'ragNode',
[Operator.Wikipedia]: 'ragNode',
[Operator.PubMed]: 'ragNode',
};

export const LanguageOptions = [
Expand Down
2 changes: 2 additions & 0 deletions web/src/pages/flow/flow-drawer/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import { useHandleFormValuesChange, useHandleNodeNameChange } from '../hooks';
import KeywordExtractForm from '../keyword-extract-form';
import MessageForm from '../message-form';
import OperatorIcon from '../operator-icon';
import PubMedForm from '../pubmed-form';
import RelevantForm from '../relevant-form';
import RetrievalForm from '../retrieval-form';
import RewriteQuestionForm from '../rewrite-question-form';
Expand All @@ -38,6 +39,7 @@ const FormMap = {
[Operator.DuckDuckGo]: DuckDuckGoForm,
[Operator.KeywordExtract]: KeywordExtractForm,
[Operator.Wikipedia]: WikipediaForm,
[Operator.PubMed]: PubMedForm,
};

const EmptyContent = () => <div>empty</div>;
Expand Down
2 changes: 2 additions & 0 deletions web/src/pages/flow/hooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import {
initialGenerateValues,
initialKeywordExtractValues,
initialMessageValues,
initialPubMedValues,
initialRelevantValues,
initialRetrievalValues,
initialRewriteQuestionValues,
Expand Down Expand Up @@ -90,6 +91,7 @@ export const useInitializeOperatorParams = () => {
[Operator.DuckDuckGo]: initialDuckValues,
[Operator.Baidu]: initialBaiduValues,
[Operator.Wikipedia]: initialWikipediaValues,
[Operator.PubMed]: initialPubMedValues,
};
}, [llmId]);

Expand Down
31 changes: 31 additions & 0 deletions web/src/pages/flow/pubmed-form/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import TopNItem from '@/components/top-n-item';
import { useTranslate } from '@/hooks/common-hooks';
import { Form, Input } from 'antd';
import { IOperatorForm } from '../interface';

const PubMedForm = ({ onValuesChange, form }: IOperatorForm) => {
const { t } = useTranslate('flow');

return (
<Form
name="basic"
labelCol={{ span: 6 }}
wrapperCol={{ span: 18 }}
autoComplete="off"
form={form}
onValuesChange={onValuesChange}
>
<TopNItem initialValue={10}></TopNItem>
<Form.Item
label={t('email')}
name={'email'}
tooltip={t('emailTip')}
rules={[{ type: 'email' }]}
>
<Input></Input>
</Form.Item>
</Form>
);
};

export default PubMedForm;
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ const ApiKeyModal = ({
<Input placeholder="https://api.openai.com/v1" />
</Form.Item>
)}
{llmFactory.toLowerCase() === 'Minimax'.toLowerCase() && (
{llmFactory?.toLowerCase() === 'Minimax'.toLowerCase() && (
<Form.Item<FieldType> label={'Group ID'} name="group_id">
<Input />
</Form.Item>
Expand Down

0 comments on commit bb32ddf

Please sign in to comment.