From d351a56e03c98674c9c8b3fdea0d2f30a2ef8e23 Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Sun, 28 May 2023 21:02:18 +0800 Subject: [PATCH] docs --- docs/deploy/fastgpt/docker-compose.yml | 11 +++++++---- docs/deploy/fastgpt/pg/init.sql | 10 ++++++---- src/service/errorCode.ts | 6 +++--- src/service/events/generateQA.ts | 3 ++- src/service/events/generateVector.ts | 4 ++-- 5 files changed, 20 insertions(+), 14 deletions(-) diff --git a/docs/deploy/fastgpt/docker-compose.yml b/docs/deploy/fastgpt/docker-compose.yml index bb13f8001..ab7de10cc 100644 --- a/docs/deploy/fastgpt/docker-compose.yml +++ b/docs/deploy/fastgpt/docker-compose.yml @@ -35,7 +35,7 @@ services: network_mode: host restart: always container_name: fastgpt - environment: + environment: # 可选的变量,不需要的话需要去掉 # proxy(可选) - AXIOS_PROXY_HOST=127.0.0.1 - AXIOS_PROXY_PORT=7890 @@ -47,6 +47,9 @@ services: - aliAccessKeySecret=xxxx - aliSignName=xxxxx - aliTemplateCode=SMS_xxxx + # google V3 安全校验(可选) + - CLIENT_GOOGLE_VER_TOKEN=6LcDlDUmAAAAAAbGrwhIZtt3G_Ulf5V-lPamB5qd + - SERVICE_GOOGLE_VER_TOKEN=6LcDlDUmAAAAANIOO1jLdSLDAiyQCnX9dVTr81nt # QA和向量生成最大进程数 - QA_MAX_PROCESS=10 - VECTOR_MAX_PROCESS=10 @@ -54,7 +57,7 @@ services: - TOKEN_KEY=xxxx # root key, 最高权限,可以内部接口互相调用 - ROOT_KEY=xxx - # 是否进行安全校验(1: 开启,0: 关闭) + # 是否进行内容安全校验(1: 开启,0: 关闭) - SENSITIVE_CHECK=1 # 和上方mongo镜像的username,password对应 - MONGODB_URI=mongodb://username:password@0.0.0.0:27017/?authSource=admin @@ -66,8 +69,8 @@ services: - PG_PASSWORD=1234 # POSTGRES_PASSWORD - PG_DB_NAME=fastgpt # POSTGRES_DB # openai - - OPENAIKEY=sk-xxxxx # 对话用的key - - OPENAI_TRAINING_KEY=sk-xxx # 训练用的key + - OPENAIKEY=sk-xxxxx,sk-xxx # 对话用的key,多个key,逗号分开 + - OPENAI_TRAINING_KEY=sk-xxx,sk-xxxx # 训练用的key - GPT4KEY=sk-xxx - OPENAI_BASE_URL=https://api.openai.com/v1 - OPENAI_BASE_URL_AUTH=可选的安全凭证 diff --git a/docs/deploy/fastgpt/pg/init.sql b/docs/deploy/fastgpt/pg/init.sql index 2882abc82..bbf64f3cf 100644 --- a/docs/deploy/fastgpt/pg/init.sql +++ b/docs/deploy/fastgpt/pg/init.sql @@ -7,12 +7,14 @@ CREATE TABLE IF NOT EXISTS modelData ( id BIGSERIAL PRIMARY KEY, vector VECTOR(1536) NOT NULL, user_id VARCHAR(50) NOT NULL, - kb_id VARCHAR(50), + kb_id VARCHAR(50) NOT NULL, q TEXT NOT NULL, a TEXT NOT NULL ); --- create index -CREATE INDEX IF NOT EXISTS modelData_userId_index ON modelData USING HASH (user_id); -CREATE INDEX IF NOT EXISTS modelData_kbId_index ON modelData USING HASH (kb_id); +-- 索引设置,按需取 +-- CREATE INDEX IF NOT EXISTS modelData_userId_index ON modelData USING HASH (user_id); +-- CREATE INDEX IF NOT EXISTS modelData_kbId_index ON modelData USING HASH (kb_id); +-- CREATE INDEX IF NOT EXISTS idx_model_data_md5_q_a_user_id_kb_id ON modelData (md5(q), md5(a), user_id, kb_id); +-- CREATE INDEX IF NOT EXISTS vector_index ON modelData USING ivfflat (vector vector_cosine_ops) WITH (lists = 1000); -- vector 索引,可以到 pg vector 去配置,根据数据量去配置 EOSQL diff --git a/src/service/errorCode.ts b/src/service/errorCode.ts index 7236c691b..063574762 100644 --- a/src/service/errorCode.ts +++ b/src/service/errorCode.ts @@ -25,9 +25,9 @@ export const openaiError: Record = { 'Bad Gateway': '网关异常,请重试' }; export const openaiAccountError: Record = { - // insufficient_quota: 'API 余额不足', - invalid_api_key: 'openai 账号异常' - // invalid_request_error: '无效的 openai 请求' + insufficient_quota: 'API 余额不足', + invalid_api_key: 'openai 账号异常', + account_deactivated: '账号已停用' }; export const proxyError: Record = { ECONNABORTED: true, diff --git a/src/service/events/generateQA.ts b/src/service/events/generateQA.ts index 3c4ef752f..3f698039e 100644 --- a/src/service/events/generateQA.ts +++ b/src/service/events/generateQA.ts @@ -162,7 +162,8 @@ A2: // message error or openai account error if ( err?.message === 'invalid message format' || - openaiAccountError[err?.response?.data?.error?.code] + err.response?.statusText === 'Unauthorized' || + openaiAccountError[err?.response?.data?.error?.code || err?.response?.data?.error?.type] ) { await TrainingData.findByIdAndRemove(trainingId); } diff --git a/src/service/events/generateVector.ts b/src/service/events/generateVector.ts index ed390027d..2b30d3c55 100644 --- a/src/service/events/generateVector.ts +++ b/src/service/events/generateVector.ts @@ -110,11 +110,11 @@ export async function generateVector(): Promise { } else { console.log('生成向量错误:', err); } - // message error or openai account error if ( err?.message === 'invalid message format' || - openaiAccountError[err?.response?.data?.error?.code] + err.response?.statusText === 'Unauthorized' || + openaiAccountError[err?.response?.data?.error?.code || err?.response?.data?.error?.type] ) { console.log('删除一个任务'); await TrainingData.findByIdAndRemove(trainingId);