diff --git a/admin/service/route/app.js b/admin/service/route/app.js index 77cbcfab4..56ec433f1 100644 --- a/admin/service/route/app.js +++ b/admin/service/route/app.js @@ -41,6 +41,7 @@ export const useAppRoute = (app) => { model: model.chat?.chatModel, relatedKbs: kbNames, // 将relatedKbs的id转换为相应的Kb名称 systemPrompt: model.chat?.systemPrompt || '', + temperature: model.chat?.temperature || 0, 'share.topNum': model.share?.topNum || 0, 'share.isShare': model.share?.isShare || false, 'share.intro': model.share?.intro, diff --git a/admin/src/fields.ts b/admin/src/fields.ts index 9c0c0094f..a7bf2d7b4 100644 --- a/admin/src/fields.ts +++ b/admin/src/fields.ts @@ -34,6 +34,7 @@ export const ModelFields = [ createTextField('share.isShare', { label: '是否分享(true,false)' }), createTextField('share.intro', { label: '介绍', list: { width: 400 } }), createTextField('relatedKbs', { label: '引用的知识库', list: { hidden: true } }), + createTextField('temperature', { label: '温度' }), createTextField('systemPrompt', { label: '提示词', list: { diff --git a/client/package.json b/client/package.json index 33ea4e5e1..4d6f07b88 100644 --- a/client/package.json +++ b/client/package.json @@ -15,7 +15,7 @@ "@chakra-ui/icons": "^2.0.17", "@chakra-ui/react": "^2.5.1", "@chakra-ui/system": "^2.5.5", - "@dqbd/tiktoken": "^1.0.6", + "@dqbd/tiktoken": "^1.0.7", "@emotion/react": "^11.10.6", "@emotion/styled": "^11.10.6", "@next/font": "13.1.6", diff --git a/client/pnpm-lock.yaml b/client/pnpm-lock.yaml index dda8a15b3..89dfdddd7 100644 --- a/client/pnpm-lock.yaml +++ b/client/pnpm-lock.yaml @@ -24,8 +24,8 @@ dependencies: specifier: ^2.5.5 version: registry.npmmirror.com/@chakra-ui/system@2.5.8(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(react@18.2.0) '@dqbd/tiktoken': - specifier: ^1.0.6 - version: registry.npmmirror.com/@dqbd/tiktoken@1.0.6 + specifier: ^1.0.7 + version: registry.npmmirror.com/@dqbd/tiktoken@1.0.7 '@emotion/react': specifier: ^11.10.6 version: registry.npmmirror.com/@emotion/react@11.10.6(@types/react@18.0.28)(react@18.2.0) @@ -4261,10 +4261,10 @@ packages: react: registry.npmmirror.com/react@18.2.0 dev: false - registry.npmmirror.com/@dqbd/tiktoken@1.0.6: - resolution: {integrity: sha512-umSdeZTy/SbPPKVuZKV/XKyFPmXSN145CcM3iHjBbmhlohBJg7vaDp4cPCW+xNlWL6L2U1sp7T2BD+di2sUKdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@dqbd/tiktoken/-/tiktoken-1.0.6.tgz} + registry.npmmirror.com/@dqbd/tiktoken@1.0.7: + resolution: {integrity: sha512-bhR5k5W+8GLzysjk8zTMVygQZsgvf7W1F0IlL4ZQ5ugjo5rCyiwGM5d8DYriXspytfu98tv59niang3/T+FoDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@dqbd/tiktoken/-/tiktoken-1.0.7.tgz} name: '@dqbd/tiktoken' - version: 1.0.6 + version: 1.0.7 dev: false registry.npmmirror.com/@emotion/babel-plugin@11.11.0: diff --git a/client/src/components/Markdown/Image.tsx b/client/src/components/Markdown/Image.tsx index f8187a20c..ff1740728 100644 --- a/client/src/components/Markdown/Image.tsx +++ b/client/src/components/Markdown/Image.tsx @@ -3,17 +3,37 @@ import { Image, Skeleton } from '@chakra-ui/react'; const MdImage = ({ src }: { src: string }) => { const [isLoading, setIsLoading] = useState(true); + const [succeed, setSucceed] = useState(false); return ( - + {''} setIsLoading(false)} + fallbackStrategy={'onError'} + cursor={succeed ? 'pointer' : 'default'} + loading="eager" + onLoad={() => { + setIsLoading(false); + setSucceed(true); + }} onError={() => setIsLoading(false)} + onClick={() => { + if (!succeed) return; + window.open(src, '_blank'); + }} /> ); }; -export default MdImage; +export default React.memo(MdImage); diff --git a/client/src/components/Markdown/Loading.tsx b/client/src/components/Markdown/Loading.tsx index 2f2d61d3b..4e454a1d9 100644 --- a/client/src/components/Markdown/Loading.tsx +++ b/client/src/components/Markdown/Loading.tsx @@ -1,17 +1,24 @@ import React, { memo } from 'react'; import { Box } from '@chakra-ui/react'; -const Loading = () => { +const Loading = ({ text }: { text?: string }) => { return ( - + + + {text && ( + + {text} + + )} + ); }; diff --git a/client/src/components/Markdown/index.tsx b/client/src/components/Markdown/index.tsx index 65dba606e..a23ee8ea9 100644 --- a/client/src/components/Markdown/index.tsx +++ b/client/src/components/Markdown/index.tsx @@ -35,13 +35,17 @@ const Markdown = ({ components={{ pre: 'div', img({ src = '' }) { - return ; + return isChatting ? : ; }, code({ node, inline, className, children, ...props }) { const match = /language-(\w+)/.exec(className || ''); if (match?.[1] === 'mermaid') { - return isChatting ? : ; + return isChatting ? ( + + ) : ( + + ); } return (