Commit 6fd83e1e by archer

perf: tooltip

parent ea35ad21
...@@ -17,8 +17,6 @@ const ResponseDetailModal = ({ ...@@ -17,8 +17,6 @@ const ResponseDetailModal = ({
contentId?: string; contentId?: string;
responseData?: ChatHistoryItemResType[]; responseData?: ChatHistoryItemResType[];
}) => { }) => {
console.log(responseData);
const [quoteModalData, setQuoteModalData] = useState<QuoteItemType[]>(); const [quoteModalData, setQuoteModalData] = useState<QuoteItemType[]>();
const { const {
...@@ -62,9 +60,11 @@ const ResponseDetailModal = ({ ...@@ -62,9 +60,11 @@ const ResponseDetailModal = ({
</MyTooltip> </MyTooltip>
)} )}
{completeMessages.length > 0 && ( {completeMessages.length > 0 && (
<MyTooltip label={'提示词和限定词分别算 1 条上下文'} forceShow>
<Tag colorSchema="green" cursor={'default'} {...TagStyles}> <Tag colorSchema="green" cursor={'default'} {...TagStyles}>
{completeMessages.length}条上下文 {completeMessages.length}条上下文
</Tag> </Tag>
</MyTooltip>
)} )}
{tokens > 0 && ( {tokens > 0 && (
<Tag colorSchema="gray" cursor={'default'} {...TagStyles}> <Tag colorSchema="gray" cursor={'default'} {...TagStyles}>
......
...@@ -24,6 +24,5 @@ export const defaultApp: AppSchema = { ...@@ -24,6 +24,5 @@ export const defaultApp: AppSchema = {
}; };
export const defaultShareChat: ShareChatEditType = { export const defaultShareChat: ShareChatEditType = {
name: '', name: ''
maxContext: 5
}; };
...@@ -174,7 +174,7 @@ const Settings = ({ appId }: { appId: string }) => { ...@@ -174,7 +174,7 @@ const Settings = ({ appId }: { appId: string }) => {
<Flex pr={4} justifyContent={'space-between'}> <Flex pr={4} justifyContent={'space-between'}>
<Box fontSize={['md', 'xl']} fontWeight={'bold'}> <Box fontSize={['md', 'xl']} fontWeight={'bold'}>
应用配置 应用配置
<MyTooltip label={'仅包含基础功能,复杂 agent 功能请使用高级编排。'}> <MyTooltip label={'仅包含基础功能,复杂 agent 功能请使用高级编排。'} forceShow>
<QuestionOutlineIcon ml={2} fontSize={'md'} /> <QuestionOutlineIcon ml={2} fontSize={'md'} />
</MyTooltip> </MyTooltip>
</Box> </Box>
...@@ -309,7 +309,7 @@ const Settings = ({ appId }: { appId: string }) => { ...@@ -309,7 +309,7 @@ const Settings = ({ appId }: { appId: string }) => {
<Flex mt={10} alignItems={'flex-start'}> <Flex mt={10} alignItems={'flex-start'}>
<Box {...LabelStyles}> <Box {...LabelStyles}>
提示词 提示词
<MyTooltip label={ChatModelSystemTip}> <MyTooltip label={ChatModelSystemTip} forceShow>
<QuestionOutlineIcon display={['none', 'inline']} ml={1} /> <QuestionOutlineIcon display={['none', 'inline']} ml={1} />
</MyTooltip> </MyTooltip>
</Box> </Box>
...@@ -323,7 +323,7 @@ const Settings = ({ appId }: { appId: string }) => { ...@@ -323,7 +323,7 @@ const Settings = ({ appId }: { appId: string }) => {
<Flex mt={5} alignItems={'flex-start'}> <Flex mt={5} alignItems={'flex-start'}>
<Box {...LabelStyles}> <Box {...LabelStyles}>
限定词 限定词
<MyTooltip label={ChatModelLimitTip}> <MyTooltip label={ChatModelLimitTip} forceShow>
<QuestionOutlineIcon display={['none', 'inline']} ml={1} /> <QuestionOutlineIcon display={['none', 'inline']} ml={1} />
</MyTooltip> </MyTooltip>
</Box> </Box>
...@@ -381,7 +381,7 @@ const Settings = ({ appId }: { appId: string }) => { ...@@ -381,7 +381,7 @@ const Settings = ({ appId }: { appId: string }) => {
<Flex alignItems={'center'}> <Flex alignItems={'center'}>
<Avatar src={'/imgs/module/userGuide.png'} w={'18px'} /> <Avatar src={'/imgs/module/userGuide.png'} w={'18px'} />
<Box mx={2}>对话开场白</Box> <Box mx={2}>对话开场白</Box>
<MyTooltip label={welcomeTextTip}> <MyTooltip label={welcomeTextTip} forceShow>
<QuestionOutlineIcon /> <QuestionOutlineIcon />
</MyTooltip> </MyTooltip>
</Flex> </Flex>
......
...@@ -26,7 +26,7 @@ const NodeUserGuide = ({ ...@@ -26,7 +26,7 @@ const NodeUserGuide = ({
<Flex mb={1} alignItems={'center'}> <Flex mb={1} alignItems={'center'}>
<MyIcon name={'welcomeText'} mr={2} w={'16px'} color={'#E74694'} /> <MyIcon name={'welcomeText'} mr={2} w={'16px'} color={'#E74694'} />
<Box>开场白</Box> <Box>开场白</Box>
<MyTooltip label={welcomeTextTip}> <MyTooltip label={welcomeTextTip} forceShow>
<QuestionOutlineIcon display={['none', 'inline']} ml={1} /> <QuestionOutlineIcon display={['none', 'inline']} ml={1} />
</MyTooltip> </MyTooltip>
</Flex> </Flex>
......
...@@ -20,7 +20,7 @@ const Label = ({ ...@@ -20,7 +20,7 @@ const Label = ({
</Box> </Box>
)} )}
{description && ( {description && (
<MyTooltip label={description}> <MyTooltip label={description} forceShow>
<QuestionOutlineIcon display={['none', 'inline']} fontSize={'12px'} mb={1} ml={1} /> <QuestionOutlineIcon display={['none', 'inline']} fontSize={'12px'} mb={1} ml={1} />
</MyTooltip> </MyTooltip>
)} )}
......
...@@ -36,7 +36,7 @@ const NodeCard = ({ ...@@ -36,7 +36,7 @@ const NodeCard = ({
{name} {name}
</Box> </Box>
{description && ( {description && (
<MyTooltip label={description}> <MyTooltip label={description} forceShow>
<QuestionOutlineIcon display={['none', 'inline']} ml={1} /> <QuestionOutlineIcon display={['none', 'inline']} ml={1} />
</MyTooltip> </MyTooltip>
)} )}
......
...@@ -34,7 +34,7 @@ export const Label = ({ ...@@ -34,7 +34,7 @@ export const Label = ({
</Box> </Box>
)} )}
{description && ( {description && (
<MyTooltip label={description}> <MyTooltip label={description} forceShow>
<QuestionOutlineIcon display={['none', 'inline']} ml={1} /> <QuestionOutlineIcon display={['none', 'inline']} ml={1} />
</MyTooltip> </MyTooltip>
)} )}
......
...@@ -15,7 +15,7 @@ const Label = ({ ...@@ -15,7 +15,7 @@ const Label = ({
}) => ( }) => (
<Flex as={'label'} justifyContent={'right'} alignItems={'center'} position={'relative'}> <Flex as={'label'} justifyContent={'right'} alignItems={'center'} position={'relative'}>
{description && ( {description && (
<MyTooltip label={description}> <MyTooltip label={description} forceShow>
<QuestionOutlineIcon display={['none', 'inline']} mr={1} /> <QuestionOutlineIcon display={['none', 'inline']} mr={1} />
</MyTooltip> </MyTooltip>
)} )}
......
...@@ -146,7 +146,7 @@ export const KbParamsModal = ({ ...@@ -146,7 +146,7 @@ export const KbParamsModal = ({
<Box display={['block', 'flex']} pt={3} pb={5}> <Box display={['block', 'flex']} pt={3} pb={5}>
<Box flex={'0 0 100px'} mb={[8, 0]}> <Box flex={'0 0 100px'} mb={[8, 0]}>
相似度 相似度
<MyTooltip label={'高相似度推荐0.8及以上。'}> <MyTooltip label={'高相似度推荐0.8及以上。'} forceShow>
<QuestionOutlineIcon ml={1} /> <QuestionOutlineIcon ml={1} />
</MyTooltip> </MyTooltip>
</Box> </Box>
......
...@@ -88,7 +88,10 @@ const Share = ({ appId }: { appId: string }) => { ...@@ -88,7 +88,10 @@ const Share = ({ appId }: { appId: string }) => {
<Flex justifyContent={'space-between'}> <Flex justifyContent={'space-between'}>
<Box fontWeight={'bold'}> <Box fontWeight={'bold'}>
免登录聊天窗口 免登录聊天窗口
<MyTooltip label="可以直接分享该模型给其他用户去进行对话,对方无需登录即可直接进行对话。注意,这个功能会消耗你账号的tokens。请保管好链接和密码。"> <MyTooltip
forceShow
label="可以直接分享该模型给其他用户去进行对话,对方无需登录即可直接进行对话。注意,这个功能会消耗你账号的tokens。请保管好链接和密码。"
>
<QuestionOutlineIcon ml={1} /> <QuestionOutlineIcon ml={1} />
</MyTooltip> </MyTooltip>
</Box> </Box>
......
...@@ -260,6 +260,7 @@ const ChunkImport = ({ kbId }: { kbId: string }) => { ...@@ -260,6 +260,7 @@ const ChunkImport = ({ kbId }: { kbId: string }) => {
段落长度 段落长度
<MyTooltip <MyTooltip
label={'基于 Gpt3.5 的 Token 计算方法进行分段。前后段落会有 30% 的内容重叠。'} label={'基于 Gpt3.5 的 Token 计算方法进行分段。前后段落会有 30% 的内容重叠。'}
forceShow
> >
<QuestionOutlineIcon ml={1} /> <QuestionOutlineIcon ml={1} />
</MyTooltip> </MyTooltip>
...@@ -287,7 +288,10 @@ const ChunkImport = ({ kbId }: { kbId: string }) => { ...@@ -287,7 +288,10 @@ const ChunkImport = ({ kbId }: { kbId: string }) => {
<Flex py={5} alignItems={'center'}> <Flex py={5} alignItems={'center'}>
<Box> <Box>
预估价格 预估价格
<MyTooltip label={`索引生成计费为: ${formatPrice(unitPrice, 1000)}/1k tokens`}> <MyTooltip
label={`索引生成计费为: ${formatPrice(unitPrice, 1000)}/1k tokens`}
forceShow
>
<QuestionOutlineIcon ml={1} /> <QuestionOutlineIcon ml={1} />
</MyTooltip> </MyTooltip>
</Box> </Box>
......
...@@ -135,6 +135,7 @@ const CsvImport = ({ kbId }: { kbId: string }) => { ...@@ -135,6 +135,7 @@ const CsvImport = ({ kbId }: { kbId: string }) => {
fileExtension={fileExtension} fileExtension={fileExtension}
onSelectFile={onSelectFile} onSelectFile={onSelectFile}
isLoading={selecting} isLoading={selecting}
tipText={'如果导入文件乱码,请将 CSV 转成 utf-8 编码格式'}
py={emptyFiles ? '100px' : 5} py={emptyFiles ? '100px' : 5}
/> />
......
...@@ -7,11 +7,12 @@ import MyIcon from '@/components/Icon'; ...@@ -7,11 +7,12 @@ import MyIcon from '@/components/Icon';
interface Props extends BoxProps { interface Props extends BoxProps {
fileExtension: string; fileExtension: string;
tipText?: string;
onSelectFile: (files: File[]) => Promise<void>; onSelectFile: (files: File[]) => Promise<void>;
isLoading?: boolean; isLoading?: boolean;
} }
const FileSelect = ({ fileExtension, onSelectFile, isLoading, ...props }: Props) => { const FileSelect = ({ fileExtension, onSelectFile, isLoading, tipText, ...props }: Props) => {
const { Loading: FileSelectLoading } = useLoading(); const { Loading: FileSelectLoading } = useLoading();
const { File, onOpen } = useSelectFile({ const { File, onOpen } = useSelectFile({
...@@ -41,6 +42,11 @@ const FileSelect = ({ fileExtension, onSelectFile, isLoading, ...props }: Props) ...@@ -41,6 +42,11 @@ const FileSelect = ({ fileExtension, onSelectFile, isLoading, ...props }: Props)
</Box> </Box>
</Flex> </Flex>
<Box mt={1}>支持 {fileExtension} 文件</Box> <Box mt={1}>支持 {fileExtension} 文件</Box>
{tipText && (
<Box mt={1} fontSize={'sm'} color={'myGray.600'}>
{tipText}
</Box>
)}
<FileSelectLoading loading={isLoading} fixed={false} /> <FileSelectLoading loading={isLoading} fixed={false} />
<File onSelect={onSelectFile} /> <File onSelect={onSelectFile} />
</Box> </Box>
......
...@@ -263,6 +263,7 @@ const QAImport = ({ kbId }: { kbId: string }) => { ...@@ -263,6 +263,7 @@ const QAImport = ({ kbId }: { kbId: string }) => {
QA 拆分引导词{' '} QA 拆分引导词{' '}
<MyTooltip <MyTooltip
label={`可输入关于文件内容的范围介绍,例如:\n1. 关于 Laf 的介绍\n2. xxx的简历`} label={`可输入关于文件内容的范围介绍,例如:\n1. 关于 Laf 的介绍\n2. xxx的简历`}
forceShow
> >
<QuestionOutlineIcon ml={1} /> <QuestionOutlineIcon ml={1} />
</MyTooltip> </MyTooltip>
...@@ -282,7 +283,10 @@ const QAImport = ({ kbId }: { kbId: string }) => { ...@@ -282,7 +283,10 @@ const QAImport = ({ kbId }: { kbId: string }) => {
<Flex py={5} alignItems={'center'}> <Flex py={5} alignItems={'center'}>
<Box> <Box>
预估价格 预估价格
<MyTooltip label={`索引生成计费为: ${formatPrice(unitPrice, 1000)}/1k tokens`}> <MyTooltip
label={`索引生成计费为: ${formatPrice(unitPrice, 1000)}/1k tokens`}
forceShow
>
<QuestionOutlineIcon ml={1} /> <QuestionOutlineIcon ml={1} />
</MyTooltip> </MyTooltip>
</Box> </Box>
......
...@@ -201,7 +201,7 @@ const Info = ( ...@@ -201,7 +201,7 @@ const Info = (
<Flex mt={8} alignItems={'center'} w={'100%'} flexWrap={'wrap'}> <Flex mt={8} alignItems={'center'} w={'100%'} flexWrap={'wrap'}>
<Box flex={['0 0 90px', '0 0 160px']} w={0}> <Box flex={['0 0 90px', '0 0 160px']} w={0}>
分类标签 分类标签
<MyTooltip label={'用空格隔开多个标签,便于搜索'}> <MyTooltip label={'用空格隔开多个标签,便于搜索'} forceShow>
<QuestionOutlineIcon ml={1} /> <QuestionOutlineIcon ml={1} />
</MyTooltip> </MyTooltip>
</Box> </Box>
......
...@@ -161,6 +161,7 @@ const Test = ({ kbId }: { kbId: string }) => { ...@@ -161,6 +161,7 @@ const Test = ({ kbId }: { kbId: string }) => {
label={ label={
'根据知识库内容与测试文本的相似度进行排序,你可以根据测试结果调整对应的文本。\n注意:测试记录中的数据可能已经被修改过,点击某条测试数据后将展示最新的数据。' '根据知识库内容与测试文本的相似度进行排序,你可以根据测试结果调整对应的文本。\n注意:测试记录中的数据可能已经被修改过,点击某条测试数据后将展示最新的数据。'
} }
forceShow
> >
<QuestionOutlineIcon <QuestionOutlineIcon
ml={2} ml={2}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment