4.7-production (#1053)

* 4.7-alpha3 (#62)

* doc

* Optimize possible null Pointers and parts of Ux

* fix: mulity index training error

* feat: doc and rename question guide

* fix ios speech input (#59)

* fix: prompt editor variables nowrap (#61)

* change openapi import in http module with curl import (#60)

* chore(ui): dataset import modal ui (#58)

* chore(ui): dataset import modal ui

* use component

* fix height

* 4.7 (#63)

* fix: claude3 image type verification failed (#1038) (#1040)

* perf: curl import modal

* doc img

* perf: adapt cohere rerank

* perf: code

* perf: input style

* doc

---------

Co-authored-by: xiaotian <dimsky@163.com>

* fix: ts

* docker deploy

* perf: prompt call

* doc

* ts

* finish ui

* perf: outlink detail ux

* perf: user schema

* fix: plugin update

* feat: get current time plugin

* fix: ts

* perf: fetch anamation

* perf: mark ux

* doc

* perf: select app ux

* fix: split text custom string conflict

* peref: inform readed

* doc

* memo flow component

* perf: version

* faq

* feat: flow max runtimes

* feat: similarity tip

* feat: auto detect file encoding

* Supports asymmetric vector model

* fix: ts

* perf: max w

* move code

* perf: hide whisper

* fix: ts

* feat: system msg modal

* perf: catch error

* perf: inform tip

* fix: inform

---------

Co-authored-by: heheer <71265218+newfish-cmyk@users.noreply.github.com>
Co-authored-by: xiaotian <dimsky@163.com>
This commit is contained in:
Archer
2024-03-26 12:09:31 +08:00
committed by GitHub
parent ef15ca894e
commit 911512b36d
180 changed files with 2179 additions and 1361 deletions

View File

@@ -33,8 +33,8 @@ llm模型全部合并
"maxResponse": 4000, // 最大回复
"quoteMaxToken": 13000, // 最大引用内容
"maxTemperature": 1.2, // 最大温度
"charsPointsPrice": 0,
"censor": false,
"charsPointsPrice": 0, // n积分/1k token商业版
"censor": false, // 是否开启敏感校验(商业版)
"vision": false, // 是否支持图片输入
"datasetProcess": true, // 是否设置为知识库处理模型QA务必保证至少有一个为true否则知识库会报错
"usedInClassify": true, // 是否用于问题分类务必保证至少有一个为true
@@ -46,7 +46,7 @@ llm模型全部合并
"customCQPrompt": "", // 自定义文本分类提示词(不支持工具和函数调用的模型
"customExtractPrompt": "", // 自定义内容提取提示词
"defaultSystemChatPrompt": "", // 对话默认携带的系统提示词
"defaultConfig":{} // LLM默认配置可以针对不同模型设置特殊值(比如 GLM4 的 top_p
"defaultConfig":{} // 请求API时挟带一些默认配置(比如 GLM4 的 top_p
},
{
"model": "gpt-4-0125-preview",
@@ -133,7 +133,7 @@ llm模型全部合并
## 关于模型 logo
统一放置在项目的`public/imgs/model/xxx`目录中目前内置了以下几种如果有需要可以PR增加。
统一放置在项目的`public/imgs/model/xxx`目录中目前内置了以下几种如果有需要可以PR增加。默认头像为 Hugging face 的 logo~
- /imgs/model/baichuan.svg - 百川
- /imgs/model/chatglm.svg - 智谱
@@ -147,7 +147,7 @@ llm模型全部合并
## 特殊模型
### ReRank 接入
### ReRank 接入(私有部署)
请使用 4.6.6-alpha 以上版本,配置文件中的 `reRankModels` 为重排模型虽然是数组不过目前仅有第1个生效。
@@ -168,3 +168,23 @@ llm模型全部合并
]
}
```
### ReRank 接入Cohere
这个重排模型对中文不是很好,不如 bge 的好用。
1. 申请 Cohere 官方 Key: https://dashboard.cohere.com/api-keys
2. 修改 FastGPT 配置文件
```json
{
"reRankModels": [
{
"model": "rerank-multilingual-v2.0", // 这里的model需要对应 cohere 的模型名
"name": "检索重排", // 随意
"requestUrl": "https://api.cohere.ai/v1/rerank",
"requestAuth": "Coherer上申请的key"
}
]
}
```

View File

@@ -44,7 +44,7 @@ weight: 910
### docker 部署
+ 镜像名: `luanshaotong/reranker:v0.1`
+ 镜像名: `luanshaotong/reranker:v0.2`
+ 端口号: 6006
+ 大小约8GB
@@ -56,12 +56,12 @@ ACCESS_TOKEN=mytoken
**运行命令示例**
- 无需GPU环境使用CPU运行
```sh
docker run -d --name reranker -p 6006:6006 -e ACCESS_TOKEN=mytoken luanshaotong/reranker:v0.1
docker run -d --name reranker -p 6006:6006 -e ACCESS_TOKEN=mytoken luanshaotong/reranker:v0.2
```
- 需要CUDA 11.7环境
```sh
docker run -d --gpus all --name reranker -p 6006:6006 -e ACCESS_TOKEN=mytoken luanshaotong/reranker:v0.1
docker run -d --gpus all --name reranker -p 6006:6006 -e ACCESS_TOKEN=mytoken luanshaotong/reranker:v0.2
```
**docker-compose.yml示例**
@@ -69,7 +69,7 @@ docker run -d --gpus all --name reranker -p 6006:6006 -e ACCESS_TOKEN=mytoken lu
version: "3"
services:
reranker:
image: luanshaotong/reranker:v0.1
image: luanshaotong/reranker:v0.2
container_name: reranker
# GPU运行环境如果宿主机未安装将deploy配置隐藏即可
deploy:

View File

@@ -85,7 +85,7 @@ brew install orbstack
非 Linux 环境或无法访问外网环境可手动创建一个目录并下载下面2个链接的文件: [docker-compose.yml](https://github.com/labring/FastGPT/blob/main/files/deploy/fastgpt/docker-compose.yml),[config.json](https://github.com/labring/FastGPT/blob/main/projects/app/data/config.json)
**注意: `docker-compose.yml` 配置文件中 Mongo 为 5.x部分服务器不支持需手动更改其镜像版本为 4.4.24**
**注意: `docker-compose.yml` 配置文件中 Mongo 为 5.x部分服务器不支持需手动更改其镜像版本为 4.4.24**需要自己在docker hub下载阿里云镜像没做备份
```bash
mkdir fastgpt
@@ -94,53 +94,22 @@ curl -O https://raw.githubusercontent.com/labring/FastGPT/main/files/deploy/fast
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json
```
## 三、修改 docker-compose.yml 的环境变量
修改`docker-compose.yml`中的`OPENAI_BASE_URL`API 接口的地址,需要加/v1`CHAT_API_KEY`API 接口的凭证)。
使用 OneAPI 的话OPENAI_BASE_URL=OneAPI访问地址/v1CHAT_API_KEY=令牌
## 四、启动容器
## 三、启动容器
在 docker-compose.yml 同级目录下执行
```bash
# 进入项目目录
cd 项目目录
# 启动容器
docker-compose pull
docker-compose up -d
# 重启一次oneapi(由于OneAPI的默认Key有点问题不重启的话会提示找不到渠道临时手动重启一次解决等待作者修复)
docker restart oneapi
```
## 五、初始化 Mongo 副本集(4.6.8以前可忽略)
## 四、打开 OneAPI 添加模型
FastGPT 4.6.8 后使用了 MongoDB 的事务,需要运行在副本集上。副本集没法自动化初始化,需手动操作
可以通过`ip:3001`访问OneAPI默认账号为`root`密码为`123456`
```bash
# 查看 mongo 容器是否正常运行
docker ps
# 进入容器
docker exec -it mongo bash
# 连接数据库这里要填Mongo的用户名和密码
mongo -u myusername -p mypassword --authenticationDatabase admin
# 初始化副本集。如果需要外网访问mongo:27017 可以改成 ip:27017。但是需要同时修改 FastGPT 连接的参数MONGODB_URI=mongodb://myname:mypassword@mongo:27017/fastgpt?authSource=admin => MONGODB_URI=mongodb://myname:mypassword@ip:27017/fastgpt?authSource=admin
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "mongo:27017" }
]
})
# 检查状态。如果提示 rs0 状态,则代表运行成功
rs.status()
```
**关于 host: "mongo:27017" 说明**
1. mongo:27017 代表指向同一个 docker 网络的 mongo 容器的 27017 服务。因此,如果使用该参数,外网是无法访问到数据库的。
2. ip:27017 ip替换成公网IP代表通过你的公网IP进行访问。如果用该方法同时需要修改 docker-compose 中 mongo 的连接参数,因为默认是用 `mongo:27017` 进行连接。
在OneApi中添加合适的AI模型渠道。
## 五、访问 FastGPT
@@ -148,22 +117,24 @@ rs.status()
如果需要域名访问,请自行安装并配置 Nginx。
首次运行,会自动初始化 root 用户,密码为 `1234`(与环境变量中的`DEFAULT_ROOT_PSW`一致),日志里会提示一次`MongoServerError: Unable to read from a snapshot due to pending collection catalog changes;`可忽略。
## FAQ
### Mongo 启动失败
### Mongo 副本集自动初始化失败
docker-compose 示例优化 Mongo 副本集参数,不需要手动创建再挂载。如果无法启动,可以尝试更换下面的脚本
最新的 docker-compose 示例优化 Mongo 副本集初始化,实现了全自动。目前在 unbuntu20,22 centos7, wsl2, mac, window 均通过测试。如果你的环境特殊,可以手动初始化副本集
1. 终端中执行:
1. 终端中执行下面命令创建mongo密钥
```bash
openssl rand -base64 756 > ./mongodb.key
chmod 600 ./mongodb.key
# 修改密钥权限部分系统是admin部分是root
chown 999:root ./mongodb.key
```
2. 修改 docker-compose.yml
2. 修改 docker-compose.yml,挂载密钥
```yml
mongo:
@@ -191,4 +162,109 @@ docker-compose down
docker-compose up -d
```
4. 进入容器执行副本集合初始化(看上方)
4. 进入容器执行副本集合初始化
```bash
# 查看 mongo 容器是否正常运行
docker ps
# 进入容器
docker exec -it mongo bash
# 连接数据库这里要填Mongo的用户名和密码
mongo -u myusername -p mypassword --authenticationDatabase admin
# 初始化副本集。如果需要外网访问mongo:27017 。如果需要外网访问需要增加Mongo连接参数directConnection=true
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "mongo:27017" }
]
})
# 检查状态。如果提示 rs0 状态,则代表运行成功
rs.status()
```
### 如何修改API地址和密钥
默认是写了OneAPi的连接地址和密钥可以通过修改`docker-compose.yml`fastgpt容器的环境变量实现。
`OPENAI_BASE_URL`API 接口的地址,需要加/v1
`CHAT_API_KEY`API 接口的凭证)。
修改完后重启:
```bash
docker-compose down
docker-compose up -d
```
### 如何更新版本?
1. 查看[更新文档](/docs/development/upgrading/intro/),确认要升级的版本,避免跨版本升级。
2. 修改镜像 tag 到指定版本
3. 执行下面命令会自动拉取镜像:
```bash
docker-compose pull
docker-compose up -d
```
4. 执行初始化脚本(如果有)
### 如何自定义配置文件?
修改`config.json`文件,并执行`docker-compose down`再执行`docker-compose up -d`重起容器。具体配置,参考[配置详解](/docs/development/configuration)。
### 如何检查自定义配置文件是否挂载
1. `docker logs fastgpt` 可以查看日志,在启动容器后,第一次请求网页,会进行配置文件读取,可以看看有没有读取成功以及有无错误日志。
2. `docker exec -it fastgpt sh` 进入 FastGPT 容器,可以通过`ls data`查看目录下是否成功挂载`config.json`文件。可通过`cat data/config.json`查看配置文件。
**可能不生效的原因**
1. 挂载目录不正确
2. 配置文件不正确,日志中会提示`invalid json`,配置文件需要是标准的 JSON 文件。
3. 修改后,没有`docker-compose down`再`docker-compose up -d`restart是不会重新挂载文件的。
### 如何检查环境变量是否正常加载
1. `docker exec -it fastgpt sh` 进入 FastGPT 容器。
2. 直接输入`env`命令查看所有环境变量。
### 为什么无法连接`本地模型`镜像。
`docker-compose.yml`中使用了桥接的模式建立了`fastgpt`网络如想通过0.0.0.0或镜像名访问其它镜像,需将其它镜像也加入到网络中。
### 端口冲突怎么解决?
docker-compose 端口定义为:`映射端口:运行端口`。
桥接模式下,容器运行端口不会有冲突,但是会有映射端口冲突,只需将映射端口修改成不同端口即可。
如果`容器1`需要连接`容器2`,使用`容器2:运行端口`来进行连接即可。
(自行补习 docker 基本知识)
### relation "modeldata" does not exist
PG 数据库没有连接上/初始化失败可以查看日志。FastGPT 会在每次连接上 PG 时进行表初始化,如果报错会有对应日志。
1. 检查数据库容器是否正常启动
2. 非 docker 部署的,需要手动安装 pg vector 插件
3. 查看 fastgpt 日志,有没有相关报错
### Operation `auth_codes.findOne()` buffering timed out after 10000ms
mongo连接失败查看mongo的运行状态对应日志。
可能原因:
1. mongo 服务有没有起来(有些 cpu 不支持 AVX无法用 mongo5需要换成 mongo4.x可以docker hub找个最新的4.x修改镜像版本重新运行
2. 连接数据库的环境变量填写错误账号密码注意host和port非容器网络连接需要用公网ip并加上 directConnection=true
3. 副本集启动失败。导致容器一直重启。
### 首次部署root用户提示未注册
日志会有错误提示。大概率是没有启动 Mongo 副本集模式。

View File

@@ -23,22 +23,10 @@ images: []
可以。需要准备好向量模型和LLM模型。
### insufficient_user_quota user quota is not enough
OneAPI 账号的余额不足,默认 root 用户只有 200 刀,可以手动修改。
### xxx渠道找不到
OneAPI 中没有配置该模型渠道。或者是修改了配置文件中一部分的模型,但没有全部修改。
### 页面中可以正常回复API 报错
页面中是用 stream=true 模式所以API也需要设置 stream=true 来进行测试。部分模型接口(国产居多)非 Stream 的兼容有点垃圾。
### Incorrect API key provided: sk-xxxx.You can find your api Key at xxx
OneAPI 的 API Key 配置错误,需要修改`OPENAI_API_KEY`环境变量,并重启容器(先 docker-compose down 然后再 docker-compose up -d 运行一次)。可以`exec`进入容器,`env`查看环境变量是否生效。
### 其他模型没法进行问题分类/内容提取
需要给其他模型配置`toolChoice=false`就会默认走提示词模式。目前内置提示词仅针对了商业模型API进行测试国内外的商业模型基本都可用。
@@ -54,7 +42,7 @@ OneAPI 的 API Key 配置错误,需要修改`OPENAI_API_KEY`环境变量,并
1. 问题补全需要经过一轮AI生成。
2. 会进行3~5轮的查询如果数据库性能不足会有明显影响。
### 模型响应为空
### 模型响应为空(core.chat.Chat API is error or undefined)
1. 检查 key 问题。
2. 如果是国内模型,可能是命中风控了。
@@ -62,77 +50,32 @@ OneAPI 的 API Key 配置错误,需要修改`OPENAI_API_KEY`环境变量,并
### 知识库索引没有进度
先看日志报错信息。
先看日志报错信息。有以下几种情况:
1. 可以对话但是索引没有进度没有配置向量模型vectorModels
2. 不能对话也不能索引API调用失败。可能是没连上OneAPI或OpenAI
3. 有进度但是非常慢api key不行OpenAI的免费号一分钟只有3次还是60次。一天上限200次。
## 三、Docker 部署常见问题
### Connection error
### 如何更新?
网络异常。国内服务器无法请求OpenAI自行检查与AI模型的连接是否正常。
1. 查看[更新文档](/docs/development/upgrading/intro/),确认要升级的版本,避免跨版本升级。
2. 修改镜像 tag 到指定版本
3. 执行下面命令会自动拉取镜像:
或者是FastGPT请求不到 OneAPI没放同一个网络
```bash
docker-compose pull
docker-compose up -d
```
## 三、常见的 OneAPI 错误
4. 执行初始化脚本(如果有)
### insufficient_user_quota user quota is not enough
### 如何自定义配置文件?
OneAPI 账号的余额不足,默认 root 用户只有 200 刀,可以手动修改。
修改`config.json`文件,并执行`docker-compose down`再执行`docker-compose up -d`重起容器。具体配置,参考[配置详解](/docs/development/configuration)。
### xxx渠道找不到
### 如何检查自定义配置文件是否挂载
OneAPI 中没有配置该模型渠道。或者是修改了配置文件中一部分的模型,但没有全部修改。
1. `docker logs fastgpt` 可以查看日志,在启动容器后,第一次请求网页,会进行配置文件读取,可以看看有没有读取成功以及有无错误日志
2. `docker exec -it fastgpt sh` 进入 FastGPT 容器,可以通过`ls data`查看目录下是否成功挂载`config.json`文件。可通过`cat data/config.json`查看配置文件。
如果OneAPI中没有配置对应的模型`config.json`中也不要配置,否则容易报错
**可能不生效的原因**
### Incorrect API key provided: sk-xxxx.You can find your api Key at xxx
1. 挂载目录不正确
2. 配置文件不正确,日志中会提示`invalid json`,配置文件需要是标准的 JSON 文件。
3. 修改后,没有`docker-compose down`再`docker-compose up -d`restart是不会重新挂载文件的。
OneAPI 的 API Key 配置错误,需要修改`OPENAI_API_KEY`环境变量,并重启容器(先 docker-compose down 然后再 docker-compose up -d 运行一次)。
### 如何检查环境变量是否正常加载
1. `docker exec -it fastgpt sh` 进入 FastGPT 容器。
2. 直接输入`env`命令查看所有环境变量。
### 为什么无法连接`本地模型`镜像。
`docker-compose.yml`中使用了桥接的模式建立了`fastgpt`网络如想通过0.0.0.0或镜像名访问其它镜像,需将其它镜像也加入到网络中。
### 端口冲突怎么解决?
docker-compose 端口定义为:`映射端口:运行端口`。
桥接模式下,容器运行端口不会有冲突,但是会有映射端口冲突,只需将映射端口修改成不同端口即可。
如果`容器1`需要连接`容器2`,使用`容器2:运行端口`来进行连接即可。
(自行补习 docker 基本知识)
### relation "modeldata" does not exist
PG 数据库没有连接上/初始化失败可以查看日志。FastGPT 会在每次连接上 PG 时进行表初始化,如果报错会有对应日志。
1. 检查数据库容器是否正常启动
2. 非 docker 部署的,需要手动安装 pg vector 插件
3. 查看 fastgpt 日志,有没有相关报错
### Operation `auth_codes.findOne()` buffering timed out after 10000ms
mongo连接失败检查
1. mongo 服务有没有起来(有些 cpu 不支持 AVX无法用 mongo5需要换成 mongo4.x可以dockerhub找个最新的4.x修改镜像版本重新运行
2. 环境变量账号密码注意host和port
3. 副本集启动失败一直在重启没挂载mongo keykey没有权限
### 首次部署root用户提示未注册
没有启动 Mongo 副本集模式。
可以`exec`进入容器,`env`查看环境变量是否生效。

View File

@@ -48,7 +48,7 @@ git clone git@github.com:<github_username>/FastGPT.git
第一次开发,需要先部署数据库,建议本地开发可以随便找一台 2C2G 的轻量小数据库实践。数据库部署教程:[Docker 快速部署](/docs/development/docker/)。部署完了,可以本地访问其数据库。
Mongo 数据库需要修改副本集的`host`,从原来的`mongo:27017`修改为`ip:27017`(ip为对应的公网IP)
Mongo 数据库需要注意,需要注意在连接地址中增加 `directConnection=true` 参数,才能连接上副本集的数据库
### 4. 初始配置

View File

@@ -1,6 +1,6 @@
---
title: '接入微软、ChatGLM、本地模型'
description: '部署和接入 OneAPI实现对各种大模型的支持'
title: '部署和使用OneAPI实现Azure、ChatGLM、本地模型接入'
description: '部署和使用OneAPI实现Azure、ChatGLM、本地模型接入'
icon: 'Api'
draft: false
toc: true
@@ -13,9 +13,17 @@ weight: 708
## FastGPT 与 OneAPI 关系
可以把 OneAPI 当做一个网关。
![](/imgs/sealos-fastgpt.webp)
## MySQL 版本
## 部署
### docker 版本
已加入最新的`docker-compose.yml`文件中。
### Sealos - MySQL 版本
MySQL 版本支持多实例,高并发。
@@ -25,7 +33,7 @@ MySQL 版本支持多实例,高并发。
部署完后会跳转「应用管理」,数据库在另一个应用「数据库」中。需要等待 1~3 分钟数据库运行后才能访问成功。
## SqlLite 版本
### Sealos - SqlLite 版本
SqlLite 版本不支持多实例,适合个人小流量使用,但是价格非常便宜。
@@ -130,7 +138,7 @@ CHAT_API_KEY=sk-xxxxxx
"customCQPrompt": "", // 自定义文本分类提示词(不支持工具和函数调用的模型
"customExtractPrompt": "", // 自定义内容提取提示词
"defaultSystemChatPrompt": "", // 对话默认携带的系统提示词
"defaultConfig":{} // 对话默认配置(比如 GLM4 的 top_p
"defaultConfig":{} // 请求API时挟带一些默认配置(比如 GLM4 的 top_p
}
...
],

View File

@@ -36,7 +36,7 @@ weight: 860
### 触发流程
![](/imgs/sharelinkProcess.png)
![](/imgs/sharelink_process.png)
## 配置教程
### 1. 配置身份校验地址

View File

@@ -9,7 +9,7 @@ weight: 828
## docker 部署 - 手动更新 Mongo
1. 修改 docker-compose.yml 的mongo部分补上`command``mongodb.key`
1. 修改 docker-compose.yml 的mongo部分补上`command``entrypoint`
```yml
mongo:
@@ -22,44 +22,51 @@ mongo:
- fastgpt
command: mongod --keyFile /data/mongodb.key --replSet rs0
environment:
# 这里密码不用变。
- MONGO_INITDB_ROOT_USERNAME=myname
- MONGO_INITDB_ROOT_PASSWORD=mypassword
# 这里密码注意要和以前的一致
- MONGO_INITDB_ROOT_USERNAME=username
- MONGO_INITDB_ROOT_PASSWORD=password
volumes:
- ./mongo/data:/data/db
- ./mongodb.key:/data/mongodb.key
entrypoint:
- bash
- -c
- |
openssl rand -base64 128 > /data/mongodb.key
chmod 400 /data/mongodb.key
chown 999:999 /data/mongodb.key
echo 'const isInited = rs.status().ok === 1
if(!isInited){
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "mongo:27017" }
]
})
}' > /data/initReplicaSet.js
# 启动MongoDB服务
exec docker-entrypoint.sh "$@" &
# 等待MongoDB服务启动
until mongo -u myusername -p mypassword --authenticationDatabase admin --eval "print('waited for connection')" > /dev/null 2>&1; do
echo "Waiting for MongoDB to start..."
sleep 2
done
# 执行初始化副本集的脚本
mongo -u myusername -p mypassword --authenticationDatabase admin /data/initReplicaSet.js
# 等待docker-entrypoint.sh脚本执行的MongoDB服务进程
wait $!
```
2. 创建 mongo 密钥
2. 重启 MongoDB
```bash
cd 项目目录
# 创建 mongo 密钥
openssl rand -base64 756 > ./mongodb.key
# 600不行可以用chmod 999
chmod 600 ./mongodb.key
chown 999:root ./mongodb.key
# 重启 Mongo
docker-compose down
docker-compose up -d
```
3. 进入容器初始化部分集合
```bash
docker exec -it mongo bash
mongo -u myname -p mypassword --authenticationDatabase admin
# 初始化副本集。如果需要外网访问mongo:27017 可以改成 ip:27017。但是需要同时修改 FastGPT 连接的参数MONGODB_URI=mongodb://myname:mypassword@mongo:27017/fastgpt?authSource=admin => MONGODB_URI=mongodb://myname:mypassword@ip:27017/fastgpt?authSource=admin
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "mongo:27017" }
]
})
# 检查状态。如果提示 rs0 状态,则代表运行成功
rs.status()
```
## Sealos 部署 - 无需更新 Mongo
## 修改配置文件

View File

@@ -24,6 +24,29 @@ curl --location --request POST 'https://{{host}}/api/admin/initv47' \
脚本功能:
1. 初始化插件的 parentId
## 升级 ReRank 模型
4.7对ReRank模型进行了格式变动兼容 cohere 的格式,可以直接使用 cohere 提供的 API。如果是本地的 ReRank 模型,需要修改镜像为:`luanshaotong/reranker:v0.2`
cohere的重排模型对中文不是很好感觉不如 bge 的好用,接入教程如下:
1. 申请 Cohere 官方 Key: https://dashboard.cohere.com/api-keys
2. 修改 FastGPT 配置文件
```json
{
"reRankModels": [
{
"model": "rerank-multilingual-v2.0", // 这里的 model 需要对应 cohere 的模型名
"name": "检索重排", // 随意
"requestUrl": "https://api.cohere.ai/v1/rerank",
"requestAuth": "Coherer上申请的key"
}
]
}
```
## V4.7 更新说明
1. 新增 - 工具调用模块可以让LLM模型根据用户意图动态的选择其他模型或插件执行。
@@ -37,3 +60,4 @@ curl --location --request POST 'https://{{host}}/api/admin/initv47' \
9. 新增 - 支持 http url 使用变量。
10. 修复 - 469 的提取的提示词容易造成幻觉。
11. 修复 - PG HNSW索引未实际生效问题本次更新后搜索速度大幅度提升(但是可能会出现精度损失如果出现精度损失需要参考PgVector文档对索引进行调整)。详细见https://github.com/pgvector/pgvector?tab=readme-ov-file#troubleshooting
12. 新增 - Rerank 模型兼容 [cohere的格式](https://docs.cohere.com/reference/rerank-1),可以直接使用 cohere 的 rerank 模型。

View File

@@ -13,6 +13,59 @@ weight: 353
- 无外部输入
- 不参与实际调度
如图,可以在用户提问前给予一定引导。并可以设置引导问题。
## 作用
可以配置欢迎语、全局变量、语言播报等,类似于系统设置,不参与工作流的运行。
![](/imgs/guide.png)
### 欢迎语
会在对话开始前发送一个欢迎语。该功能只在网页生效API是无效的并且该欢迎语不会被加入 AI 的对话记录中。
可以通过特殊的 Markdown 语法,来实现快速提问。 如图中的:
```
[剧情介绍]
[导演是谁]
```
### 全局变量
| | |
| ----- | ----- |
| ![](/imgs/variable.png) | ![](/imgs/variable2.png) |
如上图中,我们配置了一个名为`测试`, key为`test`的变量,类型为`文本`的全局变量。并在对话中,通过`{{test}}`来引用该变量。
| | |
| ----- | ----- |
| ![](/imgs/variable3.png) | ![](/imgs/variable4.png) |
从上图中,可以看出,实际的提示词从:`这是一个变量测试: {{test}}` 变成了: `这是一个变量测试: 变量测试`,因为`{{test}}` 被变量替换了。
变量在工作流中大部分的`文本输入框`都生效例如HTTP模块的URL和参数、各种功能块的提示词。
有一个特殊类型的变量,交`外部传入`。这种变量不需要用户填写而是直接在调用时实时传入。目前支持从分享链接的Query和API调用的`variables`对象中获取。
![](/imgs/variable4.png)
------
除了自定义的全局变量外,还有一些系统参数可以选择:
+ **cTime**: 当前时间字符串格式例如2023/3/3 20:22
### 语音播报
| | |
| ----- | ----- |
| ![](/imgs/tts_setting.png) | ![](/imgs/tts_setting2.png) |
### 猜你想问
开启后每次对话结束会发送最近的6条对话记录给AIAI会根据这些对话记录给出 3 个可能的问题。
![](/imgs/question_guide.png)

View File

@@ -21,7 +21,40 @@ weight: 362
也可以增加自定义规则来补充输出 false 的内容,每行代表一个匹配规则,支持正则表达式。
根据上方示例图的匹配规则,当我们输入`123` `hi` `你好` 和任意手机号码时(正则匹配)同样也会输出 False 。
**例子1**
不填写任何自定义 False 规则。
| 输入 | 输出 |
| --- | --- |
| 123 | true |
| 这是一段文本 | true |
| false | false |
| 0 | false |
| null | false |
**例子2**
自定义 False 规则:
```
123
你好
aa
/dd/
```
| 输入 | 输出 | 说明 |
| --- | --- | --- |
| 123 | false | 命中自定义 false 规则 |
| 这是一段文本 | true | 未命中 |
| false | false | 命中自定义 内置 规则 |
| 0 | false | 命中自定义 内置 规则 |
| null | false | 命中自定义 内置 规则 |
| aa | false | 命中自定义 false 规则 |
| aaa | true | 未命中 |
| bb | false | 命中自定义 false 规则 |
| bbb | false | 命中自定义 false 规则(正则匹配通过) |
## 作用

View File

@@ -1,35 +0,0 @@
---
title: "全局变量"
description: "FastGPT 全局变量模块介绍"
icon: "variables"
draft: false
toc: true
weight: 361
---
## 特点
- 仅可添加 1 个
- 需要手动配置
- 对其他模块有影响
- 可作为用户引导
## 说明
可以在对话前设置一些问题,让用户输入或选择,并将用户输入/选择的结果注入到其他模块中。目前仅会注入到 string 类型的数据里(对应蓝色圆圈的输入)。
如下图,定义了两个变量:目标语言和下拉框测试(忽略)
用户在对话前会被要求先填写目标语言,配合用户引导,我们就构建了一个简单的翻译机器人。**目标语言**的 `keylanguage` 被写入到【AI 对话】模块的限定词里。
![](/imgs/variable.png)
通过完整对话记录我们可以看到,实际的限定词从:“将我的问题直接翻译成{{language}}” 变成了 “将我的问题直接翻译成英语”,因为 {{language}} 被变量替换了。
![](/imgs/variable2.png)
## 系统级变量
除了用户自定义设置的变量外,还会有一些系统变量:
+ **cTime**: 当前时间。例如2023/3/3 20:22