This commit is contained in:
archer
2023-05-28 21:02:18 +08:00
parent 516618b0cd
commit d351a56e03
5 changed files with 20 additions and 14 deletions

View File

@@ -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=可选的安全凭证

View File

@@ -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

View File

@@ -25,9 +25,9 @@ export const openaiError: Record<string, string> = {
'Bad Gateway': '网关异常,请重试'
};
export const openaiAccountError: Record<string, string> = {
// insufficient_quota: 'API 余额不足',
invalid_api_key: 'openai 账号异常'
// invalid_request_error: '无效的 openai 请求'
insufficient_quota: 'API 余额不足',
invalid_api_key: 'openai 账号异常',
account_deactivated: '账号已停用'
};
export const proxyError: Record<string, boolean> = {
ECONNABORTED: true,

View File

@@ -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);
}

View File

@@ -110,11 +110,11 @@ export async function generateVector(): Promise<any> {
} 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);