perf: markdown more wrap (#365)
This commit is contained in:
@@ -11,35 +11,19 @@ weight: 520
|
||||
|
||||
**开发环境下**,你需要将示例配置文件 `config.json` 复制成 `config.local.json` 文件才会生效。
|
||||
|
||||
这个配置文件中包含了前端页面定制、系统级参数、AI 对话的模型等……
|
||||
这个配置文件中包含了系统级参数、AI 对话的模型、function 模型等……
|
||||
|
||||
{{% alert context="warning" %}}
|
||||
注意:下面的配置介绍仅是局部介绍,你需要完整挂载整个 `config.json`,不能仅挂载一部分。你可以直接在默认的 config.json 基础上根据下面的介绍进行修改。挂载上去的配置文件不能包含注释。
|
||||
{{% /alert %}}
|
||||
|
||||
## 基础字段粗略说明
|
||||
|
||||
这里介绍一些基础的配置字段:
|
||||
|
||||
```json
|
||||
...
|
||||
// 这个配置文件是系统级参数
|
||||
"SystemParams": {
|
||||
"vectorMaxProcess": 15, // 向量生成最大进程,结合数据库性能和 key 来设置
|
||||
"qaMaxProcess": 15, // QA 生成最大进程,结合数据库性能和 key 来设置
|
||||
"pgIvfflatProbe": 20 // pg vector 搜索探针。没有设置索引前可忽略,通常 50w 组以上才需要设置。
|
||||
},
|
||||
...
|
||||
```
|
||||
|
||||
## 完整配置参数
|
||||
|
||||
**使用时,请务必去除注释!**
|
||||
|
||||
```json
|
||||
{
|
||||
"SystemParams": {
|
||||
"vectorMaxProcess": 15,
|
||||
"qaMaxProcess": 15,
|
||||
"pgIvfflatProbe": 20
|
||||
"vectorMaxProcess": 15, // 向量生成最大进程,结合数据库性能和 key 来设置
|
||||
"qaMaxProcess": 15, // QA 生成最大进程,结合数据库性能和 key 来设置
|
||||
"pgIvfflatProbe": 20 // pg vector 搜索探针。没有设置索引前可忽略,通常 50w 组以上才需要设置。
|
||||
},
|
||||
"ChatModels": [
|
||||
{
|
||||
@@ -79,25 +63,25 @@ weight: 520
|
||||
"maxToken": 3000
|
||||
}
|
||||
],
|
||||
"QAModel": {
|
||||
"QAModel": { // QA 拆分模型
|
||||
"model": "gpt-3.5-turbo-16k",
|
||||
"name": "GPT35-16k",
|
||||
"maxToken": 0,
|
||||
"maxToken": 16000,
|
||||
"price": 0
|
||||
},
|
||||
"ExtractModel": {
|
||||
"ExtractModel": { // 内容提取模型
|
||||
"model": "gpt-3.5-turbo-16k",
|
||||
"functionCall": true,
|
||||
"functionCall": true, // 是否使用 functionCall
|
||||
"name": "GPT35-16k",
|
||||
"maxToken": 0,
|
||||
"maxToken": 16000,
|
||||
"price": 0,
|
||||
"prompt": ""
|
||||
},
|
||||
"CQModel": {
|
||||
"CQModel": { // 问题分类模型
|
||||
"model": "gpt-3.5-turbo-16k",
|
||||
"functionCall": true,
|
||||
"name": "GPT35-16k",
|
||||
"maxToken": 0,
|
||||
"maxToken": 16000,
|
||||
"price": 0,
|
||||
"prompt": ""
|
||||
}
|
||||
|
||||
@@ -10,30 +10,27 @@ weight: 510
|
||||
本文档介绍了如何设置开发环境以构建和测试 [FastGPT](https://fastgpt.run)。
|
||||
|
||||
|
||||
## Tips
|
||||
|
||||
1. 用户默认的时区为 `Asia/Shanghai`,非 linux 环境时候,获取系统时间会异常,本地开发时候,可以将用户的时区调整成 UTC(+0)。
|
||||
|
||||
|
||||
## 前置依赖项
|
||||
|
||||
您需要在计算机上安装和配置以下依赖项才能构建 [FastGPT](https://fastgpt.run):
|
||||
|
||||
- [Git](http://git-scm.com/)
|
||||
- [Docker](https://www.docker.com/)
|
||||
- [Docker Compose](https://docs.docker.com/compose/install/)
|
||||
- [Docker](https://www.docker.com/)(构建镜像)
|
||||
- [Node.js v18.x (LTS)](http://nodejs.org)
|
||||
- [npm](https://www.npmjs.com/) 版本 8.x.x 或 [Yarn](https://yarnpkg.com/)
|
||||
- [pnpm](https://pnpm.io/) 版本 8.x.x
|
||||
|
||||
## 本地开发
|
||||
## 开始本地开发
|
||||
|
||||
要设置一个可工作的开发环境,只需 Fork 项目的 Git 存储库,并部署一个数据库,然后开始进行开发测试。
|
||||
**Tips**
|
||||
|
||||
### Fork 存储库
|
||||
1. 用户默认的时区为 `Asia/Shanghai`,非 linux 环境时候,获取系统时间会异常,本地开发时候,可以将用户的时区调整成 UTC(+0)。
|
||||
2. 建议先服务器装好数据库在进行本地开发。
|
||||
|
||||
### 1. Fork 存储库
|
||||
|
||||
您需要 Fork [存储库](https://github.com/labring/FastGPT)。
|
||||
|
||||
### 克隆存储库
|
||||
### 2. 克隆存储库
|
||||
|
||||
克隆您在 GitHub 上 Fork 的存储库:
|
||||
|
||||
@@ -41,23 +38,27 @@ weight: 510
|
||||
git clone git@github.com:<github_username>/FastGPT.git
|
||||
```
|
||||
|
||||
**projects 目录下为 FastGPT 应用代码。NextJS 框架前后端放在一起,API 服务位于 `src/pages/api` 目录内。**
|
||||
**目录简要说明**
|
||||
|
||||
**packages 目录为相关的共用包。**
|
||||
1. `projects` 目录下为 FastGPT 应用代码。其中 `app` 为 FastGPT 核心应用。(后续可能会引入其他应用)
|
||||
2. NextJS 框架前后端放在一起,API 服务位于 `src/pages/api` 目录内。
|
||||
3. `packages` 目录为共用代码,通过 workspace 被注入到 `projects` 中,已配置 monorepo 自动注入,无需额外打包。
|
||||
|
||||
### 安装数据库
|
||||
### 3. 安装数据库
|
||||
|
||||
第一次开发,需要先部署数据库,建议本地开发可以随便找一台 2C2G 的轻量小数据库实践。数据库部署教程:[Docker 快速部署](/docs/installation/docker/)
|
||||
第一次开发,需要先部署数据库,建议本地开发可以随便找一台 2C2G 的轻量小数据库实践。数据库部署教程:[Docker 快速部署](/docs/installation/docker/)。部署完了,可以本地访问其数据库。
|
||||
|
||||
### 初始配置
|
||||
### 4. 初始配置
|
||||
|
||||
**1. 环境变量**
|
||||
以下文件均在 `projects/app` 路径下。
|
||||
|
||||
**环境变量**
|
||||
|
||||
复制.env.template 文件,生成一个.env.local 环境变量文件夹,修改.env.local 里内容才是有效的变量。变量说明见 .env.template
|
||||
|
||||
**2. config 配置文件**
|
||||
**config 配置文件**
|
||||
|
||||
复制 data/config.json 文件,生成一个 data/config.local.json 配置文件。具体的参数说明,可参考 [config 配置说名](/docs/development/configuration)
|
||||
复制 data/config.json 文件,生成一个 data/config.local.json 配置文件,具体配置参数说明,可参考 [config 配置说明](/docs/development/configuration)
|
||||
|
||||
**注意:json 配置文件不能包含注释,介绍中为了方便看才加入的注释**
|
||||
|
||||
@@ -67,23 +68,29 @@ git clone git@github.com:<github_username>/FastGPT.git
|
||||
- `qaMaxProcess`: QA 生成最大进程
|
||||
- `pgIvfflatProbe`: PostgreSQL vector 搜索探针,没有添加 vector 索引时可忽略。
|
||||
|
||||
### 运行
|
||||
### 5. 运行
|
||||
|
||||
```bash
|
||||
# 代码根目录下执行,会安装根 package、projects 和 packages 内所有依赖
|
||||
pnpm i
|
||||
cd projects/app # FastGPT 主程序
|
||||
# 切换到应用目录
|
||||
cd projects/app
|
||||
# 开发模式运行
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
### 镜像打包
|
||||
### 6. 发布 - 镜像打包
|
||||
|
||||
```bash
|
||||
# 根目录下执行
|
||||
docker build -t dockername/fastgpt --build-arg name=app .
|
||||
```
|
||||
|
||||
## 创建拉取请求
|
||||
## 提交代码至开源仓库
|
||||
|
||||
在进行更改后,打开一个拉取请求(PR)。提交拉取请求后,FastGPT 团队/社区的其他人将与您一起审查它。
|
||||
1. 确保你的代码是 Fork [FastGPT](https://github.com/labring/FastGPT) 仓库
|
||||
2. 尽可能少量的提交代码,每次提交仅解决一个问题。
|
||||
3. 向 FastGPT 的 main 分支提交一个 PR,提交请求后,FastGPT 团队/社区的其他人将与您一起审查它。
|
||||
|
||||
如果遇到问题,比如合并冲突或不知道如何打开拉取请求,请查看 GitHub 的[拉取请求教程](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests),了解如何解决合并冲突和其他问题。一旦您的 PR 被合并,您将自豪地被列为[贡献者表](https://github.com/labring/FastGPT/graphs/contributors)中的一员。
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: 'OpenAPI 使用'
|
||||
title: 'OpenAPI 使用(API Key 使用)'
|
||||
description: 'FastGPT OpenAPI 文档'
|
||||
icon: 'api'
|
||||
draft: false
|
||||
@@ -28,20 +28,22 @@ FastGPT 的 API Key 有 2 类,一类是全局通用的 key;一类是携带
|
||||
## 发起对话
|
||||
|
||||
{{% alert icon="🤖 " context="success" %}}
|
||||
该接口 API Key 需使用应用特定的 key,否则会报错。
|
||||
该接口 API Key 需使用应用特定的 key,否则会报错。
|
||||
|
||||
有些包的 BaseUrl 需要添加 `v1` 路径,有些不需要,建议都试一下。
|
||||
{{% /alert %}}
|
||||
|
||||
|
||||
对话接口兼容 openai 的接口!如果你有第三方项目,可以直接通过修改 BaseUrl 和 Authorization 来访问 FastGpt 应用。缺点是你无法获取到响应的token值。
|
||||
对话接口兼容`GPT`的接口!如果你的项目使用的是标准的`GPT`官方接口,可以直接通过修改 `BaseUrl` 和 `Authorization` 来访问 FastGpt 应用。
|
||||
|
||||
请求内容
|
||||
请求参数说明
|
||||
- headers.Authorization: Bearer apikey
|
||||
- chatId: string | undefined 。
|
||||
- 为 undefined 时(不传入),不使用 FastGpt 提供的上下文功能,完全通过传入的 messages 构建上下文。 不会将你的记录存储到数据库中,你也无法在记录汇总中查阅到。
|
||||
- 为非空字符串时,意味着使用 chatId 进行对话,自动从 FastGpt 数据库取历史记录。并拼接 messages 数组最后一个内容作为完整请求。(自行确保 chatId 唯一,长度不限)
|
||||
- messages: 与 openai gpt 接口完全一致。
|
||||
- detail: 是否返回详细值(模块状态,响应的完整结果),会通过event进行区分
|
||||
- variables: 变量。一个对象,效果同全局变量。
|
||||
- 为非空字符串时,意味着使用 chatId 进行对话,自动从 FastGpt 数据库取历史记录,并使用 messages 数组最后一个内容作为用户问题。(请自行确保 chatId 唯一,长度不限制)
|
||||
- messages: 结构与 [GPT接口](https://platform.openai.com/docs/api-reference/chat/object) 完全一致。
|
||||
- detail: 是否返回详细值(模块状态,响应的完整结果),`stream模式`下会通过event进行区分,`非stream模式`结果保存在responseData中。
|
||||
- variables: 变量内容,一个对象,会替换`{{key}}`变量。在`HTTP`模块中会发给接口,可作为身份凭证等标识。
|
||||
|
||||
**请求示例:**
|
||||
|
||||
|
||||
Reference in New Issue
Block a user