Commercial baseurl (#697)

This commit is contained in:
Archer
2024-01-06 10:36:31 +08:00
committed by GitHub
parent dfa4c0831c
commit 84cc4baf21
44 changed files with 124 additions and 119 deletions

View File

@@ -20,6 +20,8 @@ CHAT_API_KEY=sk-xxxx
MONGODB_URI=mongodb://username:password@0.0.0.0:27017/fastgpt?authSource=admin
# PG 数据库连接参数
PG_URL=postgresql://username:password@host:port/postgres
# 商业版地址
PRO_URL=
# 首页路径
HOME_URL=/
# Loki Log Path

View File

@@ -1,6 +1,6 @@
{
"systemEnv": {
"pluginBaseUrl": "",
"openapiPrefix": "fastgpt",
"vectorMaxProcess": 15,
"qaMaxProcess": 15,
"pgHNSWEfSearch": 100

View File

@@ -95,7 +95,7 @@ const ResponseTags = ({
<ChatBoxDivider icon="core/chat/quoteFill" text={t('chat.Quote')} />
<Flex alignItems={'center'} flexWrap={'wrap'} gap={2}>
{sourceList.map((item) => (
<MyTooltip key={item.sourceName} label={t('core.chat.quote.Read Quote')}>
<MyTooltip key={item.collectionId} label={t('core.chat.quote.Read Quote')}>
<Flex
alignItems={'center'}
fontSize={'sm'}

View File

@@ -24,6 +24,7 @@ import { MongoPlugin } from '@fastgpt/service/core/plugin/schema';
import { POST } from '@fastgpt/service/common/api/plusRequest';
import { authCert } from '@fastgpt/service/support/permission/auth/common';
import { getGFSCollection } from '@fastgpt/service/common/file/gridfs/controller';
import { FastGPTProUrl } from '@fastgpt/service/common/system/constants';
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
try {
@@ -36,7 +37,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
await initDatasetAndApp();
await initCollectionFileTeam(limit);
if (global.systemEnv.pluginBaseUrl) {
if (FastGPTProUrl) {
POST('/admin/init46');
}

View File

@@ -14,6 +14,7 @@ import { connectToDatabase } from '@/service/mongo';
import { PluginTemplateType } from '@fastgpt/global/core/plugin/type';
import { readConfigData } from '@/service/common/system';
import { exit } from 'process';
import { FastGPTProUrl } from '@fastgpt/service/common/system/constants';
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
await getInitConfig();
@@ -105,10 +106,13 @@ export async function initSystemConfig() {
const config: FastGPTConfigFileType = {
feConfigs: {
...defaultFeConfigs,
...(fileRes.feConfigs || {}),
...(dbConfig.feConfigs || {})
...(dbConfig.feConfigs || {}),
isPlus: !!FastGPTProUrl
},
systemEnv: {
...fileRes.systemEnv,
...(dbConfig.systemEnv || {})
},
systemEnv: fileRes.systemEnv,
chatModels: dbConfig.chatModels || fileRes.chatModels || [],
qaModels: dbConfig.qaModels || fileRes.qaModels || [],
cqModels: dbConfig.cqModels || fileRes.cqModels || [],
@@ -121,10 +125,7 @@ export async function initSystemConfig() {
};
// set config
global.feConfigs = {
isPlus: !!config.systemEnv?.pluginBaseUrl,
...config.feConfigs
};
global.feConfigs = config.feConfigs;
global.systemEnv = config.systemEnv;
global.chatModels = config.chatModels;

View File

@@ -12,8 +12,6 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse<
console.log(`refresh config`);
console.log({
feConfigs: global.feConfigs,
systemEnv: global.systemEnv,
chatModels: global.chatModels,
qaModels: global.qaModels,
cqModels: global.cqModels,
@@ -22,7 +20,9 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse<
vectorModels: global.vectorModels,
reRankModels: global.reRankModels,
audioSpeechModels: global.audioSpeechModels,
whisperModel: global.whisperModel
whisperModel: global.whisperModel,
feConfigs: global.feConfigs,
systemEnv: global.systemEnv
});
} catch (error) {
console.log(error);

View File

@@ -96,32 +96,31 @@ export async function pushDataToDatasetCollection({
repeat: [],
error: []
};
await Promise.all(
data.map(async (item) => {
if (!item.q) {
filterResult.error.push(item);
return;
}
const text = item.q + item.a;
data.forEach((item) => {
if (!item.q) {
filterResult.error.push(item);
return;
}
// count q token
const token = countPromptTokens(item.q);
const text = item.q + item.a;
if (token > maxToken) {
filterResult.overToken.push(item);
return;
}
// count q token
const token = countPromptTokens(item.q);
if (set.has(text)) {
console.log('repeat', item);
filterResult.repeat.push(item);
} else {
filterResult.success.push(item);
set.add(text);
}
})
);
if (token > maxToken) {
filterResult.overToken.push(item);
return;
}
if (set.has(text)) {
console.log('repeat', item);
filterResult.repeat.push(item);
} else {
filterResult.success.push(item);
set.add(text);
}
});
// 插入记录
const insertRes = await MongoDatasetTraining.insertMany(

View File

@@ -8,6 +8,7 @@ import { FlowModuleTemplateType } from '@fastgpt/global/core/module/type';
import { ModuleTemplateTypeEnum } from '@fastgpt/global/core/module/constants';
import { GET } from '@fastgpt/service/common/api/plusRequest';
import type { PluginTemplateType } from '@fastgpt/global/core/plugin/type.d';
import { FastGPTProUrl } from '@fastgpt/service/common/system/constants';
export default async function handler(req: NextApiRequest, res: NextApiResponse<any>) {
try {
@@ -16,7 +17,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse<
const [userPlugins, plusPlugins] = await Promise.all([
MongoPlugin.find({ teamId }).lean(),
global.systemEnv?.pluginBaseUrl ? GET<PluginTemplateType[]>('/core/plugin/getTemplates') : []
FastGPTProUrl ? GET<PluginTemplateType[]>('/core/plugin/getTemplates') : []
]);
const data: FlowModuleTemplateType[] = [

View File

@@ -4,10 +4,11 @@ import { request } from '@fastgpt/service/common/api/plusRequest';
import type { Method } from 'axios';
import { setCookie } from '@fastgpt/service/support/permission/controller';
import { getInitConfig } from '../common/system/getInitData';
import { FastGPTProUrl } from '@fastgpt/service/common/system/constants';
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
try {
if (!global.systemEnv?.pluginBaseUrl) {
if (!FastGPTProUrl) {
await getInitConfig();
}

View File

@@ -1,9 +1,10 @@
import { AppSimpleEditConfigTemplateType } from '@fastgpt/global/core/app/type';
import { GET } from '@fastgpt/service/common/api/plusRequest';
import { FastGPTProUrl } from '@fastgpt/service/common/system/constants';
export async function getSimpleTemplatesFromPlus(): Promise<AppSimpleEditConfigTemplateType[]> {
try {
if (!global.systemEnv?.pluginBaseUrl) return [];
if (!FastGPTProUrl) return [];
return GET<AppSimpleEditConfigTemplateType[]>('/core/app/getSimpleTemplates');
} catch (error) {

View File

@@ -1,24 +0,0 @@
import { MongoDatasetData } from '@fastgpt/service/core/dataset/data/schema';
/**
* Same value judgment
*/
export async function hasSameValue({
collectionId,
q,
a = ''
}: {
collectionId: string;
q: string;
a?: string;
}) {
const count = await MongoDatasetData.countDocuments({
q,
a,
collectionId
});
if (count > 0) {
return Promise.reject('已经存在完全一致的数据');
}
}

View File

@@ -140,7 +140,7 @@ ${replaceVariable(Prompt_AgentQA.fixedText, { text })}`;
const qaArr = formatSplitText(answer, text); // 格式化后的QA对
// get vector and insert
await pushDataToDatasetCollection({
const { insertLen } = await pushDataToDatasetCollection({
teamId: data.teamId,
tmbId: data.tmbId,
collectionId: data.collectionId,
@@ -162,7 +162,7 @@ ${replaceVariable(Prompt_AgentQA.fixedText, { text })}`;
});
// add bill
if (qaArr.length > 0) {
if (insertLen > 0) {
pushQABill({
teamId: data.teamId,
tmbId: data.tmbId,

View File

@@ -247,7 +247,7 @@ function filterQuote({
maxTokens: model.quoteMaxToken,
messages: quoteQA.map((item, index) => ({
obj: ChatRoleEnum.System,
value: getValue(item, index)
value: getValue(item, index).trim()
}))
});

View File

@@ -1,7 +1,8 @@
import { GET } from '@fastgpt/service/common/api/plusRequest';
import { FastGPTProUrl } from '@fastgpt/service/common/system/constants';
export const authTeamBalance = async (teamId: string) => {
if (global.systemEnv?.pluginBaseUrl) {
if (FastGPTProUrl) {
return GET('/support/permission/authBalance', { teamId });
}
return true;

View File

@@ -1,7 +1,8 @@
import { POST } from '@fastgpt/service/common/api/plusRequest';
import { SendInformProps } from '@fastgpt/global/support/user/inform/type';
import { FastGPTProUrl } from '@fastgpt/service/common/system/constants';
export function sendOneInform(data: SendInformProps) {
if (!global.systemEnv?.pluginBaseUrl) return;
if (!FastGPTProUrl) return;
return POST('/support/user/inform/create', data);
}

View File

@@ -1,9 +1,10 @@
import { ConcatBillProps, CreateBillProps } from '@fastgpt/global/support/wallet/bill/api';
import { addLog } from '@fastgpt/service/common/system/log';
import { POST } from '@fastgpt/service/common/api/plusRequest';
import { FastGPTProUrl } from '@fastgpt/service/common/system/constants';
export function createBill(data: CreateBillProps) {
if (!global.systemEnv?.pluginBaseUrl) return;
if (!FastGPTProUrl) return;
if (data.total === 0) {
addLog.info('0 Bill', data);
}
@@ -12,7 +13,7 @@ export function createBill(data: CreateBillProps) {
} catch (error) {}
}
export function concatBill(data: ConcatBillProps) {
if (!global.systemEnv?.pluginBaseUrl) return;
if (!FastGPTProUrl) return;
if (data.total === 0) {
addLog.info('0 Bill', data);
}