Skip to content

Commit

Permalink
perf: avatar
Browse files Browse the repository at this point in the history
  • Loading branch information
c121914yu committed May 29, 2023
1 parent 2fc31a7 commit d36a7cb
Show file tree
Hide file tree
Showing 15 changed files with 34 additions and 18 deletions.
2 changes: 1 addition & 1 deletion public/docs/chatProblem.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
| 文件拆分 | 0.025 |

**其他问题**
请 WX 联系: fastgpt123
请 WX 联系: YNyiqi
| 交流群 | 小助手 |
| ----------------------- | -------------------- |
| ![](https://otnvvf-imgs.oss.laf.run/wxqun300.jpg) | ![](https://otnvvf-imgs.oss.laf.run/wx300.jpg) |
2 changes: 1 addition & 1 deletion public/docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ FastGpt 项目完全开源,可随意私有化部署,去除平台风险忧虑
### 交流群/问题反馈

如果群满了,可加个小助手,定时拉
wx 号: fastgpt123
wx 号: YNyiqi

| 交流群 | 小助手 |
| ------------------------------------------------- | ---------------------------------------------- |
Expand Down
12 changes: 9 additions & 3 deletions public/docs/versionIntro.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
### Fast GPT V3.8
### Fast GPT V3.8.1

- 新增 - 知识库引用反馈。
- 新增 - 知识库与 AI 助手对多对关系,一个知识库可以被多个 AI 助手关联,一个 AI 助手可以关联多个知识库。
1. 新增 - 自定义历史记录标题。
2. 新增 - 置顶历史记录。
3. 新增 - 自动置顶最近聊天的模型。
4. 优化 - 索引和 QA 队列,支持多节点和并发(目前线上大概 2500 条/分钟)
5. 优化 - 随机任务,不再按线性等待。
6. 优化 - 内容分段导入和进度查看,不再担心大文件无法导入
7. 优化 - 导出的 csv 大小。最大支持 100M 导出。
8. 知识库数量说明,由于线上数据太多,没法创建索引,所以目前如果超过 5w 组数据,大概率会失败。
Binary file modified public/icon/human.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/api/response/chat.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ export interface InitChatResponse {

export interface InitShareChatResponse {
maxContext: number;
userAvatar: string;
model: {
name: string;
avatar: string;
Expand Down
5 changes: 4 additions & 1 deletion src/components/Avatar/index.tsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
import React from 'react';
import { Image } from '@chakra-ui/react';
import type { ImageProps } from '@chakra-ui/react';
import { LOGO_ICON } from '@/constants/chat';

const Avatar = ({ w = '30px', ...props }: ImageProps) => {
console.log(props.src);
return (
<Image
fallbackSrc="/icon/logo.png"
fallbackSrc={LOGO_ICON}
borderRadius={'50%'}
objectFit={'cover'}
alt=""
w={w}
h={w}
p={'1px'}
{...props}
/>
);
Expand Down
3 changes: 2 additions & 1 deletion src/components/Layout/navbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import MyIcon from '../Icon';
import { useUserStore } from '@/store/user';
import { useChatStore } from '@/store/chat';
import Avatar from '../Avatar';
import { HUMAN_ICON } from '@/constants/chat';

export enum NavbarTypeEnum {
normal = 'normal',
Expand Down Expand Up @@ -83,7 +84,7 @@ const Navbar = () => {
cursor={'pointer'}
onClick={() => router.push('/number')}
>
<Avatar w={'36px'} h={'36px'} src={userInfo?.avatar} fallbackSrc={'/icon/human.png'} />
<Avatar w={'36px'} h={'36px'} src={userInfo?.avatar} fallbackSrc={HUMAN_ICON} />
</Box>
{/* 导航列表 */}
<Box flex={1}>
Expand Down
2 changes: 1 addition & 1 deletion src/components/WxConcat/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ const WxConcat = ({ onClose }: { onClose: () => void }) => {
<Box mt={2}>
微信号:
<Box as={'span'} userSelect={'all'}>
fastgpt123
YNyiqi
</Box>
</Box>
</ModalBody>
Expand Down
2 changes: 1 addition & 1 deletion src/constants/chat.ts

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion src/pages/api/chat/shareChat/init.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import type { NextApiRequest, NextApiResponse } from 'next';
import { jsonRes } from '@/service/response';
import { connectToDatabase, ShareChat } from '@/service/mongo';
import { connectToDatabase, ShareChat, User } from '@/service/mongo';
import type { InitShareChatResponse } from '@/api/response/chat';
import { authModel } from '@/service/utils/auth';
import { hashPassword } from '@/service/utils/tools';
import { HUMAN_ICON } from '@/constants/chat';

/* 初始化我的聊天框,需要身份验证 */
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
Expand Down Expand Up @@ -40,9 +41,12 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
authOwner: false
});

const user = await User.findById(shareChat.userId, 'avatar');

jsonRes<InitShareChatResponse>(res, {
data: {
maxContext: shareChat.maxContext,
userAvatar: user?.avatar || HUMAN_ICON,
model: {
name: model.name,
avatar: model.avatar,
Expand Down
1 change: 0 additions & 1 deletion src/pages/chat/components/Empty.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import React from 'react';
import { Card, Box, Flex } from '@chakra-ui/react';
import { useMarkdown } from '@/hooks/useMarkdown';
import Markdown from '@/components/Markdown';
import { LOGO_ICON } from '@/constants/chat';
import Avatar from '@/components/Avatar';

const Empty = ({
Expand Down
6 changes: 3 additions & 3 deletions src/pages/chat/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ import { streamFetch } from '@/api/fetch';
import MyIcon from '@/components/Icon';
import { throttle } from 'lodash';
import { Types } from 'mongoose';
import { LOGO_ICON } from '@/constants/chat';
import { ChatModelMap } from '@/constants/model';
import { useChatStore } from '@/store/chat';
import { useLoading } from '@/hooks/useLoading';
Expand All @@ -49,6 +48,7 @@ import SideBar from '@/components/SideBar';
import Avatar from '@/components/Avatar';
import Empty from './components/Empty';
import QuoteModal from './components/QuoteModal';
import { HUMAN_ICON } from '@/constants/chat';

const PhoneSliderBar = dynamic(() => import('./components/PhoneSliderBar'), {
ssr: false
Expand Down Expand Up @@ -713,8 +713,8 @@ const Chat = ({ modelId, chatId }: { modelId: string; chatId: string }) => {
className="avatar"
src={
item.obj === 'Human'
? userInfo?.avatar || '/icon/human.png'
: chatData.model.avatar || LOGO_ICON
? userInfo?.avatar || HUMAN_ICON
: chatData.model.avatar
}
w={['20px', '34px']}
h={['20px', '34px']}
Expand Down
7 changes: 3 additions & 4 deletions src/pages/chat/share.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ import { streamFetch } from '@/api/fetch';
import MyIcon from '@/components/Icon';
import { throttle } from 'lodash';
import { Types } from 'mongoose';
import { LOGO_ICON } from '@/constants/chat';
import { useChatStore } from '@/store/chat';
import { useLoading } from '@/hooks/useLoading';
import { fileDownload } from '@/utils/file';
Expand All @@ -49,6 +48,7 @@ import Markdown from '@/components/Markdown';
import SideBar from '@/components/SideBar';
import Avatar from '@/components/Avatar';
import Empty from './components/Empty';
import { HUMAN_ICON } from '@/constants/chat';

const ShareHistory = dynamic(() => import('./components/ShareHistory'), {
loading: () => <Loading fixed={false} />,
Expand Down Expand Up @@ -101,7 +101,6 @@ const Chat = ({ shareId, historyId }: { shareId: string; historyId: string }) =>
const { copyData } = useCopyData();
const { isPc } = useGlobalStore();
const { Loading, setIsLoading } = useLoading();
const { userInfo } = useUserStore();
const { isOpen: isOpenSlider, onClose: onCloseSlider, onOpen: onOpenSlider } = useDisclosure();
const {
isOpen: isOpenPassword,
Expand Down Expand Up @@ -628,8 +627,8 @@ const Chat = ({ shareId, historyId }: { shareId: string; historyId: string }) =>
<Avatar
src={
item.obj === 'Human'
? userInfo?.avatar || '/icon/human.png'
: shareChatData.model.avatar || LOGO_ICON
? shareChatData.userAvatar || HUMAN_ICON
: shareChatData.model.avatar
}
w={['20px', '34px']}
h={['20px', '34px']}
Expand Down
1 change: 1 addition & 0 deletions src/service/models/user.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Schema, model, models, Model } from 'mongoose';
import { hashPassword } from '@/service/utils/tools';
import { PRICE_SCALE } from '@/constants/common';
import { UserModelSchema } from '@/types/mongoSchema';

const UserSchema = new Schema({
username: {
// 可以是手机/邮箱,新的验证都只用手机
Expand Down
2 changes: 2 additions & 0 deletions src/store/chat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {
ShareChatType
} from '@/types/chat';
import { getChatHistory } from '@/api/chat';
import { HUMAN_ICON } from '@/constants/chat';

type SetShareChatHistoryItem = {
historyId: string;
Expand Down Expand Up @@ -57,6 +58,7 @@ const defaultChatData = {
};
const defaultShareChatData: ShareChatType = {
maxContext: 5,
userAvatar: HUMAN_ICON,
model: {
name: '',
avatar: '/icon/logo.png',
Expand Down

0 comments on commit d36a7cb

Please sign in to comment.