From c031e6dcc9a2e16abe6e0cd37784fdc0dc38cba4 Mon Sep 17 00:00:00 2001
From: Archer <545436317@qq.com>
Date: Fri, 19 Jan 2024 11:17:28 +0800
Subject: [PATCH] 4.6.7-alpha commit (#743)
Co-authored-by: Archer <545436317@qq.com>
Co-authored-by: heheer <71265218+newfish-cmyk@users.noreply.github.com>
---
docSite/content/docs/commercial/intro.md | 10 +-
.../content/docs/development/configuration.md | 2 +-
.../docs/development/openapi/dataset.md | 1155 ++++++++++++++++-
docSite/content/docs/development/qa.md | 11 +-
.../content/docs/development/upgrading/467.md | 33 +
.../content/docs/use-cases/datasetEngine.md | 4 +-
packages/global/common/file/icon.ts | 10 +-
.../global/common/file/image/constants.ts | 6 +-
packages/global/common/file/image/type.d.ts | 5 +-
packages/global/common/string/textSplitter.ts | 11 +-
.../global/common/system/types/index.d.ts | 2 +
packages/global/core/app/type.d.ts | 2 +-
packages/global/core/app/utils.ts | 2 +-
packages/global/core/chat/type.d.ts | 3 +-
packages/global/core/dataset/api.d.ts | 24 +-
.../dataset/{constant.ts => constants.ts} | 14 +-
packages/global/core/dataset/type.d.ts | 4 +-
packages/global/core/dataset/utils.ts | 22 +-
packages/global/core/module/constants.ts | 11 +
packages/global/core/module/node/constant.ts | 3 +-
.../core/module/template/system/aiChat.ts | 41 +-
.../module/template/system/assignedAnswer.ts | 12 +-
.../template/system/classifyQuestion.ts | 18 +-
.../module/template/system/contextExtract.ts | 6 +-
.../module/template/system/datasetSearch.ts | 22 +-
.../core/module/template/system/http.ts | 4 +-
.../core/module/template/system/runApp.ts | 4 +-
.../core/module/template/system/runPlugin.ts | 2 +-
.../core/module/template/system/userGuide.ts | 10 +-
.../core/module/template/system/userInput.ts | 8 +-
packages/global/core/module/template/tip.ts | 11 +-
packages/global/core/module/utils.ts | 11 +-
packages/global/support/user/api.d.ts | 1 -
packages/global/support/user/type.d.ts | 1 +
packages/global/support/wallet/bill/api.d.ts | 3 +-
packages/global/support/wallet/bill/type.d.ts | 3 +-
.../service/common/file/gridfs/controller.ts | 41 +-
packages/service/common/file/gridfs/schema.ts | 15 +
.../service/common/file/image/controller.ts | 4 +-
packages/service/common/file/image/schema.ts | 2 +
packages/service/common/file/load/pdf.ts | 68 -
packages/service/common/file/load/type.d.ts | 18 -
packages/service/common/file/load/utils.ts | 50 -
packages/service/common/file/load/word.ts | 22 -
packages/service/common/file/multer.ts | 36 +-
packages/service/common/file/utils.ts | 22 -
packages/service/common/string/cheerio.ts | 62 +-
.../common/vectorStore/controller.d.ts | 10 +-
.../service/common/vectorStore/controller.ts | 30 +-
.../service/common/vectorStore/pg/class.ts | 6 +-
.../common/vectorStore/pg/controller.ts | 112 +-
packages/service/common/vectorStore/type.d.ts | 1 -
packages/service/core/ai/embedding/index.ts | 9 +-
packages/service/core/chat/chatItemSchema.ts | 25 +-
packages/service/core/chat/chatSchema.ts | 20 +-
packages/service/core/chat/controller.ts | 9 +-
.../core/dataset/collection/controller.ts | 72 +-
.../service/core/dataset/collection/schema.ts | 20 +-
.../service/core/dataset/collection/utils.ts | 35 +-
packages/service/core/dataset/controller.ts | 66 +-
.../service/core/dataset/data/controller.ts | 85 --
packages/service/core/dataset/data/schema.ts | 20 +-
packages/service/core/dataset/schema.ts | 2 +-
.../service/core/dataset/training/schema.ts | 8 +-
packages/service/package.json | 2 -
.../service/support/permission/auth/app.ts | 4 +-
.../support/permission/auth/dataset.ts | 62 +-
.../support/permission/auth/openapi.ts | 4 +-
.../support/permission/auth/outLink.ts | 4 +-
.../service/support/permission/auth/plugin.ts | 6 +-
.../service/support/permission/auth/user.ts | 6 +-
.../support/permission/limit/dataset.ts | 2 +-
packages/service/support/user/controller.ts | 10 +-
packages/service/support/user/schema.ts | 9 +
.../service/support/user/team/controller.ts | 8 +-
.../service/support/user/team/teamSchema.ts | 6 +-
.../service/support/wallet/bill/controller.ts | 6 +-
.../service/support/wallet/bill/schema.ts | 6 +-
packages/web/common/file/read/html.ts | 2 +-
.../web/components/common/Icon/constants.ts | 34 +-
.../common/Icon/icons/common/closeLight.svg | 5 +-
.../common/Icon/icons/common/errorFill.svg | 6 +
.../common/Icon/icons/common/folderFill.svg | 5 +
.../common/Icon/icons/common/gitInlight.svg | 4 +
.../common/Icon/icons/common/importLight.svg | 7 +-
.../common/Icon/icons/common/linkBlue.svg | 5 +
.../Icon/icons/common/overviewLight.svg | 5 +-
.../Icon/icons/common/questionLight.svg | 2 +-
.../common/Icon/icons/common/saveFill.svg | 4 +
.../common/Icon/icons/common/selectLight.svg | 6 +
.../common/Icon/icons/common/settingLight.svg | 7 +-
.../Icon/icons/common/uploadFileFill.svg | 5 +
.../common/Icon/icons/common/viewLight.svg | 5 +-
.../common/Icon/icons/core/app/logsLight.svg | 16 +-
.../Icon/icons/core/app/questionGuide.svg | 6 +-
.../Icon/icons/core/app/simpleMode/ai.svg | 5 +
.../Icon/icons/core/app/simpleMode/chat.svg | 5 +
.../icons/core/app/simpleMode/dataset.svg | 11 +
.../icons/core/app/simpleMode/template.svg | 11 +
.../Icon/icons/core/app/simpleMode/tts.svg | 5 +
.../icons/core/app/simpleMode/variable.svg | 11 +
.../common/Icon/icons/core/app/tts.svg | 3 -
.../common/Icon/icons/core/chat/chatFill.svg | 4 +-
.../icons/core/dataset/fileCollection.svg | 4 +
.../Icon/icons/core/dataset/folderDataset.svg | 1 -
.../icons/core/dataset/manualCollection.svg | 4 +
.../icons/core/dataset/tableCollection.svg | 11 +
.../Icon/icons/core/modules/flowLight.svg | 4 +
.../web/components/common/Icon/icons/edit.svg | 9 +-
.../components/common/Icon/icons/export.svg | 5 +-
.../common/Icon/icons/file/fill}/csv.svg | 0
.../common/Icon/icons/file/fill}/doc.svg | 0
.../common/Icon/icons/file/fill}/file.svg | 0
.../common/Icon/icons/file/fill/folder.svg | 5 +
.../common/Icon/icons/file/fill}/html.svg | 0
.../common/Icon/icons/file/fill/manual.svg | 5 +
.../common/Icon/icons/file/fill}/markdown.svg | 0
.../common/Icon/icons/file/fill/pdf.svg | 11 +
.../common/Icon/icons/file/fill}/txt.svg | 0
.../common/Icon/icons/file/markdown.svg | 12 +-
.../components/common/Icon/icons/file/pdf.svg | 13 +-
.../components/common/Icon/icons/kbTest.svg | 5 +-
.../common/Icon/icons/modal/edit.svg | 11 +
.../common/Icon/icons/modal/manualDataset.svg | 5 +
.../common/Icon/icons/modal/selectSource.svg | 5 +
.../common/Icon/icons/phoneTabbar/more.svg | 1 -
.../common/Icon/icons/phoneTabbar/tool.svg | 4 +
.../Icon/icons/phoneTabbar/toolFill.svg | 12 +
.../Icon/icons/support/outlink/shareLight.svg | 8 +-
.../icons/support/permission/privateLight.svg | 10 +-
.../web/components/common/MyModal/index.tsx | 92 ++
.../web/components/common/MyTooltip/index.tsx | 31 +
.../web/components/common/Radio/LeftRadio.tsx | 112 ++
.../web/components/common/Tabs/RowTabs.tsx | 54 +
.../common/Textarea/PromptEditor/Editor.tsx | 135 ++
.../Textarea/PromptEditor/index.module.scss | 24 +
.../common/Textarea/PromptEditor/index.tsx | 83 ++
.../PromptEditor/modules/ComfirmVar/index.tsx | 96 ++
.../plugins/OnBlurPlugin/index.tsx | 24 +
.../plugins/VariablePickerPlugin/index.tsx | 143 ++
.../plugins/VariablePlugin/index.tsx | 49 +
.../plugins/VariablePlugin/node.ts | 49 +
.../plugins/VariablePlugin/utils.ts | 223 ++++
.../common/Textarea/PromptEditor/type.d.ts | 5 +
.../common/Textarea/PromptEditor/utils.ts | 275 ++++
packages/web/hooks/useStep.tsx | 98 ++
packages/web/package.json | 6 +-
pnpm-lock.yaml | 395 +++++-
.../data/simpleTemplates/fastgpt-simple.json | 4 +-
projects/app/next.config.js | 2 +-
projects/app/package.json | 2 +-
projects/app/public/docs/versionIntro.md | 21 +-
projects/app/public/imgs/files/collection.svg | 1 -
projects/app/public/imgs/files/folder.svg | 6 +-
projects/app/public/imgs/files/link.svg | 1 -
projects/app/public/imgs/files/manual.svg | 1 -
projects/app/public/imgs/files/mark.svg | 1 -
projects/app/public/imgs/files/pdf.svg | 1 -
projects/app/public/imgs/modal/folder.svg | 1 -
projects/app/public/imgs/module/ai.svg | 12 +-
projects/app/public/imgs/module/templates.png | Bin 2444 -> 0 bytes
projects/app/public/js/iframe.js | 2 +-
projects/app/public/locales/en/common.json | 323 ++++-
projects/app/public/locales/zh/common.json | 249 +++-
.../src/components/ChatBox/FeedbackModal.tsx | 2 +-
.../src/components/ChatBox/ResponseTags.tsx | 3 +-
.../ChatBox/SelectMarkCollection.tsx | 4 +-
.../components/ChatBox/WholeResponseModal.tsx | 3 +-
projects/app/src/components/Layout/navbar.tsx | 4 +-
.../app/src/components/Layout/navbarPhone.tsx | 35 +-
projects/app/src/components/Loading/index.tsx | 1 +
projects/app/src/components/MyMenu/index.tsx | 6 +-
projects/app/src/components/MyModal/index.tsx | 72 +-
projects/app/src/components/Tag/index.tsx | 10 +-
.../src/components/common/MyRadio/index.tsx | 2 +-
.../common/Textarea/MyTextarea/index.tsx | 95 ++
.../common/Textarea/PromptTextarea/index.tsx | 97 --
.../core/dataset/DatasetTypeTag.tsx | 4 +-
.../src/components/core/dataset/QuoteItem.tsx | 4 +-
.../components/core/dataset/RawSourceBox.tsx | 3 +-
.../components/core/dataset/SelectModal.tsx | 2 +-
.../core/module/AIChatSettingsModal.tsx | 94 +-
.../core/module/DatasetParamsModal.tsx | 10 +-
.../core/module/DatasetSelectModal.tsx | 2 +-
.../core/module/Flow/SelectAppModal.tsx | 5 +-
.../Flow/components/modules/ButtonEdge.tsx | 40 +-
.../Flow/components/modules/QGSwitch.tsx | 2 +-
.../Flow/components/modules/TTSSelect.tsx | 4 +-
.../Flow/components/modules/VariableEdit.tsx | 14 +-
.../Flow/components/nodes/NodeCQNode.tsx | 2 +-
.../Flow/components/nodes/NodeUserGuide.tsx | 51 +-
.../components/nodes/abandon/NodeVariable.tsx | 60 -
.../components/render/RenderInput/index.tsx | 81 +-
.../RenderInput/templates/SelectDataset.tsx | 120 +-
.../templates/SelectDatasetParams.tsx | 83 +-
.../render/RenderInput/templates/Textarea.tsx | 55 +-
.../src/components/core/module/Flow/index.tsx | 96 +-
.../src/components/support/apikey/Table.tsx | 38 +-
.../src/components/support/wallet/Price.tsx | 20 +-
.../app/src/global/core/api/datasetReq.d.ts | 4 +-
projects/app/src/global/core/app/constants.ts | 6 +-
projects/app/src/global/core/dataset/api.d.ts | 2 +-
projects/app/src/global/core/prompt/AIChat.ts | 8 +-
projects/app/src/pages/_app.tsx | 2 +-
.../pages/account/components/BillDetail.tsx | 28 +-
.../app/src/pages/account/components/Info.tsx | 4 +-
projects/app/src/pages/api/admin/initv46-2.ts | 184 ---
.../app/src/pages/api/admin/initv46-fix.ts | 173 ---
projects/app/src/pages/api/admin/initv46.ts | 330 -----
projects/app/src/pages/api/admin/initv463.ts | 2 +-
projects/app/src/pages/api/admin/initv467.ts | 106 ++
.../timeTasks/checkUnValidDatasetFiles.ts | 95 --
.../app/src/pages/api/common/file/upload.ts | 30 +-
.../pages/api/common/system/getInitData.ts | 3 +-
.../core/app/form2Modules/fastgpt-simple.ts | 40 +-
.../app/form2Modules/fastgpt-universal.ts | 38 +-
.../app/src/pages/api/core/app/getChatLogs.ts | 19 +-
.../src/pages/api/core/chat/clearHistories.ts | 3 +-
.../app/src/pages/api/core/chat/delHistory.ts | 2 +
.../api/core/chat/feedback/adminUpdate.ts | 2 +
.../api/core/chat/feedback/closeCustom.ts | 13 +-
.../core/chat/feedback/updateUserFeedback.ts | 1 +
.../src/pages/api/core/chat/getHistories.ts | 2 +-
projects/app/src/pages/api/core/chat/init.ts | 3 +-
.../src/pages/api/core/chat/item/delete.ts | 5 +-
.../src/pages/api/core/chat/item/getSpeech.ts | 2 +-
.../src/pages/api/core/chat/outLink/init.ts | 3 +-
.../src/pages/api/core/chat/updateHistory.ts | 2 +-
.../src/pages/api/core/dataset/allDataset.ts | 2 +-
.../core/dataset/collection/create/file.ts | 85 ++
.../collection/{apiCreate => create}/link.ts | 5 +-
.../collection/{apiCreate => create}/text.ts | 12 +-
.../api/core/dataset/collection/delete.ts | 17 +-
.../pages/api/core/dataset/collection/list.ts | 10 +-
.../api/core/dataset/collection/sync/link.ts | 11 +-
.../app/src/pages/api/core/dataset/create.ts | 2 +-
.../src/pages/api/core/dataset/data/delete.ts | 20 +-
.../pages/api/core/dataset/data/insertData.ts | 5 +-
.../src/pages/api/core/dataset/data/list.ts | 10 +-
.../pages/api/core/dataset/data/pushData.ts | 5 +-
.../src/pages/api/core/dataset/data/update.ts | 4 +-
.../app/src/pages/api/core/dataset/delete.ts | 19 +-
.../src/pages/api/core/dataset/exportAll.ts | 11 +-
.../app/src/pages/api/core/dataset/list.ts | 2 +-
.../src/pages/api/core/dataset/searchTest.ts | 5 +-
.../pages/api/plugins/customFeedback/index.ts | 2 +
.../support/user/account/loginByPassword.ts | 11 +-
.../user/team/limit/datasetSizeLimit.ts | 37 +
.../support/wallet/bill/createTrainingBill.ts | 19 +-
.../src/pages/api/v1/audio/transcriptions.ts | 8 +-
.../app/src/pages/api/v1/chat/completions.ts | 7 +-
projects/app/src/pages/api/v1/embeddings.ts | 8 +-
.../app/detail/components/FlowEdit/Header.tsx | 45 +-
.../app/detail/components/FlowEdit/index.tsx | 10 +-
.../pages/app/detail/components/InfoModal.tsx | 31 +-
.../app/detail/components/OutLink/Share.tsx | 46 +-
.../app/detail/components/OutLink/index.tsx | 12 +-
.../detail/components/SimpleEdit/AppCard.tsx | 8 +-
.../components/SimpleEdit/CfrEditModal.tsx | 31 +-
.../detail/components/SimpleEdit/ChatTest.tsx | 2 +-
.../detail/components/SimpleEdit/EditForm.tsx | 118 +-
projects/app/src/pages/app/detail/index.tsx | 38 +-
.../pages/app/list/component/CreateModal.tsx | 27 +-
projects/app/src/pages/chat/index.tsx | 1 -
.../dataset/component/EditFolderModal.tsx | 7 +-
.../detail/components/CollectionCard.tsx | 87 +-
.../dataset/detail/components/DataCard.tsx | 415 +++---
.../detail/components/Import/Chunk.tsx | 166 ---
.../components/Import/CreateFileModal.tsx | 72 -
.../dataset/detail/components/Import/Csv.tsx | 90 --
.../detail/components/Import/FileSelect.tsx | 446 -------
.../detail/components/Import/ImportModal.tsx | 138 --
.../detail/components/Import/Provider.tsx | 629 +++------
.../dataset/detail/components/Import/QA.tsx | 112 --
.../components/Import/UrlFetchModal.tsx | 94 --
.../Import/commonProgress/DataProcess.tsx | 356 +++++
.../Import/commonProgress/PreviewData.tsx | 30 +
.../Import/commonProgress/Upload.tsx | 298 +++++
.../components/Import/components/Preview.tsx | 134 ++
.../Import/components/PreviewRawText.tsx | 28 +
.../Import/diffSource/FileCustomText.tsx | 103 ++
.../components/Import/diffSource/FileLink.tsx | 147 +++
.../Import/diffSource/FileLocal.tsx | 177 +++
.../Import/diffSource/TableLocal.tsx | 168 +++
.../detail/components/Import/index.tsx | 154 +++
.../sourceSelector/FileSourceSelector.tsx | 65 +
.../pages/dataset/detail/components/Info.tsx | 61 +-
.../detail/components/InputDataModal.tsx | 132 +-
.../pages/dataset/detail/components/Test.tsx | 15 +-
.../app/src/pages/dataset/detail/index.tsx | 25 +-
.../dataset/list/component/CreateModal.tsx | 74 +-
.../dataset/list/component/MoveModal.tsx | 2 +-
projects/app/src/pages/dataset/list/index.tsx | 18 +-
.../src/pages/login/components/LoginForm.tsx | 2 +-
projects/app/src/pages/login/index.tsx | 2 +-
.../service/core/dataset/data/controller.ts | 138 +-
.../src/service/core/dataset/data/utils.ts | 7 +-
projects/app/src/service/events/generateQA.ts | 11 +-
.../app/src/service/events/generateVector.ts | 6 +-
.../service/moduleDispatch/dataset/search.ts | 12 +-
.../app/src/service/moduleDispatch/index.ts | 3 +-
.../service/support/permission/auth/chat.ts | 1 +
.../support/permission/auth/dataset.ts | 2 +-
.../src/service/support/wallet/bill/push.ts | 41 +-
.../app/src/service/utils/chat/saveChat.ts | 2 +-
projects/app/src/utils/tools.ts | 10 +-
.../app/src/web/common/file/controller.ts | 2 +-
.../web/common/file/hooks/useSelectFile.tsx | 4 +-
.../app/src/web/common/hooks/useConfirm.tsx | 4 +-
.../app/src/web/common/hooks/useEditTitle.tsx | 16 +-
.../app/src/web/common/system/staticData.ts | 10 +-
projects/app/src/web/core/app/templates.ts | 106 +-
projects/app/src/web/core/app/utils.ts | 2 +-
projects/app/src/web/core/dataset/api.ts | 6 +-
.../core/dataset/components/FileSelector.tsx | 200 +++
.../dataset/components/SelectCollections.tsx | 12 +-
.../app/src/web/core/dataset/constants.ts | 4 +
.../app/src/web/core/dataset/store/dataset.ts | 5 +-
.../src/web/core/dataset/store/searchTest.ts | 2 +-
projects/app/src/web/core/dataset/type.d.ts | 38 +
projects/app/src/web/core/dataset/utils.ts | 52 +-
.../src/web/core/modules/template/system.ts | 14 +-
projects/app/src/web/styles/theme.ts | 44 +-
projects/app/src/web/support/user/team/api.ts | 2 +
324 files changed, 8509 insertions(+), 4757 deletions(-)
create mode 100644 docSite/content/docs/development/upgrading/467.md
rename packages/global/core/dataset/{constant.ts => constants.ts} (91%)
create mode 100644 packages/service/common/file/gridfs/schema.ts
delete mode 100644 packages/service/common/file/load/pdf.ts
delete mode 100644 packages/service/common/file/load/type.d.ts
delete mode 100644 packages/service/common/file/load/utils.ts
delete mode 100644 packages/service/common/file/load/word.ts
create mode 100644 packages/web/components/common/Icon/icons/common/errorFill.svg
create mode 100644 packages/web/components/common/Icon/icons/common/folderFill.svg
create mode 100644 packages/web/components/common/Icon/icons/common/gitInlight.svg
create mode 100644 packages/web/components/common/Icon/icons/common/linkBlue.svg
create mode 100644 packages/web/components/common/Icon/icons/common/saveFill.svg
create mode 100644 packages/web/components/common/Icon/icons/common/selectLight.svg
create mode 100644 packages/web/components/common/Icon/icons/common/uploadFileFill.svg
create mode 100644 packages/web/components/common/Icon/icons/core/app/simpleMode/ai.svg
create mode 100644 packages/web/components/common/Icon/icons/core/app/simpleMode/chat.svg
create mode 100644 packages/web/components/common/Icon/icons/core/app/simpleMode/dataset.svg
create mode 100644 packages/web/components/common/Icon/icons/core/app/simpleMode/template.svg
create mode 100644 packages/web/components/common/Icon/icons/core/app/simpleMode/tts.svg
create mode 100644 packages/web/components/common/Icon/icons/core/app/simpleMode/variable.svg
delete mode 100644 packages/web/components/common/Icon/icons/core/app/tts.svg
create mode 100644 packages/web/components/common/Icon/icons/core/dataset/fileCollection.svg
delete mode 100644 packages/web/components/common/Icon/icons/core/dataset/folderDataset.svg
create mode 100644 packages/web/components/common/Icon/icons/core/dataset/manualCollection.svg
create mode 100644 packages/web/components/common/Icon/icons/core/dataset/tableCollection.svg
create mode 100644 packages/web/components/common/Icon/icons/core/modules/flowLight.svg
rename {projects/app/public/imgs/files => packages/web/components/common/Icon/icons/file/fill}/csv.svg (100%)
rename {projects/app/public/imgs/files => packages/web/components/common/Icon/icons/file/fill}/doc.svg (100%)
rename {projects/app/public/imgs/files => packages/web/components/common/Icon/icons/file/fill}/file.svg (100%)
create mode 100644 packages/web/components/common/Icon/icons/file/fill/folder.svg
rename {projects/app/public/imgs/files => packages/web/components/common/Icon/icons/file/fill}/html.svg (100%)
create mode 100644 packages/web/components/common/Icon/icons/file/fill/manual.svg
rename {projects/app/public/imgs/files => packages/web/components/common/Icon/icons/file/fill}/markdown.svg (100%)
create mode 100644 packages/web/components/common/Icon/icons/file/fill/pdf.svg
rename {projects/app/public/imgs/files => packages/web/components/common/Icon/icons/file/fill}/txt.svg (100%)
create mode 100644 packages/web/components/common/Icon/icons/modal/edit.svg
create mode 100644 packages/web/components/common/Icon/icons/modal/manualDataset.svg
create mode 100644 packages/web/components/common/Icon/icons/modal/selectSource.svg
delete mode 100644 packages/web/components/common/Icon/icons/phoneTabbar/more.svg
create mode 100644 packages/web/components/common/Icon/icons/phoneTabbar/tool.svg
create mode 100644 packages/web/components/common/Icon/icons/phoneTabbar/toolFill.svg
create mode 100644 packages/web/components/common/MyModal/index.tsx
create mode 100644 packages/web/components/common/MyTooltip/index.tsx
create mode 100644 packages/web/components/common/Radio/LeftRadio.tsx
create mode 100644 packages/web/components/common/Tabs/RowTabs.tsx
create mode 100644 packages/web/components/common/Textarea/PromptEditor/Editor.tsx
create mode 100644 packages/web/components/common/Textarea/PromptEditor/index.module.scss
create mode 100644 packages/web/components/common/Textarea/PromptEditor/index.tsx
create mode 100644 packages/web/components/common/Textarea/PromptEditor/modules/ComfirmVar/index.tsx
create mode 100644 packages/web/components/common/Textarea/PromptEditor/plugins/OnBlurPlugin/index.tsx
create mode 100644 packages/web/components/common/Textarea/PromptEditor/plugins/VariablePickerPlugin/index.tsx
create mode 100644 packages/web/components/common/Textarea/PromptEditor/plugins/VariablePlugin/index.tsx
create mode 100644 packages/web/components/common/Textarea/PromptEditor/plugins/VariablePlugin/node.ts
create mode 100644 packages/web/components/common/Textarea/PromptEditor/plugins/VariablePlugin/utils.ts
create mode 100644 packages/web/components/common/Textarea/PromptEditor/type.d.ts
create mode 100644 packages/web/components/common/Textarea/PromptEditor/utils.ts
create mode 100644 packages/web/hooks/useStep.tsx
delete mode 100644 projects/app/public/imgs/files/collection.svg
delete mode 100644 projects/app/public/imgs/files/link.svg
delete mode 100644 projects/app/public/imgs/files/manual.svg
delete mode 100644 projects/app/public/imgs/files/mark.svg
delete mode 100644 projects/app/public/imgs/files/pdf.svg
delete mode 100644 projects/app/public/imgs/modal/folder.svg
delete mode 100644 projects/app/public/imgs/module/templates.png
create mode 100644 projects/app/src/components/common/Textarea/MyTextarea/index.tsx
delete mode 100644 projects/app/src/components/common/Textarea/PromptTextarea/index.tsx
delete mode 100644 projects/app/src/components/core/module/Flow/components/nodes/abandon/NodeVariable.tsx
delete mode 100644 projects/app/src/pages/api/admin/initv46-2.ts
delete mode 100644 projects/app/src/pages/api/admin/initv46-fix.ts
delete mode 100644 projects/app/src/pages/api/admin/initv46.ts
create mode 100644 projects/app/src/pages/api/admin/initv467.ts
delete mode 100644 projects/app/src/pages/api/admin/timeTasks/checkUnValidDatasetFiles.ts
create mode 100644 projects/app/src/pages/api/core/dataset/collection/create/file.ts
rename projects/app/src/pages/api/core/dataset/collection/{apiCreate => create}/link.ts (96%)
rename projects/app/src/pages/api/core/dataset/collection/{apiCreate => create}/text.ts (87%)
create mode 100644 projects/app/src/pages/api/support/user/team/limit/datasetSizeLimit.ts
delete mode 100644 projects/app/src/pages/dataset/detail/components/Import/Chunk.tsx
delete mode 100644 projects/app/src/pages/dataset/detail/components/Import/CreateFileModal.tsx
delete mode 100644 projects/app/src/pages/dataset/detail/components/Import/Csv.tsx
delete mode 100644 projects/app/src/pages/dataset/detail/components/Import/FileSelect.tsx
delete mode 100644 projects/app/src/pages/dataset/detail/components/Import/ImportModal.tsx
delete mode 100644 projects/app/src/pages/dataset/detail/components/Import/QA.tsx
delete mode 100644 projects/app/src/pages/dataset/detail/components/Import/UrlFetchModal.tsx
create mode 100644 projects/app/src/pages/dataset/detail/components/Import/commonProgress/DataProcess.tsx
create mode 100644 projects/app/src/pages/dataset/detail/components/Import/commonProgress/PreviewData.tsx
create mode 100644 projects/app/src/pages/dataset/detail/components/Import/commonProgress/Upload.tsx
create mode 100644 projects/app/src/pages/dataset/detail/components/Import/components/Preview.tsx
create mode 100644 projects/app/src/pages/dataset/detail/components/Import/components/PreviewRawText.tsx
create mode 100644 projects/app/src/pages/dataset/detail/components/Import/diffSource/FileCustomText.tsx
create mode 100644 projects/app/src/pages/dataset/detail/components/Import/diffSource/FileLink.tsx
create mode 100644 projects/app/src/pages/dataset/detail/components/Import/diffSource/FileLocal.tsx
create mode 100644 projects/app/src/pages/dataset/detail/components/Import/diffSource/TableLocal.tsx
create mode 100644 projects/app/src/pages/dataset/detail/components/Import/index.tsx
create mode 100644 projects/app/src/pages/dataset/detail/components/Import/sourceSelector/FileSourceSelector.tsx
create mode 100644 projects/app/src/web/core/dataset/components/FileSelector.tsx
create mode 100644 projects/app/src/web/core/dataset/constants.ts
create mode 100644 projects/app/src/web/core/dataset/type.d.ts
diff --git a/docSite/content/docs/commercial/intro.md b/docSite/content/docs/commercial/intro.md
index 53fc2ed21..cf9733d48 100644
--- a/docSite/content/docs/commercial/intro.md
+++ b/docSite/content/docs/commercial/intro.md
@@ -44,15 +44,19 @@ FastGPT 商业版软件根据不同的部署方式,分为 3 类收费模式。
**特有服务**
{{< table "table-hover table-striped-columns" >}}
-| 部署方式 | 特有服务 | 上线时长 | 价格 |
+| 部署方式 | 特有服务 | 上线时长 | 标品价格 |
| ---- | ---- | ---- | ---- |
| Sealos全托管 | 1. 有效期内免费升级。
2. 免运维服务&数据库。 | 半天 | 3000元起/月(3个月起)
或
30000元起/年 |
| 自有服务器-单机版 | 1. 6个版本的升级服务。 | 14天内 | 60000元/套(不限时长) |
-| 自有服务器-Sealos版 | 1. 6个版本的升级服务。 | 14天内 | 150000元/套(不限时长)|
+| 自有服务器-高可用版 | 1. 6个版本的升级服务。 | 14天内 | 150000元/套(不限时长)|
{{< /table >}}
{{% alert icon="🤖 " context="success" %}}
-6个版本的升级服务不是指只能用 6 个版本,而是指依赖 FastGPT 团队提供的升级服务。大部分时候,建议自行升级,也不麻烦。
+- 6个版本的升级服务不是指只能用 6 个版本,而是指依赖 FastGPT 团队提供的升级服务。大部分时候,建议自行升级,也不麻烦。
+- 全托管版本适合技术人员紧缺的团队,仅需关注业务推动,无需关心服务是否正常运行。
+- 单机版和高可用版可以完全部署在自己服务器中。
+- 单机版适合中小团队对内提供服务,需要自己维护数据库备份等。
+- 高可用版适合对外提供在线服务,包含可视化监控、多副本、负载均衡、数据库自动备份等生产环境的基础设施。
{{% /alert %}}
diff --git a/docSite/content/docs/development/configuration.md b/docSite/content/docs/development/configuration.md
index 054204ff0..d082645d6 100644
--- a/docSite/content/docs/development/configuration.md
+++ b/docSite/content/docs/development/configuration.md
@@ -277,7 +277,7 @@ weight: 708
"maxContext": 1600,
"maxResponse": 4000,
"inputPrice": 0,
- "outputPrice": 0,
+ "outputPrice": 0
}
],
"vectorModels": [ // 向量模型
diff --git a/docSite/content/docs/development/openapi/dataset.md b/docSite/content/docs/development/openapi/dataset.md
index bcad43f57..efa70009c 100644
--- a/docSite/content/docs/development/openapi/dataset.md
+++ b/docSite/content/docs/development/openapi/dataset.md
@@ -51,7 +51,7 @@ curl --location --request POST 'https://api.fastgpt.in/api/core/dataset/data/pus
--header 'Content-Type: application/json' \
--data-raw '{
"collectionId": "64663f451ba1676dbdef0499",
- "mode": "chunk",
+ "trainingMode": "chunk",
"prompt": "可选。qa 拆分引导词,chunk 模式下忽略",
"billId": "可选。如果有这个值,本次的数据会被聚合到一个订单中,这个值可以重复使用。可以参考 [创建训练订单] 获取该值。",
"data": [
@@ -220,3 +220,1156 @@ curl --location --request POST 'https://api.fastgpt.in/api/core/dataset/searchTe
{{< /tab >}}
{{< /tabs >}}
+
+
+# 更多接口
+
+目前未整理,简陋导出:
+
+## POST 知识库搜索测试
+
+POST /core/dataset/searchTest
+
+> Body Parameters
+
+```json
+{
+ "datasetId": "656c2ccff7f114064daa72f6",
+ "text": "导演是谁",
+ "limit": 1500,
+ "searchMode": "embedding",
+ "usingReRank": true,
+ "similarity": 0.5
+}
+```
+
+### Params
+
+|Name|Location|Type|Required|Description|
+|---|---|---|---|---|
+|Authorization|header|string| no |none|
+|body|body|object| no |none|
+|» datasetId|body|string| yes |none|
+|» text|body|string| yes |none|
+|» limit|body|integer| no |none|
+|» searchMode|body|[search mode](#schemasearch%20mode)| yes |none|
+|» usingReRank|body|boolean| no |none|
+|» similarity|body|[similary](#schemasimilary)| no |none|
+
+> Response Examples
+
+> 成功
+
+```json
+{
+ "code": 200,
+ "statusText": "",
+ "message": "",
+ "data": {
+ "list": [
+ {
+ "id": "65962b23f5fac58e46330dfd",
+ "q": "# 快速了解 FastGPT\nFastGPT 的能力与优势\n\nFastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!\n\n🤖\n\nFastGPT 在线使用:[https://fastgpt.in](https://fastgpt.in)\n\n| | |\n| --- | --- |\n|  |  |\n|  |  |\n\n",
+ "a": "",
+ "chunkIndex": 0,
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65962b2089642fd209da3b03",
+ "sourceName": "https://doc.fastgpt.in/docs/intro/",
+ "sourceId": "https://doc.fastgpt.in/docs/intro/",
+ "score": [
+ {
+ "type": "embedding",
+ "value": 0.8036568760871887,
+ "index": 20
+ },
+ {
+ "type": "fullText",
+ "value": 1.168349443855932,
+ "index": 2
+ },
+ {
+ "type": "reRank",
+ "value": 0.9870296135626316,
+ "index": 0
+ },
+ {
+ "type": "rrf",
+ "value": 0.04366449476962486,
+ "index": 0
+ }
+ ]
+ },
+ {
+ "id": "65962b24f5fac58e46330dff",
+ "q": "# 快速了解 FastGPT\n## FastGPT 能力\n### 2. 简单易用的可视化界面\nFastGPT 采用直观的可视化界面设计,为各种应用场景提供了丰富实用的功能。通过简洁易懂的操作步骤,可以轻松完成 AI 客服的创建和训练流程。\n\n\n\n",
+ "a": "",
+ "chunkIndex": 2,
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65962b2089642fd209da3b03",
+ "sourceName": "https://doc.fastgpt.in/docs/intro/",
+ "sourceId": "https://doc.fastgpt.in/docs/intro/",
+ "score": [
+ {
+ "type": "embedding",
+ "value": 0.8152669668197632,
+ "index": 3
+ },
+ {
+ "type": "fullText",
+ "value": 1.0511363636363635,
+ "index": 8
+ },
+ {
+ "type": "reRank",
+ "value": 0.9287972729281414,
+ "index": 14
+ },
+ {
+ "type": "rrf",
+ "value": 0.04265696347031964,
+ "index": 1
+ }
+ ]
+ },
+ {
+ "id": "65962b25f5fac58e46330e00",
+ "q": "# 快速了解 FastGPT\n## FastGPT 能力\n### 3. 自动数据预处理\n提供手动输入、直接分段、LLM 自动处理和 CSV 等多种数据导入途径,其中“直接分段”支持通过 PDF、WORD、Markdown 和 CSV 文档内容作为上下文。FastGPT 会自动对文本数据进行预处理、向量化和 QA 分割,节省手动训练时间,提升效能。\n\n\n\n",
+ "a": "",
+ "chunkIndex": 3,
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65962b2089642fd209da3b03",
+ "sourceName": "https://doc.fastgpt.in/docs/intro/",
+ "sourceId": "https://doc.fastgpt.in/docs/intro/",
+ "score": [
+ {
+ "type": "embedding",
+ "value": 0.8158369064331055,
+ "index": 2
+ },
+ {
+ "type": "fullText",
+ "value": 1.014030612244898,
+ "index": 20
+ },
+ {
+ "type": "reRank",
+ "value": 0.9064876908461501,
+ "index": 17
+ },
+ {
+ "type": "rrf",
+ "value": 0.04045823457588163,
+ "index": 2
+ }
+ ]
+ },
+ {
+ "id": "65a7e1e8fc13bdf20fd46d41",
+ "q": "# 快速了解 FastGPT\n## FastGPT 能力\n### 5. 强大的 API 集成\nFastGPT 对外的 API 接口对齐了 OpenAI 官方接口,可以直接接入现有的 GPT 应用,也可以轻松集成到企业微信、公众号、飞书等平台。\n\n",
+ "a": "",
+ "chunkIndex": 66,
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65a7e1d4fc13bdf20fd46abe",
+ "sourceName": "dataset - 2024-01-04T151625.388.csv",
+ "sourceId": "65a7e1d2fc13bdf20fd46abc",
+ "score": [
+ {
+ "type": "embedding",
+ "value": 0.803692102432251,
+ "index": 18
+ },
+ {
+ "type": "fullText",
+ "value": 1.0511363636363635,
+ "index": 7
+ },
+ {
+ "type": "reRank",
+ "value": 0.9177460552422909,
+ "index": 15
+ },
+ {
+ "type": "rrf",
+ "value": 0.03970501147383226,
+ "index": 3
+ }
+ ]
+ },
+ {
+ "id": "65a7be319d96e21823f69c9b",
+ "q": "FastGPT Flow 的工作流设计方案提供了哪些操作?",
+ "a": "FastGPT Flow 的工作流设计方案提供了数据预处理、各类 AI 应用设置、调试测试及结果反馈等操作。",
+ "chunkIndex": 0,
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65a7be059d96e21823f69af5",
+ "sourceName": "FastGPT软著.pdf",
+ "sourceId": "65a7be059d96e21823f69ae8",
+ "score": [
+ {
+ "type": "embedding",
+ "value": 0.8283981680870056,
+ "index": 0
+ },
+ {
+ "type": "reRank",
+ "value": 0.9620363047907355,
+ "index": 4
+ },
+ {
+ "type": "rrf",
+ "value": 0.03177805800756621,
+ "index": 4
+ }
+ ]
+ },
+ {
+ "id": "65a7be389d96e21823f69d58",
+ "q": "FastGPT Flow 的实验室预约示例中使用了哪些参数?",
+ "a": "FastGPT Flow 的实验室预约示例中使用了姓名、时间和实验室名称等参数。",
+ "chunkIndex": 0,
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65a7be059d96e21823f69af5",
+ "sourceName": "FastGPT软著.pdf",
+ "sourceId": "65a7be059d96e21823f69ae8",
+ "score": [
+ {
+ "type": "embedding",
+ "value": 0.8143455386161804,
+ "index": 9
+ },
+ {
+ "type": "reRank",
+ "value": 0.9806919138043485,
+ "index": 1
+ },
+ {
+ "type": "rrf",
+ "value": 0.0304147465437788,
+ "index": 5
+ }
+ ]
+ },
+ {
+ "id": "65a7be309d96e21823f69c78",
+ "q": "FastGPT Flow 是什么?",
+ "a": "FastGPT Flow 是一款基于大型语言模型的知识库问答系统,通过引入 Flow 可视化工作流编排技术,提供了一个即插即用的解决方案。",
+ "chunkIndex": 0,
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65a7be059d96e21823f69af5",
+ "sourceName": "FastGPT软著.pdf",
+ "sourceId": "65a7be059d96e21823f69ae8",
+ "score": [
+ {
+ "type": "embedding",
+ "value": 0.8115077018737793,
+ "index": 11
+ },
+ {
+ "type": "reRank",
+ "value": 0.9686195704870232,
+ "index": 3
+ },
+ {
+ "type": "rrf",
+ "value": 0.029513888888888888,
+ "index": 6
+ }
+ ]
+ },
+ {
+ "id": "65a7be389d96e21823f69d5e",
+ "q": "FastGPT Flow 的实验室预约示例中的代码实现了哪些功能?",
+ "a": "FastGPT Flow 的实验室预约示例中的代码实现了预约实验室、修改预约、查询预约和取消预约等功能。",
+ "chunkIndex": 0,
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65a7be059d96e21823f69af5",
+ "sourceName": "FastGPT软著.pdf",
+ "sourceId": "65a7be059d96e21823f69ae8",
+ "score": [
+ {
+ "type": "embedding",
+ "value": 0.8166953921318054,
+ "index": 1
+ },
+ {
+ "type": "reRank",
+ "value": 0.8350804533361768,
+ "index": 20
+ },
+ {
+ "type": "rrf",
+ "value": 0.028474711270410194,
+ "index": 8
+ }
+ ]
+ },
+ {
+ "id": "65a7be389d96e21823f69d4f",
+ "q": "FastGPT Flow 的联网搜索示例中使用了哪些参数?",
+ "a": "FastGPT Flow 的联网搜索示例中使用了搜索关键词、Google 搜索的 API 密钥和自定义搜索引擎 ID。",
+ "chunkIndex": 0,
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65a7be059d96e21823f69af5",
+ "sourceName": "FastGPT软著.pdf",
+ "sourceId": "65a7be059d96e21823f69ae8",
+ "score": [
+ {
+ "type": "embedding",
+ "value": 0.8025297522544861,
+ "index": 21
+ },
+ {
+ "type": "reRank",
+ "value": 0.9730876959261983,
+ "index": 2
+ },
+ {
+ "type": "rrf",
+ "value": 0.028068137824235385,
+ "index": 10
+ }
+ ]
+ },
+ {
+ "id": "65a7e1e8fc13bdf20fd46d55",
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65a7e1d4fc13bdf20fd46abe",
+ "sourceName": "dataset - 2024-01-04T151625.388.csv",
+ "sourceId": "65a7e1d2fc13bdf20fd46abc",
+ "q": "# 快速了解 FastGPT\n## FastGPT 特点\n1. **项目开源**\n \n FastGPT 遵循附加条件 Apache License 2.0 开源协议,你可以 [Fork](https://github.com/labring/FastGPT/fork) 之后进行二次开发和发布。FastGPT 社区版将保留核心功能,商业版仅在社区版基础上使用 API 的形式进行扩展,不影响学习使用。\n \n2. **独特的 QA 结构**\n \n 针对客服问答场景设计的 QA 结构,提高在大量数据场景中的问答准确性。\n \n3. **可视化工作流**\n \n 通过 Flow 模块展示了从问题输入到模型输出的完整流程,便于调试和设计复杂流程。\n \n4. **无限扩展**\n \n 基于 API 进行扩展,无需修改 FastGPT 源码,也可快速接入现有的程序中。\n \n5. **便于调试**\n \n 提供搜索测试、引用修改、完整对话预览等多种调试途径。\n \n6. **支持多种模型**\n \n 支持 GPT、Claude、文心一言等多种 LLM 模型,未来也将支持自定义的向量模型。",
+ "a": "",
+ "chunkIndex": 67,
+ "score": [
+ {
+ "type": "fullText",
+ "value": 1.0340073529411764,
+ "index": 12
+ },
+ {
+ "type": "reRank",
+ "value": 0.9542227274192233,
+ "index": 9
+ },
+ {
+ "type": "rrf",
+ "value": 0.027272727272727275,
+ "index": 11
+ }
+ ]
+ },
+ {
+ "id": "65a7be319d96e21823f69c8f",
+ "q": "FastGPT Flow 的工作流设计中,模块之间如何进行组合和组装?",
+ "a": "FastGPT Flow 允许用户在核心工作流模块中进行自由组合和组装,从而衍生出一个新的模块。",
+ "chunkIndex": 0,
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65a7be059d96e21823f69af5",
+ "sourceName": "FastGPT软著.pdf",
+ "sourceId": "65a7be059d96e21823f69ae8",
+ "score": [
+ {
+ "type": "embedding",
+ "value": 0.8098832368850708,
+ "index": 13
+ },
+ {
+ "type": "reRank",
+ "value": 0.9478657435317039,
+ "index": 12
+ },
+ {
+ "type": "rrf",
+ "value": 0.027212143650499815,
+ "index": 12
+ }
+ ]
+ },
+ {
+ "id": "65a7be359d96e21823f69ce0",
+ "q": "FastGPT Flow 的模块的输入和输出如何连接?",
+ "a": "FastGPT Flow 的模块的输入和输出通过连接点进行连接,连接点的颜色代表了不同的数据类型。",
+ "chunkIndex": 0,
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65a7be059d96e21823f69af5",
+ "sourceName": "FastGPT软著.pdf",
+ "sourceId": "65a7be059d96e21823f69ae8",
+ "score": [
+ {
+ "type": "embedding",
+ "value": 0.8060981035232544,
+ "index": 16
+ },
+ {
+ "type": "reRank",
+ "value": 0.9530133603823691,
+ "index": 10
+ },
+ {
+ "type": "rrf",
+ "value": 0.027071520029266508,
+ "index": 13
+ }
+ ]
+ },
+ {
+ "id": "65a7be319d96e21823f69c98",
+ "q": "FastGPT Flow 的工作流设计方案能够满足哪些问答场景?",
+ "a": "FastGPT Flow 的工作流设计方案能够满足基本的 AI 知识库问答需求,并适应各种复杂的问答场景,例如联网搜索、数据库操作、数据实时更新、消息通知等。",
+ "chunkIndex": 0,
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65a7be059d96e21823f69af5",
+ "sourceName": "FastGPT软著.pdf",
+ "sourceId": "65a7be059d96e21823f69ae8",
+ "score": [
+ {
+ "type": "embedding",
+ "value": 0.814436137676239,
+ "index": 8
+ },
+ {
+ "type": "reRank",
+ "value": 0.8814109034236719,
+ "index": 19
+ },
+ {
+ "type": "rrf",
+ "value": 0.026992753623188405,
+ "index": 16
+ }
+ ]
+ },
+ {
+ "id": "65a7e058fc13bdf20fd46577",
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "collectionId": "65a7e01efc13bdf20fd45815",
+ "sourceName": "FastGPT软著.pdf",
+ "sourceId": "65a7e01dfc13bdf20fd457f3",
+ "q": "FastGPT Flow 工作流设计112312 3123213123 232321312 21312 23一、介绍FastGPT 作为一款基于大型语言模型(LLM)的知识库问答系统,旨在为用户提供一个即插即用的解决方案。它集成了数据处理、模型调用等多项功能,通过引入 Flow 可视化工作流编排技术,进一步增强了对复杂问答场景的支持能力。本文将重点介绍 FastGPT Flow工作流的设计方案和应用优势。\nFastGPT Flow 工 作 流 采 用 了 React Flow 框 架 作 为 UI 底 座 , 结 合 自 研 的 FlowController 实现工作流的运行。FastGPT 使用 Flow 模块为用户呈现了一个直观、可视化的界面,从而简化了 AI 应用工作流程的设计和管理方式。React Flow 的应用使得用户能够以图形化的方式组织和编排工作流,这不仅使得工作流的创建过程更为直观,同时也为用户提供了强大且灵活的工作流编辑器。在 FastGPT Flow 工作流设计中,核心工作流模块包括用户引导、问题输入、知识库检索、AI 文本生成、问题分类、结构化内容提取、指定回复、应用调用和 HTTP 扩展,并允许用户在这类模块中进行自由组合和组装,从而衍生出一个新的模块。",
+ "a": "",
+ "chunkIndex": 0,
+ "score": [
+ {
+ "type": "fullText",
+ "value": 1.0229779411764706,
+ "index": 15
+ },
+ {
+ "type": "reRank",
+ "value": 0.9577545043363116,
+ "index": 8
+ },
+ {
+ "type": "rrf",
+ "value": 0.026992753623188405,
+ "index": 17
+ }
+ ]
+ }
+ ],
+ "duration": "2.978s",
+ "searchMode": "mixedRecall",
+ "limit": 1500,
+ "similarity": 0.1,
+ "usingReRank": true,
+ "usingSimilarityFilter": true
+ }
+}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+HTTP Status Code **200**
+
+|Name|Type|Required|Restrictions|Title|description|
+|---|---|---|---|---|---|
+|» code|integer|true|none||none|
+|» statusText|string|true|none||none|
+|» message|string|true|none||none|
+|» data|object|true|none||none|
+|»» list|[object]|true|none||none|
+|»»» id|string|true|none||none|
+|»»» q|string|true|none||none|
+|»»» a|string|true|none||none|
+|»»» chunkIndex|integer|true|none||none|
+|»»» datasetId|string|true|none||none|
+|»»» collectionId|string|true|none||none|
+|»»» sourceName|string|true|none||none|
+|»»» sourceId|string|true|none||none|
+|»»» score|[object]|true|none||none|
+|»»»» type|string|true|none||none|
+|»»»» value|number|true|none||none|
+|»»»» index|integer|true|none||none|
+|»» duration|string|true|none||none|
+|»» searchMode|string|true|none||none|
+|»» limit|integer|true|none||none|
+|»» similarity|number|true|none||none|
+|»» usingReRank|boolean|true|none||none|
+|»» usingSimilarityFilter|boolean|true|none||none|
+
+# openapi/知识库/知识库crud
+
+## GET 获取知识库列表
+
+GET /core/dataset/list
+
+### Params
+
+|Name|Location|Type|Required|Description|
+|---|---|---|---|---|
+|parentId|query|string| no |父级的ID|
+|Authorization|header|string| no |none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+## GET 获取知识库详情
+
+GET /core/dataset/detail
+
+### Params
+
+|Name|Location|Type|Required|Description|
+|---|---|---|---|---|
+|id|query|string| no |知识库id|
+|Authorization|header|string| no |none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+# openapi/知识库/集合crud
+
+## POST 获取知识库集合列表
+
+POST /core/dataset/collection/list
+
+> Body Parameters
+
+```json
+{
+ "pageNum": 1,
+ "pageSize": 10,
+ "datasetId": "6597ca43e26f2a90a1501414",
+ "parentId": null,
+ "searchText": "",
+ "simple": true
+}
+```
+
+### Params
+
+|Name|Location|Type|Required|Description|
+|---|---|---|---|---|
+|Authorization|header|string| no |none|
+|body|body|object| no |none|
+|» pageNum|body|integer| no |none|
+|» pageSize|body|integer| no |none|
+|» datasetId|body|string| yes |none|
+|» parentId|body|null| no |none|
+|» searchText|body|string| no |none|
+|» simple|body|boolean| no |none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+## GET 获取集合详情
+
+GET /core/dataset/collection/detail
+
+### Params
+
+|Name|Location|Type|Required|Description|
+|---|---|---|---|---|
+|id|query|string| no |知识库id|
+|Authorization|header|string| no |none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+## PUT 更新集合
+
+PUT /core/dataset/collection/update
+
+> Body Parameters
+
+```json
+{
+ "id": "6597ce094e10ee661f0891c8",
+ "parentId": null,
+ "name": "222"
+}
+```
+
+### Params
+
+|Name|Location|Type|Required|Title|Description|
+|---|---|---|---|---|---|
+|Authorization|header|string| no ||none|
+|body|body|object| no ||none|
+|» id|body|string| yes ||none|
+|» parentId|body|null| no | 父级的id|none|
+|» name|body|string| no | 名称|none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+## POST 创建空集合(文件夹或者一个空集合)
+
+POST /core/dataset/collection/create
+
+> Body Parameters
+
+```json
+{
+ "datasetId": "6597ca43e26f2a90a1501414",
+ "parentId": null,
+ "name": "集合名",
+ "type": "folder",
+ "metadata": {}
+}
+```
+
+### Params
+
+|Name|Location|Type|Required|Title|Description|
+|---|---|---|---|---|---|
+|Authorization|header|string| no ||none|
+|body|body|object| no ||none|
+|» datasetId|body|string| yes ||none|
+|» parentId|body|null| no ||none|
+|» name|body|string| yes ||none|
+|» type|body|[collection type](#schemacollection%20type)| yes ||none|
+|» metadata|body|object| no ||none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+## POST 创建文本集合
+
+POST /core/dataset/collection/create/text
+
+> Body Parameters
+
+```json
+{
+ "text": "xxxxxxxxxxxxxx",
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "parentId": null,
+ "name": "测试",
+ "trainingType": "qa",
+ "chunkSize": 8000,
+ "chunkSplitter": "",
+ "qaPrompt": "",
+ "metadata": {}
+}
+```
+
+### Params
+
+|Name|Location|Type|Required|Title|Description|
+|---|---|---|---|---|---|
+|Authorization|header|string| no ||none|
+|body|body|object| no ||none|
+|» datasetId|body|string| no ||none|
+|» parentId|body|null| no ||none|
+|» name|body|string| yes ||none|
+|» text|body|string| yes | 原文本|none|
+|» trainingType|body|[training type](#schematraining%20type)| yes ||none|
+|» chunkSize|body|integer| no | 分块大小|none|
+|» chunkSplitter|body|string| no | 自定义最高优先级的分段符号|none|
+|» qaPrompt|body|string| no ||none|
+|» metadata|body|object| no ||none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+## POST 创建网络链接集合
+
+POST /core/dataset/collection/create/link
+
+> Body Parameters
+
+```json
+{
+ "link": "https://doc.fastgpt.in/docs/course/quick-start/",
+ "datasetId": "6593e137231a2be9c5603ba7",
+ "parentId": null,
+ "trainingType": "chunk",
+ "chunkSize": 512,
+ "chunkSplitter": "",
+ "qaPrompt": "",
+ "metadata": {
+ "webPageSelector": ".docs-content"
+ }
+}
+```
+
+### Params
+
+|Name|Location|Type|Required|Title|Description|
+|---|---|---|---|---|---|
+|Authorization|header|string| no ||none|
+|body|body|object| no ||none|
+|» datasetId|body|string| yes ||none|
+|» parentId|body|null| no ||none|
+|» link|body|string| yes ||none|
+|» trainingType|body|[training type](#schematraining%20type)| yes ||none|
+|» chunkSize|body|integer| no ||none|
+|» chunkSplitter|body|string| no ||none|
+|» qaPrompt|body|string| no ||none|
+|» metadata|body|object| no ||none|
+|»» webPageSelector|body|string| no | web选择器|none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+## DELETE 删除一个集合
+
+DELETE /core/dataset/collection/delete
+
+### Params
+
+|Name|Location|Type|Required|Title|Description|
+|---|---|---|---|---|---|
+|id|query|string| no ||知识库id|
+|Authorization|header|string| no ||none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+# openapi/知识库/数据crud
+
+## POST 获取数据列表
+
+POST /core/dataset/data/list
+
+> Body Parameters
+
+```json
+{
+ "pageNum": 1,
+ "pageSize": 10,
+ "collectionId": "65a8d2700d70d3de0bf09186",
+ "searchText": ""
+}
+```
+
+### Params
+
+|Name|Location|Type|Required|Title|Description|
+|---|---|---|---|---|---|
+|Authorization|header|string| no ||none|
+|body|body|object| no ||none|
+|» pageNum|body|integer| yes ||none|
+|» pageSize|body|integer| yes ||none|
+|» searchText|body|string| yes ||none|
+|» collectionId|body|string| yes ||none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+## GET 获取数据详情
+
+GET /core/dataset/data/detail
+
+### Params
+
+|Name|Location|Type|Required|Title|Description|
+|---|---|---|---|---|---|
+|id|query|string| yes ||none|
+|Authorization|header|string| no ||none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+## DELETE 删除一条数据
+
+DELETE /core/dataset/data/delete
+
+### Params
+
+|Name|Location|Type|Required|Title|Description|
+|---|---|---|---|---|---|
+|id|query|string| no ||none|
+|Authorization|header|string| no ||none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+## PUT 更新数据
+
+PUT /core/dataset/data/update
+
+> Body Parameters
+
+```json
+{
+ "id": "6597ce094e10ee661f0891c8",
+ "parentId": null,
+ "name": "222"
+}
+```
+
+### Params
+
+|Name|Location|Type|Required|Title|Description|
+|---|---|---|---|---|---|
+|Authorization|header|string| no ||none|
+|body|body|object| no ||none|
+|» id|body|string| yes ||none|
+|» q|body|string| yes ||none|
+|» a|body|string| no ||none|
+|» indexes|body|[[数据自定义向量](#schema%e6%95%b0%e6%8d%ae%e8%87%aa%e5%ae%9a%e4%b9%89%e5%90%91%e9%87%8f)]| no ||none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+## POST 知识库插入记录(批量插入)
+
+POST /core/dataset/data/pushData
+
+> Body Parameters
+
+```json
+{
+ "collectionId": "string",
+ "data": [
+ {
+ "a": "string",
+ "q": "string",
+ "chunkIndex": 1
+ }
+ ],
+ "trainingMode": "string",
+ "promot": "string",
+ "billId": ""
+}
+```
+
+### Params
+
+|Name|Location|Type|Required|Title|Description|
+|---|---|---|---|---|---|
+|Authorization|header|string| no ||none|
+|body|body|object| no ||none|
+|» collectionId|body|string| yes ||none|
+|» data|body|[object]| yes ||none|
+|»» a|body|string| no ||none|
+|»» q|body|string| no ||none|
+|»» chunkIndex|body|integer| no ||none|
+|» trainingMode|body|[training type](#schematraining%20type)| no ||none|
+|» promot|body|string| no ||none|
+|» billId|body|string| no ||none|
+
+> Response Examples
+
+> 200 Response
+
+```json
+{}
+```
+
+### Responses
+
+|HTTP Status Code |Meaning|Description|Data schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
+
+### Responses Data Schema
+
+# Data Schema
+
+