diff --git a/README.md b/README.md
index 1a3a9c372..370ab5591 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,6 @@ docker push imageName:tag
# 或者直接拉镜像,见下方
```
-
#### 软件教程:docker 安装
```bash
# 安装docker
@@ -39,20 +38,6 @@ curl -sSL https://get.daocloud.io/docker | sh
sudo systemctl start docker
```
-#### 软件教程:mongo 安装
-```bash
-docker pull mongo:6.0.4
-docker stop mongo
-docker rm mongo
-docker run -d --name mongo \
- -e MONGO_INITDB_ROOT_USERNAME= \
- -e MONGO_INITDB_ROOT_PASSWORD= \
- -v /root/service/mongo:/data/db \
- mongo:6.0.4
-
-# 检查 mongo 运行情况, 有成功的 logs 代表访问成功
-docker logs mongo
-```
#### 软件教程: clash 代理
```bash
# 下载包
@@ -70,8 +55,7 @@ export https_proxy=http://127.0.0.1:7890
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
-# 运行脚本: 删除clash - 到 clash 目录 - 删除缓存 - 执行运行
-# 会生成一个 nohup.out 文件,可以看到 clash 的 logs
+# 运行脚本: 删除clash - 到 clash 目录 - 删除缓存 - 执行运行. 会生成一个 nohup.out 文件,可以看到 clash 的 logs
OLD_PROCESS=$(pgrep clash)
if [ ! -z "$OLD_PROCESS" ]; then
echo "Killing old process: $OLD_PROCESS"
@@ -85,44 +69,9 @@ nohup ./clash-linux-amd64-v1.10.0 -d ./ &
echo "Restart clash"
```
-#### 软件教程:Nginx
-...没写,这个百度吧。
-
-#### redis-stack
-
-安装
-```bash
-#!/bin/bash
-docker pull redis/redis-stack:6.2.6-v6
-docker stop fast-gpt-redis-stack
-docker rm fast-gpt-redis-stack
-
-docker run -d --name fast-gpt-redis-stack \
- -v /redis/data:/data \
- -v /etc/localtime:/etc/localtime:ro \
- -v /redis.conf:/redis-stack.conf \
- -e REDIS_ARGS="--requirepass 1111111"\
- -p 8102:6379 \
- -p 8103:8001 \
- --restart unless-stopped \
- redis/redis-stack:6.2.6-v6
-```
-```bash
-# /redis.conf
-# 开启aop持久化
-appendonly yes
-#default: 持久化文件
-appendfilename "appendonly.aof"
-#default: 每秒同步一次
-appendfsync everysec
-```
-```bash
-# 添加索引
-FT.CREATE idx:model:data:hash ON HASH PREFIX 1 model:data: SCHEMA modelId TAG userId TAG status TAG q TEXT text TEXT vector VECTOR FLAT 6 DIM 1536 DISTANCE_METRIC COSINE TYPE FLOAT32
-```
-#### 服务器拉取镜像和运行
+#### 文件创建
+**yml文件**
```yml
-# docker-compose
version: "3.3"
services:
fast-gpt:
@@ -130,20 +79,108 @@ services:
environment:
AXIOS_PROXY_HOST: 127.0.0.1
AXIOS_PROXY_PORT: 7890
- MY_MAIL:
- MAILE_CODE:
- TOKEN_KEY:
- MONGODB_URI:
- OPENAIKEY:
- REDIS_URL:
+ MY_MAIL: 11111111@qq.com
+ MAILE_CODE: sdasadasfasfad
+ TOKEN_KEY: sssssssss
+ MONGODB_URI: mongodb://username:password@0.0.0.0:27017/?authSource=admin&readPreference=primary&appname=MongoDB%20Compass&ssl=false
+ OPENAIKEY: sk-afadfadfadfsd
+ REDIS_URL: redis://default:password@0.0.0.0:8100
network_mode: host
restart: always
container_name: fast-gpt
+ mongodb:
+ image: mongo:6.0.4
+ container_name: mongo
+ restart: always
+ environment:
+ - MONGO_INITDB_ROOT_USERNAME=root
+ - MONGO_INITDB_ROOT_PASSWORD=ROOT_1234
+ - MONGO_DATA_DIR=/data/db
+ - MONGO_LOG_DIR=/data/logs
+ volumes:
+ - /root/fastgpt/mongo/data:/data/db
+ - /root/fastgpt/mongo/logs:/data/logs
+ ports:
+ - 27017:27017
+ nginx:
+ image: nginx:alpine3.17
+ container_name: nginx
+ restart: always
+ network_mode: host
+ ports:
+ - "80:80"
+ volumes:
+ - /root/fastgpt/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
+ redis-stack:
+ image: redis/redis-stack:6.2.6-v6
+ container_name: redis-stack
+ restart: unless-stopped
+ ports:
+ - "8100:6379"
+ - "8101:8001"
+ environment:
+ - REDIS_ARGS=--requirepass psw1234
+ volumes:
+ - /etc/localtime:/etc/localtime:ro
+ - /root/fastgpt/redis/redis.conf:/redis.conf
+ - /root/fastgpt/redis/data:/data
```
+**redis.conf**
+```
+## 开启aop持久化
+appendonly yes
+#default: 持久化文件
+appendfilename "appendonly.aof"
+#default: 每秒同步一次
+appendfsync everysec
+```
+**nginx.conf**
+```
+user nginx;
+worker_processes auto;
+error_log /var/log/nginx/error.log;
+pid /run/nginx.pid;
+
+events {
+ worker_connections 1024;
+}
+
+http {
+ include /etc/nginx/mime.types;
+ default_type application/octet-stream;
+ include /etc/nginx/conf.d/*.conf;
+
+ server {
+ listen 80;
+ server_name test.com;
+
+ gzip on;
+ gzip_min_length 1k;
+ gzip_buffers 4 8k;
+ gzip_http_version 1.1;
+ gzip_comp_level 6;
+ gzip_vary on;
+ gzip_types text/plain application/x-javascript text/css application/javascript application/json application/xml;
+ gzip_disable "MSIE [1-6]\.";
+
+ location / {
+ proxy_pass http://localhost:3000;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ }
+ }
+}
+```
+
+#### 运行脚本
+**redis创建索引**
+```bash
+FT.CREATE idx:model:data:hash ON HASH PREFIX 1 model:data: SCHEMA modelId TAG userId TAG status TAG q TEXT text TEXT vector VECTOR FLAT 6 DIM 1536 DISTANCE_METRIC COSINE TYPE FLOAT32
+```
+**run.sh 运行文件**
```bash
#!/bin/bash
-# 拉取最新镜像
-docker-compose pull
docker-compose up -d
echo "Docker Compose 重新拉取镜像完成!"
diff --git a/public/docs/chatProblem.md b/public/docs/chatProblem.md
new file mode 100644
index 000000000..90b4641bb
--- /dev/null
+++ b/public/docs/chatProblem.md
@@ -0,0 +1,9 @@
+## 常见问题
+**内容长度**
+单次最长 4000 tokens, 上下文最长 8000 tokens, 上下文超长时会被截断。
+
+**删除和复制**
+点击对话头像,可以选择复制或删除该条内容。
+
+**代理出错**
+服务器代理不稳定,可以过一会儿再尝试。
\ No newline at end of file
diff --git a/public/docs/intro.md b/public/docs/intro.md
new file mode 100644
index 000000000..73a9a509b
--- /dev/null
+++ b/public/docs/intro.md
@@ -0,0 +1,40 @@
+## 欢迎使用 Fast GPT
+
+[Git 仓库](https://github.com/c121914yu/FastGPT)
+
+### 交流群/问题反馈
+扫码满了,加个小号,定时拉
+wx号: fastgpt123
+
+
+
+### 快速开始
+1. 使用邮箱注册账号。
+2. 进入账号页面,添加关联账号,目前只有 openai 的账号可以添加,直接去 openai 官网,把 API Key 粘贴过来。
+3. 如果填写了自己的 openai 账号,使用时会直接用你的账号。如果没有填写,需要付费使用平台的账号。
+4. 进入模型页,创建一个模型,建议直接用 ChatGPT。
+5. 在模型列表点击【对话】,即可使用 API 进行聊天。
+
+### 定制 prompt
+
+1. 进入模型编辑页
+2. 调整温度和提示词
+3. 使用该模型对话。每次对话时,提示词和温度都会自动注入,方便管理个人的模型。建议把自己日常经常需要使用的 5~10 个方向预设好。
+
+### 知识库
+
+1. 创建模型时选择【知识库】
+2. 进入模型编辑页
+3. 导入数据,可以选择手动导入,或者选择文件导入。文件导入会自动调用 chatGPT 理解文件内容,并生成知识库。
+4. 使用该模型对话。
+
+注意:使用知识库模型对话时,tokens 消耗会加快。
+
+### 价格表
+如果使用了自己的 Api Key,不会计费。可以在账号页,看到详细账单。单纯使用 chatGPT 模型进行对话,只有一个计费项目。使用知识库时,包含**对话**和**索引**生成两个计费项。
+| 计费项 | 价格: 元/ 1K tokens(包含上下文)|
+| --- | --- |
+| chatgpt - 对话 | 0.03 |
+| 知识库 - 对话 | 0.03 |
+| 知识库 - 索引 | 0.004 |
+| 文件拆分 | 0.03 |
diff --git a/public/docs/shareHint.md b/public/docs/shareHint.md
new file mode 100644
index 000000000..451815505
--- /dev/null
+++ b/public/docs/shareHint.md
@@ -0,0 +1,3 @@
+你正准备分享对话,请确保分享链接不会滥用,因为它是使用的是你的 API key。
+* 分享空白对话:为该模型创建一个空白的聊天分享出去。
+* 分享当前对话:会把当前聊天的内容也分享出去,但是要注意不要多个人同时用一个聊天内容。
diff --git a/public/docs/versionIntro.md b/public/docs/versionIntro.md
new file mode 100644
index 000000000..2748fba08
--- /dev/null
+++ b/public/docs/versionIntro.md
@@ -0,0 +1,3 @@
+## Fast GPT V2.5
+* 内容压缩,替换中文标点符号和多余符号,减少一些上下文tokens。
+* 优化 QA 拆分记账。
\ No newline at end of file
diff --git a/public/imgs/wx300.jpg b/public/imgs/wx300.jpg
new file mode 100644
index 000000000..b862d23ce
Binary files /dev/null and b/public/imgs/wx300.jpg differ
diff --git a/public/imgs/wxcode300.jpg b/public/imgs/wxcode300.jpg
deleted file mode 100644
index bc04e9f3c..000000000
Binary files a/public/imgs/wxcode300.jpg and /dev/null differ
diff --git a/src/api/common.ts b/src/api/common.ts
new file mode 100644
index 000000000..4157b1029
--- /dev/null
+++ b/src/api/common.ts
@@ -0,0 +1 @@
+import { GET, POST, DELETE } from './request';
diff --git a/src/components/WxConcat/index.tsx b/src/components/WxConcat/index.tsx
index 0082f37ee..29086bbb6 100644
--- a/src/components/WxConcat/index.tsx
+++ b/src/components/WxConcat/index.tsx
@@ -23,7 +23,7 @@ const WxConcat = ({ onClose }: { onClose: () => void }) => {
void }) => {
微信号:
- YNyiqi
+ fastgpt123
diff --git a/src/constants/common.ts b/src/constants/common.ts
index b67c93362..42f111be8 100644
--- a/src/constants/common.ts
+++ b/src/constants/common.ts
@@ -4,69 +4,3 @@ export enum EmailTypeEnum {
}
export const PRICE_SCALE = 100000;
-
-export const introPage = `
-## 欢迎使用 Fast GPT
-
-[Git 仓库](https://github.com/c121914yu/FastGPT)
-
-### 交流群/问题反馈
-wx号: YNyiqi
-
-
-
-### 快速开始
-1. 使用邮箱注册账号。
-2. 进入账号页面,添加关联账号,目前只有 openai 的账号可以添加,直接去 openai 官网,把 API Key 粘贴过来。
-3. 如果填写了自己的 openai 账号,使用时会直接用你的账号。如果没有填写,需要付费使用平台的账号。
-4. 进入模型页,创建一个模型,建议直接用 ChatGPT。
-5. 在模型列表点击【对话】,即可使用 API 进行聊天。
-
-### 定制 prompt
-
-1. 进入模型编辑页
-2. 调整温度和提示词
-3. 使用该模型对话。每次对话时,提示词和温度都会自动注入,方便管理个人的模型。建议把自己日常经常需要使用的 5~10 个方向预设好。
-
-### 知识库
-
-1. 创建模型时选择【知识库】
-2. 进入模型编辑页
-3. 导入数据,可以选择手动导入,或者选择文件导入。文件导入会自动调用 chatGPT 理解文件内容,并生成知识库。
-4. 使用该模型对话。
-
-注意:使用知识库模型对话时,tokens 消耗会加快。
-
-### 价格表
-如果使用了自己的 Api Key,不会计费。可以在账号页,看到详细账单。单纯使用 chatGPT 模型进行对话,只有一个计费项目。使用知识库时,包含**对话**和**索引**生成两个计费项。
-| 计费项 | 价格: 元/ 1K tokens(包含上下文)|
-| --- | --- |
-| chatgpt - 对话 | 0.03 |
-| 知识库 - 对话 | 0.03 |
-| 知识库 - 索引 | 0.004 |
-| 文件拆分 | 0.03 |
-`;
-
-export const chatProblem = `
-## 常见问题
-**内容长度**
-单次最长 4000 tokens, 上下文最长 8000 tokens, 上下文超长时会被截断。
-
-**删除和复制**
-点击对话头像,可以选择复制或删除该条内容。
-
-**代理出错**
-服务器代理不稳定,可以过一会儿再尝试。
-`;
-
-export const versionIntro = `
-## Fast GPT V2.5
-* 内容压缩,替换中文标点符号和多余符号,减少一些上下文tokens。
-* 优化 QA 拆分记账。
-`;
-
-export const shareHint = `
-你正准备分享对话,请确保分享链接不会滥用,因为它是使用的是你的 API key。
-* 分享空白对话:为该模型创建一个空白的聊天分享出去。
-* 分享当前对话:会把当前聊天的内容也分享出去,但是要注意不要多个人同时用一个聊天内容。
-`;
diff --git a/src/hooks/useMarkdown.ts b/src/hooks/useMarkdown.ts
new file mode 100644
index 000000000..cdda99b5f
--- /dev/null
+++ b/src/hooks/useMarkdown.ts
@@ -0,0 +1,15 @@
+import { useQuery } from '@tanstack/react-query';
+
+export const getMd = async (url: string) => {
+ const response = await fetch(`/docs/${url}`);
+ const textContent = await response.text();
+ return textContent;
+};
+
+export const useMarkdown = ({ url }: { url: string }) => {
+ const { data = '' } = useQuery([url], () => getMd(url));
+
+ return {
+ data
+ };
+};
diff --git a/src/pages/chat/components/Empty.tsx b/src/pages/chat/components/Empty.tsx
index 83f9ee74d..d03d34300 100644
--- a/src/pages/chat/components/Empty.tsx
+++ b/src/pages/chat/components/Empty.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { Card, Box, Mark } from '@chakra-ui/react';
-import { versionIntro, chatProblem } from '@/constants/common';
+import { Card, Box } from '@chakra-ui/react';
+import { useMarkdown } from '@/hooks/useMarkdown';
import Markdown from '@/components/Markdown';
const Empty = ({ intro }: { intro: string }) => {
@@ -9,6 +9,9 @@ const Empty = ({ intro }: { intro: string }) => {
{children}
);
+ const { data: chatProblem } = useMarkdown({ url: '/chatProblem.md' });
+ const { data: versionIntro } = useMarkdown({ url: '/versionIntro.md' });
+
return (
{
+ const { data } = useMarkdown({ url: '/intro.md' });
+
return (
-
+
);
};
diff --git a/src/pages/model/list/components/ModelPhoneList.tsx b/src/pages/model/list/components/ModelPhoneList.tsx
index 809dd91c9..7a2d0be58 100644
--- a/src/pages/model/list/components/ModelPhoneList.tsx
+++ b/src/pages/model/list/components/ModelPhoneList.tsx
@@ -49,10 +49,6 @@ const ModelPhoneList = ({
AI模型:
{model.service.modelName}
-
- 训练次数:
- {model.trainingTimes}次
-