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 network_mode: host
restart: always restart: always
container_name: fastgpt container_name: fastgpt
environment: environment: # 可选的变量,不需要的话需要去掉
# proxy可选 # proxy可选
- AXIOS_PROXY_HOST=127.0.0.1 - AXIOS_PROXY_HOST=127.0.0.1
- AXIOS_PROXY_PORT=7890 - AXIOS_PROXY_PORT=7890
@@ -47,6 +47,9 @@ services:
- aliAccessKeySecret=xxxx - aliAccessKeySecret=xxxx
- aliSignName=xxxxx - aliSignName=xxxxx
- aliTemplateCode=SMS_xxxx - aliTemplateCode=SMS_xxxx
# google V3 安全校验(可选)
- CLIENT_GOOGLE_VER_TOKEN=6LcDlDUmAAAAAAbGrwhIZtt3G_Ulf5V-lPamB5qd
- SERVICE_GOOGLE_VER_TOKEN=6LcDlDUmAAAAANIOO1jLdSLDAiyQCnX9dVTr81nt
# QA和向量生成最大进程数 # QA和向量生成最大进程数
- QA_MAX_PROCESS=10 - QA_MAX_PROCESS=10
- VECTOR_MAX_PROCESS=10 - VECTOR_MAX_PROCESS=10
@@ -54,7 +57,7 @@ services:
- TOKEN_KEY=xxxx - TOKEN_KEY=xxxx
# root key, 最高权限,可以内部接口互相调用 # root key, 最高权限,可以内部接口互相调用
- ROOT_KEY=xxx - ROOT_KEY=xxx
# 是否进行安全校验(1: 开启0: 关闭) # 是否进行内容安全校验(1: 开启0: 关闭)
- SENSITIVE_CHECK=1 - SENSITIVE_CHECK=1
# 和上方mongo镜像的username,password对应 # 和上方mongo镜像的username,password对应
- MONGODB_URI=mongodb://username:password@0.0.0.0:27017/?authSource=admin - MONGODB_URI=mongodb://username:password@0.0.0.0:27017/?authSource=admin
@@ -66,8 +69,8 @@ services:
- PG_PASSWORD=1234 # POSTGRES_PASSWORD - PG_PASSWORD=1234 # POSTGRES_PASSWORD
- PG_DB_NAME=fastgpt # POSTGRES_DB - PG_DB_NAME=fastgpt # POSTGRES_DB
# openai # openai
- OPENAIKEY=sk-xxxxx # 对话用的key - OPENAIKEY=sk-xxxxx,sk-xxx # 对话用的key多个key逗号分开
- OPENAI_TRAINING_KEY=sk-xxx # 训练用的key - OPENAI_TRAINING_KEY=sk-xxx,sk-xxxx # 训练用的key
- GPT4KEY=sk-xxx - GPT4KEY=sk-xxx
- OPENAI_BASE_URL=https://api.openai.com/v1 - OPENAI_BASE_URL=https://api.openai.com/v1
- OPENAI_BASE_URL_AUTH=可选的安全凭证 - OPENAI_BASE_URL_AUTH=可选的安全凭证

View File

@@ -7,12 +7,14 @@ CREATE TABLE IF NOT EXISTS modelData (
id BIGSERIAL PRIMARY KEY, id BIGSERIAL PRIMARY KEY,
vector VECTOR(1536) NOT NULL, vector VECTOR(1536) NOT NULL,
user_id VARCHAR(50) NOT NULL, user_id VARCHAR(50) NOT NULL,
kb_id VARCHAR(50), kb_id VARCHAR(50) NOT NULL,
q TEXT NOT NULL, q TEXT NOT NULL,
a 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_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_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 去配置,根据数据量去配置 -- vector 索引,可以到 pg vector 去配置,根据数据量去配置
EOSQL EOSQL

View File

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

View File

@@ -162,7 +162,8 @@ A2:
// message error or openai account error // message error or openai account error
if ( if (
err?.message === 'invalid message format' || 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); await TrainingData.findByIdAndRemove(trainingId);
} }

View File

@@ -110,11 +110,11 @@ export async function generateVector(): Promise<any> {
} else { } else {
console.log('生成向量错误:', err); console.log('生成向量错误:', err);
} }
// message error or openai account error // message error or openai account error
if ( if (
err?.message === 'invalid message format' || 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('删除一个任务'); console.log('删除一个任务');
await TrainingData.findByIdAndRemove(trainingId); await TrainingData.findByIdAndRemove(trainingId);