Commit c02864fa by Archer Committed by GitHub

fix: package plus request (#4492)

* fix plus request (#4476)

* perf: package plus request

* perf: plus request fix

* fix: doc

---------

Co-authored-by: heheer <heheer@sealos.io>
parent e4629a5c
...@@ -63,3 +63,4 @@ curl --location --request POST 'https://{{host}}/api/admin/initv494' \ ...@@ -63,3 +63,4 @@ curl --location --request POST 'https://{{host}}/api/admin/initv494' \
1. 搜索应用/知识库时,无法点击目录进入下一层。 1. 搜索应用/知识库时,无法点击目录进入下一层。
2. 重新训练时,参数未成功初始化。 2. 重新训练时,参数未成功初始化。
3. package/service 部分请求在多 app 中不一致。
\ No newline at end of file
import { FeishuServer, YuqueServer } from '@fastgpt/global/core/dataset/apiDataset';
import {
DeepRagSearchProps,
SearchDatasetDataResponse
} from '../../core/dataset/search/controller';
import { AuthOpenApiLimitProps } from '../../support/openapi/auth';
import { CreateUsageProps, ConcatUsageProps } from '@fastgpt/global/support/wallet/usage/api';
import {
GetProApiDatasetFileContentParams,
GetProApiDatasetFileListParams,
GetProApiDatasetFilePreviewUrlParams
} from '../../core/dataset/apiDataset/proApi';
declare global {
var textCensorHandler: (params: { text: string }) => Promise<{ code: number; message?: string }>;
var deepRagHandler: (data: DeepRagSearchProps) => Promise<SearchDatasetDataResponse>;
var authOpenApiHandler: (data: AuthOpenApiLimitProps) => Promise<any>;
var createUsageHandler: (data: CreateUsageProps) => Promise<void>;
var concatUsageHandler: (data: ConcatUsageProps) => Promise<void>;
// API dataset
var getProApiDatasetFileList: (data: GetProApiDatasetFileListParams) => Promise<APIFileItem[]>;
var getProApiDatasetFileContent: (
data: GetProApiDatasetFileContentParams
) => Promise<ApiFileReadContentResponse>;
var getProApiDatasetFilePreviewUrl: (
data: GetProApiDatasetFilePreviewUrlParams
) => Promise<string>;
}
export const FastGPTProUrl = process.env.PRO_URL ? `${process.env.PRO_URL}/api` : ''; export const FastGPTProUrl = process.env.PRO_URL ? `${process.env.PRO_URL}/api` : '';
export const isFastGPTMainService = !!process.env.PRO_URL;
// @ts-ignore // @ts-ignore
export const isFastGPTProService = () => !!global.systemConfig; export const isFastGPTProService = () => !!global.systemConfig;
import { POST } from './plusRequest';
export const postTextCensor = (data: { text: string }) => export const postTextCensor = (data: { text: string }) =>
POST<{ code?: number; message: string }>('/common/censor/check', data) global
.textCensorHandler(data)
.then((res) => { .then((res) => {
if (res?.code === 5000) { if (res?.code === 5000) {
return Promise.reject(res); return Promise.reject(res);
......
import { ParentIdType } from '@fastgpt/global/common/parentFolder/type';
import { FeishuServer, YuqueServer } from '@fastgpt/global/core/dataset/apiDataset';
export enum ProApiDatasetOperationTypeEnum {
LIST = 'list',
READ = 'read',
CONTENT = 'content'
}
export type ProApiDatasetCommonParams = {
feishuServer?: FeishuServer;
yuqueServer?: YuqueServer;
};
export type GetProApiDatasetFileListParams = ProApiDatasetCommonParams & {
parentId?: ParentIdType;
};
export type GetProApiDatasetFileContentParams = ProApiDatasetCommonParams & {
apiFileId: string;
};
export type GetProApiDatasetFilePreviewUrlParams = ProApiDatasetCommonParams & {
apiFileId: string;
};
...@@ -9,7 +9,6 @@ import { readRawContentByFileBuffer } from '../../common/file/read/utils'; ...@@ -9,7 +9,6 @@ import { readRawContentByFileBuffer } from '../../common/file/read/utils';
import { parseFileExtensionFromUrl } from '@fastgpt/global/common/string/tools'; import { parseFileExtensionFromUrl } from '@fastgpt/global/common/string/tools';
import { APIFileServer, FeishuServer, YuqueServer } from '@fastgpt/global/core/dataset/apiDataset'; import { APIFileServer, FeishuServer, YuqueServer } from '@fastgpt/global/core/dataset/apiDataset';
import { useApiDatasetRequest } from './apiDataset/api'; import { useApiDatasetRequest } from './apiDataset/api';
import { POST } from '../../common/api/plusRequest';
export const readFileRawTextByUrl = async ({ export const readFileRawTextByUrl = async ({
teamId, teamId,
...@@ -168,11 +167,7 @@ export const readApiServerFileContent = async ({ ...@@ -168,11 +167,7 @@ export const readApiServerFileContent = async ({
} }
if (feishuServer || yuqueServer) { if (feishuServer || yuqueServer) {
return POST<{ return global.getProApiDatasetFileContent({
title?: string;
rawText: string;
}>(`/core/dataset/systemApiDataset`, {
type: 'content',
feishuServer, feishuServer,
yuqueServer, yuqueServer,
apiFileId apiFileId
......
...@@ -24,7 +24,6 @@ import { MongoDatasetCollectionTags } from '../tag/schema'; ...@@ -24,7 +24,6 @@ import { MongoDatasetCollectionTags } from '../tag/schema';
import { readFromSecondary } from '../../../common/mongo/utils'; import { readFromSecondary } from '../../../common/mongo/utils';
import { MongoDatasetDataText } from '../data/dataTextSchema'; import { MongoDatasetDataText } from '../data/dataTextSchema';
import { ChatItemType } from '@fastgpt/global/core/chat/type'; import { ChatItemType } from '@fastgpt/global/core/chat/type';
import { POST } from '../../../common/api/plusRequest';
import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants'; import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants';
import { datasetSearchQueryExtension } from './utils'; import { datasetSearchQueryExtension } from './utils';
import type { RerankModelItemType } from '@fastgpt/global/core/ai/model.d'; import type { RerankModelItemType } from '@fastgpt/global/core/ai/model.d';
...@@ -850,5 +849,4 @@ export type DeepRagSearchProps = SearchDatasetDataProps & { ...@@ -850,5 +849,4 @@ export type DeepRagSearchProps = SearchDatasetDataProps & {
[NodeInputKeyEnum.datasetDeepSearchMaxTimes]?: number; [NodeInputKeyEnum.datasetDeepSearchMaxTimes]?: number;
[NodeInputKeyEnum.datasetDeepSearchBg]?: string; [NodeInputKeyEnum.datasetDeepSearchBg]?: string;
}; };
export const deepRagSearch = (data: DeepRagSearchProps) => export const deepRagSearch = (data: DeepRagSearchProps) => global.deepRagHandler(data);
POST<SearchDatasetDataResponse>('/core/dataset/deepRag', data);
...@@ -29,9 +29,9 @@ import { InteractiveNodeResponseType } from '@fastgpt/global/core/workflow/templ ...@@ -29,9 +29,9 @@ import { InteractiveNodeResponseType } from '@fastgpt/global/core/workflow/templ
import { getFileContentFromLinks, getHistoryFileLinks } from '../../tools/readFiles'; import { getFileContentFromLinks, getHistoryFileLinks } from '../../tools/readFiles';
import { parseUrlToFileType } from '@fastgpt/global/common/file/tools'; import { parseUrlToFileType } from '@fastgpt/global/common/file/tools';
import { FlowNodeTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; import { FlowNodeTypeEnum } from '@fastgpt/global/core/workflow/node/constant';
import { postTextCensor } from '../../../../../common/api/requestPlusApi';
import { ModelTypeEnum } from '@fastgpt/global/core/ai/model'; import { ModelTypeEnum } from '@fastgpt/global/core/ai/model';
import { getDocumentQuotePrompt } from '@fastgpt/global/core/ai/prompt/AIChat'; import { getDocumentQuotePrompt } from '@fastgpt/global/core/ai/prompt/AIChat';
import { postTextCensor } from '../../../../chat/postTextCensor';
type Response = DispatchNodeResultType<{ type Response = DispatchNodeResultType<{
[NodeOutputKeyEnum.answerText]: string; [NodeOutputKeyEnum.answerText]: string;
......
...@@ -13,7 +13,6 @@ import type { ...@@ -13,7 +13,6 @@ import type {
} from '@fastgpt/global/core/ai/type.d'; } from '@fastgpt/global/core/ai/type.d';
import { formatModelChars2Points } from '../../../../support/wallet/usage/utils'; import { formatModelChars2Points } from '../../../../support/wallet/usage/utils';
import type { LLMModelItemType } from '@fastgpt/global/core/ai/model.d'; import type { LLMModelItemType } from '@fastgpt/global/core/ai/model.d';
import { postTextCensor } from '../../../../common/api/requestPlusApi';
import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants';
import type { import type {
ChatDispatchProps, ChatDispatchProps,
...@@ -51,6 +50,7 @@ import { getFileContentFromLinks, getHistoryFileLinks } from '../tools/readFiles ...@@ -51,6 +50,7 @@ import { getFileContentFromLinks, getHistoryFileLinks } from '../tools/readFiles
import { parseUrlToFileType } from '@fastgpt/global/common/file/tools'; import { parseUrlToFileType } from '@fastgpt/global/common/file/tools';
import { i18nT } from '../../../../../web/i18n/utils'; import { i18nT } from '../../../../../web/i18n/utils';
import { ModelTypeEnum } from '@fastgpt/global/core/ai/model'; import { ModelTypeEnum } from '@fastgpt/global/core/ai/model';
import { postTextCensor } from '../../../chat/postTextCensor';
export type ChatProps = ModuleDispatchProps< export type ChatProps = ModuleDispatchProps<
AIChatNodeProps & { AIChatNodeProps & {
......
import { ERROR_ENUM } from '@fastgpt/global/common/error/errorCode'; import { ERROR_ENUM } from '@fastgpt/global/common/error/errorCode';
import { updateApiKeyUsedTime } from './tools'; import { updateApiKeyUsedTime } from './tools';
import { MongoOpenApi } from './schema'; import { MongoOpenApi } from './schema';
import { POST } from '../../common/api/plusRequest';
import type { OpenApiSchema } from '@fastgpt/global/support/openapi/type'; import type { OpenApiSchema } from '@fastgpt/global/support/openapi/type';
export type AuthOpenApiLimitProps = { openApi: OpenApiSchema }; export type AuthOpenApiLimitProps = { openApi: OpenApiSchema };
...@@ -17,11 +16,10 @@ export async function authOpenApiKey({ apikey }: { apikey: string }) { ...@@ -17,11 +16,10 @@ export async function authOpenApiKey({ apikey }: { apikey: string }) {
} }
// auth limit // auth limit
// @ts-ignore
if (global.feConfigs?.isPlus) { if (global.feConfigs?.isPlus) {
await POST('/support/openapi/authLimit', { await global.authOpenApiHandler({
openApi openApi
} as AuthOpenApiLimitProps); });
} }
updateApiKeyUsedTime(openApi._id); updateApiKeyUsedTime(openApi._id);
......
import { UsageSourceEnum } from '@fastgpt/global/support/wallet/usage/constants'; import { UsageSourceEnum } from '@fastgpt/global/support/wallet/usage/constants';
import { MongoUsage } from './schema'; import { MongoUsage } from './schema';
import { ClientSession, Types } from '../../../common/mongo'; import { ClientSession } from '../../../common/mongo';
import { addLog } from '../../../common/system/log'; import { addLog } from '../../../common/system/log';
import { ChatNodeUsageType } from '@fastgpt/global/support/wallet/bill/type'; import { ChatNodeUsageType } from '@fastgpt/global/support/wallet/bill/type';
import { ConcatUsageProps, CreateUsageProps } from '@fastgpt/global/support/wallet/usage/api'; import { ConcatUsageProps, CreateUsageProps } from '@fastgpt/global/support/wallet/usage/api';
import { i18nT } from '../../../../web/i18n/utils'; import { i18nT } from '../../../../web/i18n/utils';
import { pushConcatBillTask, pushReduceTeamAiPointsTask } from './utils';
import { POST } from '../../../common/api/plusRequest';
import { isFastGPTMainService } from '../../../common/system/constants';
export async function createUsage(data: CreateUsageProps) { export async function createUsage(data: CreateUsageProps) {
try { try {
// In FastGPT server await global.createUsageHandler(data);
if (isFastGPTMainService) {
await POST('/support/wallet/usage/createUsage', data);
} else if (global.reduceAiPointsQueue) {
// In FastGPT pro server
await MongoUsage.create(data);
pushReduceTeamAiPointsTask({ teamId: data.teamId, totalPoints: data.totalPoints });
if (data.totalPoints === 0) {
addLog.info('0 totalPoints', data);
}
}
} catch (error) { } catch (error) {
addLog.error('createUsage error', error); addLog.error('createUsage error', error);
} }
} }
export async function concatUsage(data: ConcatUsageProps) { export async function concatUsage(data: ConcatUsageProps) {
try { try {
// In FastGPT server await global.concatUsageHandler(data);
if (isFastGPTMainService) {
await POST('/support/wallet/usage/concatUsage', data);
} else if (global.reduceAiPointsQueue) {
const {
teamId,
billId,
totalPoints = 0,
listIndex,
inputTokens = 0,
outputTokens = 0
} = data;
// billId is required and valid
if (!billId || !Types.ObjectId.isValid(billId)) return;
// In FastGPT pro server
pushConcatBillTask([
{
billId,
listIndex,
inputTokens,
outputTokens,
totalPoints
}
]);
pushReduceTeamAiPointsTask({ teamId, totalPoints });
if (data.totalPoints === 0) {
addLog.info('0 totalPoints', data);
}
}
} catch (error) { } catch (error) {
addLog.error('concatUsage error', error); addLog.error('concatUsage error', error);
} }
......
import { findAIModel } from '../../../core/ai/model'; import { findAIModel } from '../../../core/ai/model';
import { ModelTypeEnum } from '@fastgpt/global/core/ai/model'; import { ModelTypeEnum } from '@fastgpt/global/core/ai/model';
import { ConcatBillQueueItemType } from './type';
export const formatModelChars2Points = ({ export const formatModelChars2Points = ({
model, model,
...@@ -35,20 +34,3 @@ export const formatModelChars2Points = ({ ...@@ -35,20 +34,3 @@ export const formatModelChars2Points = ({
totalPoints totalPoints
}; };
}; };
export const pushReduceTeamAiPointsTask = ({
teamId,
totalPoints
}: {
teamId: string;
totalPoints: number;
}) => {
global.reduceAiPointsQueue.push({
teamId: String(teamId),
totalPoints
});
};
export const pushConcatBillTask = (data: ConcatBillQueueItemType[]) => {
global.concatBillQueue.push(...data);
};
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
"permission.des.read": "View knowledge base content", "permission.des.read": "View knowledge base content",
"permission.des.write": "Ability to add and change knowledge base content", "permission.des.write": "Ability to add and change knowledge base content",
"preview_chunk": "Preview chunks", "preview_chunk": "Preview chunks",
"preview_chunk_empty": "Unable to read the contents of the file", "preview_chunk_empty": "File content is empty",
"preview_chunk_intro": "A total of {{total}} blocks, up to 10", "preview_chunk_intro": "A total of {{total}} blocks, up to 10",
"preview_chunk_not_selected": "Click on the file on the left to preview", "preview_chunk_not_selected": "Click on the file on the left to preview",
"process.Auto_Index": "Automatic index generation", "process.Auto_Index": "Automatic index generation",
......
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
"permission.des.read": "可查看知识库内容", "permission.des.read": "可查看知识库内容",
"permission.des.write": "可增加和变更知识库内容", "permission.des.write": "可增加和变更知识库内容",
"preview_chunk": "分块预览", "preview_chunk": "分块预览",
"preview_chunk_empty": "无法读取该文件内容", "preview_chunk_empty": "文件内容为空",
"preview_chunk_intro": "共 {{total}} 个分块,最多展示 10 个", "preview_chunk_intro": "共 {{total}} 个分块,最多展示 10 个",
"preview_chunk_not_selected": "点击左侧文件后进行预览", "preview_chunk_not_selected": "点击左侧文件后进行预览",
"process.Auto_Index": "自动索引生成", "process.Auto_Index": "自动索引生成",
......
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
"permission.des.read": "可檢視資料集內容", "permission.des.read": "可檢視資料集內容",
"permission.des.write": "可新增和變更資料集內容", "permission.des.write": "可新增和變更資料集內容",
"preview_chunk": "分塊預覽", "preview_chunk": "分塊預覽",
"preview_chunk_empty": "無法讀取該文件內容", "preview_chunk_empty": "文件內容為空",
"preview_chunk_intro": "共 {{total}} 個分塊,最多展示 10 個", "preview_chunk_intro": "共 {{total}} 個分塊,最多展示 10 個",
"preview_chunk_not_selected": "點擊左側文件後進行預覽", "preview_chunk_not_selected": "點擊左側文件後進行預覽",
"process.Auto_Index": "自動索引生成", "process.Auto_Index": "自動索引生成",
......
import { getFeishuAndYuqueDatasetFileList } from '@/service/core/dataset/apiDataset/controller';
import { NextAPI } from '@/service/middleware/entry'; import { NextAPI } from '@/service/middleware/entry';
import { DatasetErrEnum } from '@fastgpt/global/common/error/code/dataset'; import { DatasetErrEnum } from '@fastgpt/global/common/error/code/dataset';
import { ParentIdType } from '@fastgpt/global/common/parentFolder/type'; import { ParentIdType } from '@fastgpt/global/common/parentFolder/type';
import { APIFileItem } from '@fastgpt/global/core/dataset/apiDataset';
import { ReadPermissionVal } from '@fastgpt/global/support/permission/constant'; import { ReadPermissionVal } from '@fastgpt/global/support/permission/constant';
import { useApiDatasetRequest } from '@fastgpt/service/core/dataset/apiDataset/api'; import { useApiDatasetRequest } from '@fastgpt/service/core/dataset/apiDataset/api';
import { authDataset } from '@fastgpt/service/support/permission/dataset/auth'; import { authDataset } from '@fastgpt/service/support/permission/dataset/auth';
...@@ -14,8 +12,6 @@ export type GetApiDatasetFileListProps = { ...@@ -14,8 +12,6 @@ export type GetApiDatasetFileListProps = {
datasetId: string; datasetId: string;
}; };
export type GetApiDatasetFileListResponse = APIFileItem[];
async function handler(req: NextApiRequest) { async function handler(req: NextApiRequest) {
let { searchKey = '', parentId = null, datasetId } = req.body; let { searchKey = '', parentId = null, datasetId } = req.body;
...@@ -35,7 +31,7 @@ async function handler(req: NextApiRequest) { ...@@ -35,7 +31,7 @@ async function handler(req: NextApiRequest) {
return useApiDatasetRequest({ apiServer }).listFiles({ searchKey, parentId }); return useApiDatasetRequest({ apiServer }).listFiles({ searchKey, parentId });
} }
if (feishuServer || yuqueServer) { if (feishuServer || yuqueServer) {
return getFeishuAndYuqueDatasetFileList({ return global.getProApiDatasetFileList({
feishuServer, feishuServer,
yuqueServer, yuqueServer,
parentId parentId
......
...@@ -10,7 +10,6 @@ import { DatasetErrEnum } from '@fastgpt/global/common/error/code/dataset'; ...@@ -10,7 +10,6 @@ import { DatasetErrEnum } from '@fastgpt/global/common/error/code/dataset';
import { authChatCrud, authCollectionInChat } from '@/service/support/permission/auth/chat'; import { authChatCrud, authCollectionInChat } from '@/service/support/permission/auth/chat';
import { getCollectionWithDataset } from '@fastgpt/service/core/dataset/controller'; import { getCollectionWithDataset } from '@fastgpt/service/core/dataset/controller';
import { useApiDatasetRequest } from '@fastgpt/service/core/dataset/apiDataset/api'; import { useApiDatasetRequest } from '@fastgpt/service/core/dataset/apiDataset/api';
import { POST } from '@fastgpt/service/common/api/plusRequest';
export type readCollectionSourceQuery = {}; export type readCollectionSourceQuery = {};
...@@ -106,8 +105,7 @@ async function handler( ...@@ -106,8 +105,7 @@ async function handler(
} }
if (feishuServer || yuqueServer) { if (feishuServer || yuqueServer) {
return POST<string>(`/core/dataset/systemApiDataset`, { return global.getProApiDatasetFilePreviewUrl({
type: 'read',
apiFileId: collection.apiFileId, apiFileId: collection.apiFileId,
feishuServer, feishuServer,
yuqueServer yuqueServer
......
...@@ -11,6 +11,18 @@ import { defaultGroup, defaultTemplateTypes } from '@fastgpt/web/core/workflow/c ...@@ -11,6 +11,18 @@ import { defaultGroup, defaultTemplateTypes } from '@fastgpt/web/core/workflow/c
import { MongoPluginGroups } from '@fastgpt/service/core/app/plugin/pluginGroupSchema'; import { MongoPluginGroups } from '@fastgpt/service/core/app/plugin/pluginGroupSchema';
import { MongoTemplateTypes } from '@fastgpt/service/core/app/templates/templateTypeSchema'; import { MongoTemplateTypes } from '@fastgpt/service/core/app/templates/templateTypeSchema';
import { loadSystemModels } from '@fastgpt/service/core/ai/config/utils'; import { loadSystemModels } from '@fastgpt/service/core/ai/config/utils';
import { POST } from '@fastgpt/service/common/api/plusRequest';
import {
DeepRagSearchProps,
SearchDatasetDataResponse
} from '@fastgpt/service/core/dataset/search/controller';
import { AuthOpenApiLimitProps } from '@fastgpt/service/support/openapi/auth';
import { ConcatUsageProps, CreateUsageProps } from '@fastgpt/global/support/wallet/usage/api';
import {
getProApiDatasetFileContentRequest,
getProApiDatasetFileListRequest,
getProApiDatasetFilePreviewUrlRequest
} from '@/service/core/dataset/apiDataset/controller';
export const readConfigData = async (name: string) => { export const readConfigData = async (name: string) => {
const splitName = name.split('.'); const splitName = name.split('.');
...@@ -36,12 +48,37 @@ export const readConfigData = async (name: string) => { ...@@ -36,12 +48,37 @@ export const readConfigData = async (name: string) => {
/* Init global variables */ /* Init global variables */
export function initGlobalVariables() { export function initGlobalVariables() {
if (global.communityPlugins) return; function initPlusRequest() {
global.textCensorHandler = function textCensorHandler({ text }: { text: string }) {
return POST<{ code: number; message?: string }>('/common/censor/check', { text });
};
global.deepRagHandler = function deepRagHandler(data: DeepRagSearchProps) {
return POST<SearchDatasetDataResponse>('/core/dataset/deepRag', data);
};
global.authOpenApiHandler = function authOpenApiHandler(data: AuthOpenApiLimitProps) {
return POST<AuthOpenApiLimitProps>('/support/openapi/authLimit', data);
};
global.createUsageHandler = function createUsageHandler(data: CreateUsageProps) {
return POST('/support/wallet/usage/createUsage', data);
};
global.concatUsageHandler = function concatUsageHandler(data: ConcatUsageProps) {
return POST('/support/wallet/usage/concatUsage', data);
};
global.getProApiDatasetFileList = getProApiDatasetFileListRequest;
global.getProApiDatasetFileContent = getProApiDatasetFileContentRequest;
global.getProApiDatasetFilePreviewUrl = getProApiDatasetFilePreviewUrlRequest;
}
global.communityPlugins = []; global.communityPlugins = [];
global.qaQueueLen = global.qaQueueLen ?? 0; global.qaQueueLen = global.qaQueueLen ?? 0;
global.vectorQueueLen = global.vectorQueueLen ?? 0; global.vectorQueueLen = global.vectorQueueLen ?? 0;
initHttpAgent(); initHttpAgent();
initPlusRequest();
} }
/* Init system data(Need to connected db). It only needs to run once */ /* Init system data(Need to connected db). It only needs to run once */
......
import { GetApiDatasetFileListResponse } from '@/pages/api/core/dataset/apiDataset/list'; import { APIFileItem, ApiFileReadContentResponse } from '@fastgpt/global/core/dataset/apiDataset';
import { FeishuServer, YuqueServer } from '@fastgpt/global/core/dataset/apiDataset';
import { POST } from '@fastgpt/service/common/api/plusRequest'; import { POST } from '@fastgpt/service/common/api/plusRequest';
import {
GetProApiDatasetFileContentParams,
GetProApiDatasetFileListParams,
GetProApiDatasetFilePreviewUrlParams,
ProApiDatasetOperationTypeEnum
} from '@fastgpt/service/core/dataset/apiDataset/proApi';
export const getFeishuAndYuqueDatasetFileList = async (data: { export const getProApiDatasetFileListRequest = async (data: GetProApiDatasetFileListParams) => {
feishuServer?: FeishuServer; const res = await POST<APIFileItem[]>('/core/dataset/systemApiDataset', {
yuqueServer?: YuqueServer; type: ProApiDatasetOperationTypeEnum.LIST,
parentId?: string; ...data
}) => { });
const res = await POST<GetApiDatasetFileListResponse>('/core/dataset/systemApiDataset', { return res;
type: 'list', };
export const getProApiDatasetFileContentRequest = async (
data: GetProApiDatasetFileContentParams
) => {
const res = await POST<ApiFileReadContentResponse>('/core/dataset/systemApiDataset', {
type: ProApiDatasetOperationTypeEnum.CONTENT,
...data
});
return res;
};
export const getProApiDatasetFilePreviewUrlRequest = async (
data: GetProApiDatasetFilePreviewUrlParams
) => {
const res = await POST<string>('/core/dataset/systemApiDataset', {
type: ProApiDatasetOperationTypeEnum.READ,
...data ...data
}); });
return res; return res;
......
...@@ -52,10 +52,7 @@ import type { ...@@ -52,10 +52,7 @@ import type {
import type { UpdateDatasetDataProps } from '@fastgpt/global/core/dataset/controller'; import type { UpdateDatasetDataProps } from '@fastgpt/global/core/dataset/controller';
import type { DatasetFolderCreateBody } from '@/pages/api/core/dataset/folder/create'; import type { DatasetFolderCreateBody } from '@/pages/api/core/dataset/folder/create';
import type { PaginationProps, PaginationResponse } from '@fastgpt/web/common/fetch/type'; import type { PaginationProps, PaginationResponse } from '@fastgpt/web/common/fetch/type';
import type { import type { GetApiDatasetFileListProps } from '@/pages/api/core/dataset/apiDataset/list';
GetApiDatasetFileListProps,
GetApiDatasetFileListResponse
} from '@/pages/api/core/dataset/apiDataset/list';
import type { import type {
listExistIdQuery, listExistIdQuery,
listExistIdResponse listExistIdResponse
...@@ -74,6 +71,7 @@ import type { ...@@ -74,6 +71,7 @@ import type {
getTrainingErrorBody, getTrainingErrorBody,
getTrainingErrorResponse getTrainingErrorResponse
} from '@/pages/api/core/dataset/training/getTrainingError'; } from '@/pages/api/core/dataset/training/getTrainingError';
import type { APIFileItem } from '@fastgpt/global/core/dataset/apiDataset';
/* ======================== dataset ======================= */ /* ======================== dataset ======================= */
export const getDatasets = (data: GetDatasetListBody) => export const getDatasets = (data: GetDatasetListBody) =>
...@@ -254,6 +252,6 @@ export const getCollectionSource = (data: readCollectionSourceBody) => ...@@ -254,6 +252,6 @@ export const getCollectionSource = (data: readCollectionSourceBody) =>
/* ================== apiDataset ======================== */ /* ================== apiDataset ======================== */
export const getApiDatasetFileList = (data: GetApiDatasetFileListProps) => export const getApiDatasetFileList = (data: GetApiDatasetFileListProps) =>
POST<GetApiDatasetFileListResponse>('/core/dataset/apiDataset/list', data); POST<APIFileItem[]>('/core/dataset/apiDataset/list', data);
export const getApiDatasetFileListExistId = (data: listExistIdQuery) => export const getApiDatasetFileListExistId = (data: listExistIdQuery) =>
GET<listExistIdResponse>('/core/dataset/apiDataset/listExistId', data); GET<listExistIdResponse>('/core/dataset/apiDataset/listExistId', data);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment