This commit is contained in:
archer
2023-04-08 00:47:31 +08:00
parent eceda01c19
commit d04c298132
2 changed files with 72 additions and 20 deletions

View File

@@ -6,4 +6,3 @@ MAILE_CODE=
TOKEN_KEY= TOKEN_KEY=
OPENAIKEY= OPENAIKEY=
REDIS_URL= REDIS_URL=
OPENAPI_KEY=

View File

@@ -8,16 +8,17 @@ Fast GPT 允许你使用自己的 openai API KEY 来快速的调用 openai 接
``` ```
AXIOS_PROXY_HOST=axios代理地址目前 openai 接口都需要走代理,本机的话就填 127.0.0.1 AXIOS_PROXY_HOST=axios代理地址目前 openai 接口都需要走代理,本机的话就填 127.0.0.1
AXIOS_PROXY_PORT=代理端口 AXIOS_PROXY_PORT=代理端口
MONGODB_URI=mongo数据库地址例如mongodb://username:password@ip:27017/?authSource=admin&readPreference=primary&appname=MongoDB%20Compass&directConnection=true&ssl=false MONGODB_URI=mongo数据库地址
MY_MAIL=发送验证码邮箱 MY_MAIL=发送验证码邮箱
MAILE_CODE=邮箱秘钥代理里设置的是QQ邮箱不知道怎么找这个 code 的,可以百度搜"nodemailer发送邮件" MAILE_CODE=邮箱秘钥代理里设置的是QQ邮箱不知道怎么找这个 code 的,可以百度搜"nodemailer发送邮件"
TOKEN_KEY=随便填一个,用于生成和校验 token TOKEN_KEY=随便填一个,用于生成和校验 token
OPENAIKEY=openai的key
REDIS_URL=redis的地址
``` ```
```bash ```bash
pnpm dev pnpm dev
``` ```
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
## 部署 ## 部署
@@ -28,22 +29,50 @@ Open [http://localhost:3000](http://localhost:3000) with your browser to see the
```bash ```bash
docker build -t imageName:tag . docker build -t imageName:tag .
docker push imageName:tag docker push imageName:tag
# 或者直接拉镜像,见下方
``` ```
#### 服务器拉取镜像和运行 #### 服务器拉取镜像和运行
```yml
# docker-compose
version: "3.3"
services:
fast-gpt:
image: c121914yu/fast-gpt:latest
environment:
AXIOS_PROXY_HOST: 127.0.0.1
AXIOS_PROXY_PORT: 7890
MY_MAIL:
MAILE_CODE:
TOKEN_KEY:
MONGODB_URI:
OPENAIKEY:
REDIS_URL:
network_mode: host
restart: always
container_name: fast-gpt
```
```bash ```bash
# 服务器拉取部署, imageName 替换成镜像名 #!/bin/bash
docker pull imageName:tag # 拉取最新镜像
docker stop fast-gpt || true docker-compose pull
docker rm fast-gpt || true docker-compose up -d
docker run -d --network=host --name fast-gpt \
-e AXIOS_PROXY_HOST=127.0.0.1 \ echo "Docker Compose 重新拉取镜像完成!"
-e AXIOS_PROXY_PORT=7890 \
-e MY_MAIL=your email\ # 删除本地旧镜像
-e MAILE_CODE=your email code \ images=$(docker images --format "{{.ID}} {{.Repository}}" | grep fast-gpt)
-e TOKEN_KEY=任意一个内容 \
-e MONGODB_URI="mongodb://user:password@127.0.0.0:27017/?authSource=admin&readPreference=primary&appname=MongoDB%20Compass&ssl=false" \ # 将镜像 ID 和名称放入数组中
imageName:tag IFS=$'\n' read -rd '' -a image_array <<<"$images"
# 遍历数组并删除所有旧的镜像
for ((i=1; i<${#image_array[@]}; i++))
do
image=${image_array[$i]}
image_id=${image%% *}
docker rmi $image_id
done
``` ```
#### 软件教程docker 安装 #### 软件教程docker 安装
@@ -104,9 +133,33 @@ echo "Restart clash"
#### redis #### redis
安装
```bash ```bash
# 索引 #!/bin/bash
# FT.CREATE idx:model:data ON JSON PREFIX 1 model:data: SCHEMA $.modelId AS modelId TAG $.dataId AS dataId TAG $.vector AS vector VECTOR FLAT 6 DIM 1536 DISTANCE_METRIC COSINE TYPE FLOAT32 docker pull redis/redis-stack:6.2.6-v6
# FT.CREATE idx:model:data:hash ON HASH PREFIX 1 model:data: SCHEMA modelId TAG dataId TAG vector VECTOR FLAT 6 DIM 1536 DISTANCE_METRIC COSINE TYPE FLOAT32 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 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
``` ```