知识库接口

FastGPT OpenAPI 知识库接口

如何获取知识库ID(datasetId)如何获取文件集合ID(collection_id)
知识库接口 - 图1知识库接口 - 图2

创建训练订单(4.6.9地址发生改动)

请求示例 响应示例

新例子

  1. curl --location --request POST 'https://api.fastgpt.in/api/support/wallet/usage/createTrainingUsage' \
  2. --header 'Authorization: Bearer {{apikey}}' \
  3. --header 'Content-Type: application/json' \
  4. --data-raw '{
  5. "name": "可选,自定义订单名称,例如:文档训练-fastgpt.docx"
  6. }'

x例子

  1. curl --location --request POST 'https://api.fastgpt.in/api/support/wallet/bill/createTrainingBill' \
  2. --header 'Authorization: Bearer {{apikey}}' \
  3. --header 'Content-Type: application/json' \
  4. --data-raw '{
  5. "name": "可选,自定义订单名称,例如:文档训练-fastgpt.docx"
  6. }'

data 为 billId,可用于添加知识库数据时进行账单聚合。

  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": "65112ab717c32018f4156361"
  6. }

知识库

创建一个知识库

请求示例 参数说明 响应示例

  1. curl --location --request POST 'http://localhost:3000/api/core/dataset/create' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  3. --header 'Content-Type: application/json' \
  4. --data-raw '{
  5. "parentId": null,
  6. "type": "dataset",
  7. "name":"测试",
  8. "intro":"介绍",
  9. "avatar": "",
  10. "vectorModel": "text-embedding-ada-002",
  11. "agentModel": "gpt-3.5-turbo-16k"
  12. }'
  • parentId - 父级ID,用于构建目录结构。通常可以为 null 或者直接不传。
  • type - dataset或者folder,代表普通知识库和文件夹。不传则代表创建普通知识库。
  • name - 知识库名(必填)
  • intro - 介绍(可选)
  • avatar - 头像地址(可选)
  • vectorModel - 向量模型(建议传空,用系统默认的)
  • agentModel - 文本处理模型(建议传空,用系统默认的)
  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": "65abc9bd9d1448617cba5e6c"
  6. }

获取知识库列表

请求示例 参数说明 响应示例

  1. curl --location --request GET 'http://localhost:3000/api/core/dataset/list?parentId=' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  • parentId - 父级ID,不传或为空,代表获取根目录下的知识库
  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": [
  6. {
  7. "_id": "65abc9bd9d1448617cba5e6c",
  8. "parentId": null,
  9. "avatar": "",
  10. "name": "测试",
  11. "intro": "",
  12. "type": "dataset",
  13. "permission": "private",
  14. "canWrite": true,
  15. "isOwner": true,
  16. "vectorModel": {
  17. "model": "text-embedding-ada-002",
  18. "name": "Embedding-2",
  19. "charsPointsPrice": 0,
  20. "defaultToken": 512,
  21. "maxToken": 8000,
  22. "weight": 100
  23. }
  24. }
  25. ]
  26. }

获取知识库详情

请求示例 参数说明 响应示例

  1. curl --location --request GET 'http://localhost:3000/api/core/dataset/detail?id=6593e137231a2be9c5603ba7' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  • id: 知识库的ID
  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": {
  6. "_id": "6593e137231a2be9c5603ba7",
  7. "parentId": null,
  8. "teamId": "65422be6aa44b7da77729ec8",
  9. "tmbId": "65422be6aa44b7da77729ec9",
  10. "type": "dataset",
  11. "status": "active",
  12. "avatar": "/icon/logo.svg",
  13. "name": "FastGPT test",
  14. "vectorModel": {
  15. "model": "text-embedding-ada-002",
  16. "name": "Embedding-2",
  17. "charsPointsPrice": 0,
  18. "defaultToken": 512,
  19. "maxToken": 8000,
  20. "weight": 100
  21. },
  22. "agentModel": {
  23. "model": "gpt-3.5-turbo-16k",
  24. "name": "FastAI-16k",
  25. "maxContext": 16000,
  26. "maxResponse": 16000,
  27. "charsPointsPrice": 0
  28. },
  29. "intro": "",
  30. "permission": "private",
  31. "updateTime": "2024-01-02T10:11:03.084Z",
  32. "canWrite": true,
  33. "isOwner": true
  34. }
  35. }

删除一个知识库

请求示例 参数说明 响应示例

  1. curl --location --request DELETE 'http://localhost:3000/api/core/dataset/delete?id=65abc8729d1448617cba5df6' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  • id: 知识库的ID
  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": null
  6. }

集合

通用创建参数说明

入参

参数说明必填
datasetId知识库ID
parentId:父级ID,不填则默认为根目录
trainingType训练模式。chunk: 按文本长度进行分割;qa: QA拆分;auto: 增强训练
chunkSize预估块大小
chunkSplitter自定义最高优先分割符号
qaPromptqa拆分提示词

出参

  • collectionId - 新建的集合ID
  • insertLen:插入的块数量

创建一个空的集合

请求示例 参数说明 响应示例

  1. curl --location --request POST 'http://localhost:3000/api/core/dataset/collection/create' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  3. --header 'Content-Type: application/json' \
  4. --data-raw '{
  5. "datasetId":"6593e137231a2be9c5603ba7",
  6. "parentId": null,
  7. "name":"测试",
  8. "type":"virtual",
  9. "metadata":{
  10. "test":111
  11. }
  12. }'
  • datasetId: 知识库的ID(必填)
  • parentId: 父级ID,不填则默认为根目录
  • name: 集合名称(必填)
  • type:
    • folder:文件夹
    • virtual:虚拟集合(手动集合)
  • metadata: 元数据(暂时没啥用)

data 为集合的 ID。

  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": "65abcd009d1448617cba5ee1"
  6. }

创建一个纯文本集合

传入一段文字,创建一个集合,会根据传入的文字进行分割。

请求示例 参数说明 响应示例

  1. curl --location --request POST 'http://localhost:3000/api/core/dataset/collection/create/text' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  3. --header 'Content-Type: application/json' \
  4. --data-raw '{
  5. "text":"xxxxxxxx",
  6. "datasetId":"6593e137231a2be9c5603ba7",
  7. "parentId": null,
  8. "name":"测试训练",
  9. "trainingType": "qa",
  10. "chunkSize":8000,
  11. "chunkSplitter":"",
  12. "qaPrompt":"11",
  13. "metadata":{}
  14. }'
  • text: 原文本
  • datasetId: 知识库的ID(必填)
  • parentId: 父级ID,不填则默认为根目录
  • name: 集合名称(必填)
  • metadata: 元数据(暂时没啥用)
  • trainingType:(必填)
    • chunk: 按文本长度进行分割
    • qa: QA拆分
  • chunkSize: 每个 chunk 的长度(可选). chunk模式:100~3000; qa模式: 4000~模型最大token(16k模型通常建议不超过10000)
  • chunkSplitter: 自定义最高优先分割符号(可选)
  • qaPrompt: qa拆分自定义提示词(可选)

data 为集合的 ID。

  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": {
  6. "collectionId": "65abcfab9d1448617cba5f0d",
  7. "results": {
  8. "insertLen": 5, // 分割成多少段
  9. "overToken": [],
  10. "repeat": [],
  11. "error": []
  12. }
  13. }
  14. }

创建一个链接集合

传入一个网络链接,创建一个集合,会先去对应网页抓取内容,再抓取的文字进行分割。

请求示例 参数说明 响应示例

  1. curl --location --request POST 'http://localhost:3000/api/core/dataset/collection/create/link' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  3. --header 'Content-Type: application/json' \
  4. --data-raw '{
  5. "link":"https://doc.fastgpt.in/docs/course/quick-start/",
  6. "datasetId":"6593e137231a2be9c5603ba7",
  7. "parentId": null,
  8. "trainingType": "chunk",
  9. "chunkSize":512,
  10. "chunkSplitter":"",
  11. "qaPrompt":"",
  12. "metadata":{
  13. "webPageSelector":".docs-content"
  14. }
  15. }'
  • link: 网络链接
  • datasetId: 知识库的ID(必填)
  • parentId: 父级ID,不填则默认为根目录
  • metadata.webPageSelector: 网页选择器,用于指定网页中的哪个元素作为文本(可选)
  • trainingType:(必填)
    • chunk: 按文本长度进行分割
    • qa: QA拆分
  • chunkSize: 每个 chunk 的长度(可选). chunk模式:100~3000; qa模式: 4000~模型最大token(16k模型通常建议不超过10000)
  • chunkSplitter: 自定义最高优先分割符号(可选)
  • qaPrompt: qa拆分自定义提示词(可选)

data 为集合的 ID。

  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": {
  6. "collectionId": "65abd0ad9d1448617cba6031"
  7. }
  8. }

创建一个文件集合

传入一个文件,创建一个集合,会读取文件内容进行分割。目前支持:pdf, docx, md, txt, html, csv。

请求示例 参数说明 响应示例

  1. curl --location --request POST 'http://localhost:3000/api/core/dataset/collection/create/localFile' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  3. --form 'file=@"C:\\Users\\user\\Desktop\\fastgpt测试文件\\index.html"' \
  4. --form 'data="{\"datasetId\":\"6593e137231a2be9c5603ba7\",\"parentId\":null,\"trainingType\":\"chunk\",\"chunkSize\":512,\"chunkSplitter\":\"\",\"qaPrompt\":\"\",\"metadata\":{}}"'

需要使用 POST form-data 的格式上传。包含 file 和 data 两个字段。

  • file: 文件
  • data: 知识库相关信息(json序列化后传入)
    • datasetId: 知识库的ID(必填)
    • parentId: 父级ID,不填则默认为根目录
    • trainingType:(必填)
      • chunk: 按文本长度进行分割
      • qa: QA拆分
    • chunkSize: 每个 chunk 的长度(可选). chunk模式:100~3000; qa模式: 4000~模型最大token(16k模型通常建议不超过10000)
    • chunkSplitter: 自定义最高优先分割符号(可选)
    • qaPrompt: qa拆分自定义提示词(可选)

data 为集合的 ID。

  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": {
  6. "collectionId": "65abc044e4704bac793fbd81",
  7. "results": {
  8. "insertLen": 1,
  9. "overToken": [],
  10. "repeat": [],
  11. "error": []
  12. }
  13. }
  14. }

创建一个外部文件库集合(商业版)

请求示例 参数说明 响应示例

  1. curl --location --request POST 'http://localhost:3000/api/proApi/core/dataset/collection/create/externalFileUrl' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  3. --header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
  4. --header 'Content-Type: application/json' \
  5. --data-raw '{
  6. "externalFileUrl":"https://image.xxxxx.com/fastgpt-dev/%E6%91%82.pdf",
  7. "externalFileId":"1111",
  8. "filename":"自定义文件名",
  9. "datasetId":"6642d105a5e9d2b00255b27b",
  10. "parentId": null,
  11. "trainingType": "chunk",
  12. "chunkSize":512,
  13. "chunkSplitter":"",
  14. "qaPrompt":""
  15. }'
参数说明必填
externalFileUrl文件访问链接(可以是临时链接)
externalFileId外部文件ID
filename自定义文件名

data 为集合的 ID。

  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": {
  6. "collectionId": "6646fcedfabd823cdc6de746",
  7. "insertLen": 3
  8. }
  9. }

获取集合列表

请求示例 参数说明 响应示例

  1. curl --location --request POST 'http://localhost:3000/api/core/dataset/collection/list' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  3. --header 'Content-Type: application/json' \
  4. --data-raw '{
  5. "pageNum":1,
  6. "pageSize": 10,
  7. "datasetId":"6593e137231a2be9c5603ba7",
  8. "parentId": null,
  9. "searchText":""
  10. }'
  • pageNum: 页码(选填)
  • pageSize: 每页数量,最大30(选填)
  • datasetId: 知识库的ID(必填)
  • parentId: 父级Id(选填)
  • searchText: 模糊搜索文本(选填)
  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": {
  6. "pageNum": 1,
  7. "pageSize": 10,
  8. "data": [
  9. {
  10. "_id": "6593e137231a2be9c5603ba9",
  11. "parentId": null,
  12. "tmbId": "65422be6aa44b7da77729ec9",
  13. "type": "virtual",
  14. "name": "手动录入",
  15. "updateTime": "2099-01-01T00:00:00.000Z",
  16. "dataAmount": 3,
  17. "trainingAmount": 0,
  18. "canWrite": true
  19. },
  20. {
  21. "_id": "65abd0ad9d1448617cba6031",
  22. "parentId": null,
  23. "tmbId": "65422be6aa44b7da77729ec9",
  24. "type": "link",
  25. "name": "快速上手 | FastGPT",
  26. "rawLink": "https://doc.fastgpt.in/docs/course/quick-start/",
  27. "updateTime": "2024-01-20T13:54:53.031Z",
  28. "dataAmount": 3,
  29. "trainingAmount": 0,
  30. "canWrite": true
  31. }
  32. ],
  33. "total": 93
  34. }
  35. }

获取集合详情

请求示例 参数说明 响应示例

  1. curl --location --request GET 'http://localhost:3000/api/core/dataset/collection/detail?id=65abcfab9d1448617cba5f0d' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  • id: 集合的ID
  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": {
  6. "_id": "65abcfab9d1448617cba5f0d",
  7. "parentId": null,
  8. "teamId": "65422be6aa44b7da77729ec8",
  9. "tmbId": "65422be6aa44b7da77729ec9",
  10. "datasetId": {
  11. "_id": "6593e137231a2be9c5603ba7",
  12. "parentId": null,
  13. "teamId": "65422be6aa44b7da77729ec8",
  14. "tmbId": "65422be6aa44b7da77729ec9",
  15. "type": "dataset",
  16. "status": "active",
  17. "avatar": "/icon/logo.svg",
  18. "name": "FastGPT test",
  19. "vectorModel": "text-embedding-ada-002",
  20. "agentModel": "gpt-3.5-turbo-16k",
  21. "intro": "",
  22. "permission": "private",
  23. "updateTime": "2024-01-02T10:11:03.084Z"
  24. },
  25. "type": "virtual",
  26. "name": "测试训练",
  27. "trainingType": "qa",
  28. "chunkSize": 8000,
  29. "chunkSplitter": "",
  30. "qaPrompt": "11",
  31. "rawTextLength": 40466,
  32. "hashRawText": "47270840614c0cc122b29daaddc09c2a48f0ec6e77093611ab12b69cba7fee12",
  33. "createTime": "2024-01-20T13:50:35.838Z",
  34. "updateTime": "2024-01-20T13:50:35.838Z",
  35. "canWrite": true,
  36. "sourceName": "测试训练"
  37. }
  38. }

修改集合信息

请求示例 参数说明 响应示例

  1. curl --location --request PUT 'http://localhost:3000/api/core/dataset/collection/update' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  3. --header 'Content-Type: application/json' \
  4. --data-raw '{
  5. "id":"65abcfab9d1448617cba5f0d",
  6. "parentId":null,
  7. "name":"测2222试"
  8. }'
  • id: 集合的ID
  • parentId: 修改父级ID(可选)
  • name: 修改集合名称(可选)
  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": null
  6. }

删除一个集合

请求示例 参数说明 响应示例

  1. curl --location --request DELETE 'http://localhost:3000/api/core/dataset/collection/delete?id=65aa2a64e6cb9b8ccdc00de8' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  • id: 集合的ID
  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": null
  6. }

数据

数据的结构

Data结构

字段类型说明必填
teamIdString团队ID
tmbIdString成员ID
datasetIdString知识库ID
collectionIdString集合ID
qString主要数据
aString辅助数据
fullTextTokenString分词
indexesIndex[]向量索引
updateTimeDate更新时间
chunkIndexNumber分块下表

Index结构

每组数据的自定义索引最多5个

字段类型说明必填
defaultIndexBoolean是否为默认索引
dataIdString关联的向量ID
textString文本内容

为集合批量添加添加数据

注意,每次最多推送 200 组数据。

请求示例 参数说明 响应例子 QA Prompt 模板

  1. curl --location --request POST 'https://api.fastgpt.in/api/core/dataset/data/pushData' \
  2. --header 'Authorization: Bearer apikey' \
  3. --header 'Content-Type: application/json' \
  4. --data-raw '{
  5.     "collectionId": "64663f451ba1676dbdef0499",
  6. "trainingMode": "chunk",
  7. "prompt": "可选。qa 拆分引导词,chunk 模式下忽略",
  8. "billId": "可选。如果有这个值,本次的数据会被聚合到一个订单中,这个值可以重复使用。可以参考 [创建训练订单] 获取该值。",
  9.     "data": [
  10. {
  11. "q": "你是谁?",
  12. "a": "我是FastGPT助手"
  13. },
  14. {
  15. "q": "你会什么?",
  16. "a": "我什么都会",
  17. "indexes": [
  18. {
  19. "text":"自定义索引1"
  20. },
  21. {
  22. "text":"自定义索引2"
  23. }
  24. ]
  25. }
  26. ]
  27. }'
  • collectionId: 集合ID(必填)
  • trainingType:(必填)
    • chunk: 按文本长度进行分割
    • qa: QA拆分
  • prompt: 自定义 QA 拆分提示词,需严格按照模板,建议不要传入。(选填)
  • data:(具体数据)
    • q: 主要数据(必填)
    • a: 辅助数据(选填)
    • indexes: 自定义索引(选填)。可以不传或者传空数组,默认都会使用q和a组成一个索引。
  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "data": {
  5. "insertLen": 1, // 最终插入成功的数量
  6. "overToken": [], // 超出 token 的
  7. "repeat": [], // 重复的数量
  8. "error": [] // 其他错误
  9. }
  10. }

{{theme}} 里的内容可以换成数据的主题。默认为:它们可能包含多个主题内容

  1. 我会给你一段文本,{{theme}},学习它们,并整理学习成果,要求为:
  2. 1. 提出最多 25 个问题。
  3. 2. 给出每个问题的答案。
  4. 3. 答案要详细完整,答案可以包含普通文字、链接、代码、表格、公示、媒体链接等 markdown 元素。
  5. 4. 按格式返回多个问题和答案:
  6. Q1: 问题。
  7. A1: 答案。
  8. Q2:
  9. A2:
  10. ……
  11. 我的文本:"""{{text}}"""

获取集合的数据列表

请求示例 参数说明 响应示例

  1. curl --location --request POST 'http://localhost:3000/api/core/dataset/data/list' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  3. --header 'Content-Type: application/json' \
  4. --data-raw '{
  5. "pageNum":1,
  6. "pageSize": 10,
  7. "collectionId":"65abd4ac9d1448617cba6171",
  8. "searchText":""
  9. }'
  • pageNum: 页码(选填)
  • pageSize: 每页数量,最大30(选填)
  • collectionId: 集合的ID(必填)
  • searchText: 模糊搜索词(选填)
  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": {
  6. "pageNum": 1,
  7. "pageSize": 10,
  8. "data": [
  9. {
  10. "_id": "65abd4b29d1448617cba61db",
  11. "datasetId": "65abc9bd9d1448617cba5e6c",
  12. "collectionId": "65abd4ac9d1448617cba6171",
  13. "q": "N o . 2 0 2 2 1 2中 国 信 息 通 信 研 究 院京东探索研究院2022年 9月人工智能生成内容(AIGC)白皮书(2022 年)版权声明本白皮书版权属于中国信息通信研究院和京东探索研究院,并受法律保护。转载、摘编或利用其它方式使用本白皮书文字或者观点的,应注明“来源:中国信息通信研究院和京东探索研究院”。违反上述声明者,编者将追究其相关法律责任。前 言习近平总书记曾指出,“数字技术正以新理念、新业态、新模式全面融入人类经济、政治、文化、社会、生态文明建设各领域和全过程”。在当前数字世界和物理世界加速融合的大背景下,人工智能生成内容(Artificial Intelligence Generated Content,简称 AIGC)正在悄然引导着一场深刻的变革,重塑甚至颠覆数字内容的生产方式和消费模式,将极大地丰富人们的数字生活,是未来全面迈向数字文明新时代不可或缺的支撑力量。",
  14. "a": "",
  15. "chunkIndex": 0
  16. },
  17. {
  18. "_id": "65abd4b39d1448617cba624d",
  19. "datasetId": "65abc9bd9d1448617cba5e6c",
  20. "collectionId": "65abd4ac9d1448617cba6171",
  21. "q": "本白皮书重点从 AIGC 技术、应用和治理等维度进行了阐述。在技术层面,梳理提出了 AIGC 技术体系,既涵盖了对现实世界各种内容的数字化呈现和增强,也包括了基于人工智能的自主内容创作。在应用层面,重点分析了 AIGC 在传媒、电商、影视等行业和场景的应用情况,探讨了以虚拟数字人、写作机器人等为代表的新业态和新应用。在治理层面,从政策监管、技术能力、企业应用等视角,分析了AIGC 所暴露出的版权纠纷、虚假信息传播等各种问题。最后,从政府、行业、企业、社会等层面,给出了 AIGC 发展和治理建议。由于人工智能仍处于飞速发展阶段,我们对 AIGC 的认识还有待进一步深化,白皮书中存在不足之处,敬请大家批评指正。目 录一、 人工智能生成内容的发展历程与概念.............................................................. 1(一)AIGC 历史沿革 .......................................................................................... 1(二)AIGC 的概念与内涵 .................................................................................. 4二、人工智能生成内容的技术体系及其演进方向.................................................... 7(一)AIGC 技术升级步入深化阶段 .................................................................. 7(二)AIGC 大模型架构潜力凸显 .................................................................... 10(三)AIGC 技术演化出三大前沿能力 ............................................................ 18三、人工智能生成内容的应用场景.......................................................................... 26(一)AIGC+传媒:人机协同生产,",
  22. "a": "",
  23. "chunkIndex": 1
  24. }
  25. ],
  26. "total": 63
  27. }
  28. }

获取单条数据详情

请求示例 参数说明 响应示例

  1. curl --location --request GET 'http://localhost:3000/api/core/dataset/data/detail?id=65abd4b29d1448617cba61db' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  • id: 数据的id
  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": {
  6. "id": "65abd4b29d1448617cba61db",
  7. "q": "N o . 2 0 2 2 1 2中 国 信 息 通 信 研 究 院京东探索研究院2022年 9月人工智能生成内容(AIGC)白皮书(2022 年)版权声明本白皮书版权属于中国信息通信研究院和京东探索研究院,并受法律保护。转载、摘编或利用其它方式使用本白皮书文字或者观点的,应注明“来源:中国信息通信研究院和京东探索研究院”。违反上述声明者,编者将追究其相关法律责任。前 言习近平总书记曾指出,“数字技术正以新理念、新业态、新模式全面融入人类经济、政治、文化、社会、生态文明建设各领域和全过程”。在当前数字世界和物理世界加速融合的大背景下,人工智能生成内容(Artificial Intelligence Generated Content,简称 AIGC)正在悄然引导着一场深刻的变革,重塑甚至颠覆数字内容的生产方式和消费模式,将极大地丰富人们的数字生活,是未来全面迈向数字文明新时代不可或缺的支撑力量。",
  8. "a": "",
  9. "chunkIndex": 0,
  10. "indexes": [
  11. {
  12. "defaultIndex": true,
  13. "type": "chunk",
  14. "dataId": "3720083",
  15. "text": "N o . 2 0 2 2 1 2中 国 信 息 通 信 研 究 院京东探索研究院2022年 9月人工智能生成内容(AIGC)白皮书(2022 年)版权声明本白皮书版权属于中国信息通信研究院和京东探索研究院,并受法律保护。转载、摘编或利用其它方式使用本白皮书文字或者观点的,应注明“来源:中国信息通信研究院和京东探索研究院”。违反上述声明者,编者将追究其相关法律责任。前 言习近平总书记曾指出,“数字技术正以新理念、新业态、新模式全面融入人类经济、政治、文化、社会、生态文明建设各领域和全过程”。在当前数字世界和物理世界加速融合的大背景下,人工智能生成内容(Artificial Intelligence Generated Content,简称 AIGC)正在悄然引导着一场深刻的变革,重塑甚至颠覆数字内容的生产方式和消费模式,将极大地丰富人们的数字生活,是未来全面迈向数字文明新时代不可或缺的支撑力量。",
  16. "_id": "65abd4b29d1448617cba61dc"
  17. }
  18. ],
  19. "datasetId": "65abc9bd9d1448617cba5e6c",
  20. "collectionId": "65abd4ac9d1448617cba6171",
  21. "sourceName": "中文-AIGC白皮书2022.pdf",
  22. "sourceId": "65abd4ac9d1448617cba6166",
  23. "isOwner": true,
  24. "canWrite": true
  25. }
  26. }

修改单条数据

请求示例 参数说明 响应示例

  1. curl --location --request PUT 'http://localhost:3000/api/core/dataset/data/update' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  3. --header 'Content-Type: application/json' \
  4. --data-raw '{
  5. "id":"65abd4b29d1448617cba61db",
  6. "q":"测试111",
  7. "a":"sss",
  8. "indexes":[
  9. {
  10. "dataId": "xxx",
  11. "defaultIndex":false,
  12. "text":"自定义索引1"
  13. },
  14. {
  15. "text":"修改后的自定义索引2。(会删除原来的自定义索引2,并插入新的自定义索引2)"
  16. }
  17. ]
  18. }'
  • id: 数据的id
  • q: 主要数据(选填)
  • a: 辅助数据(选填)
  • indexes: 自定义索引(选填),类型参考为集合批量添加添加数据。如果创建时候有自定义索引,
  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": null
  6. }

删除单条数据

请求示例 参数说明 响应示例

  1. curl --location --request DELETE 'http://localhost:3000/api/core/dataset/data/delete?id=65abd4b39d1448617cba624d' \
  2. --header 'Authorization: Bearer {{authorization}}' \
  • id: 数据的id
  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "message": "",
  5. "data": "success"
  6. }

搜索测试

请求示例 参数说明 响应示例

  1. curl --location --request POST 'https://api.fastgpt.in/api/core/dataset/searchTest' \
  2. --header 'Authorization: Bearer fastgpt-xxxxx' \
  3. --header 'Content-Type: application/json' \
  4. --data-raw '{
  5. "datasetId": "知识库的ID",
  6. "text": "导演是谁",
  7. "limit": 5000,
  8. "similarity": 0,
  9. "searchMode": "embedding",
  10. "usingReRank": false
  11. }'
  • datasetId - 知识库ID
  • text - 需要测试的文本
  • limit - 最大 tokens 数量
  • similarity - 最低相关度(0~1,可选)
  • searchMode - 搜索模式:embedding | fullTextRecall | mixedRecall
  • usingReRank - 使用重排

返回 top k 结果, limit 为最大 Tokens 数量,最多 20000 tokens。

  1. {
  2. "code": 200,
  3. "statusText": "",
  4. "data": [
  5. {
  6. "id": "65599c54a5c814fb803363cb",
  7. "q": "你是谁",
  8. "a": "我是FastGPT助手",
  9. "datasetId": "6554684f7f9ed18a39a4d15c",
  10. "collectionId": "6556cd795e4b663e770bb66d",
  11. "sourceName": "GBT 15104-2021 装饰单板贴面人造板.pdf",
  12. "sourceId": "6556cd775e4b663e770bb65c",
  13. "score": 0.8050316572189331
  14. },
  15. ......
  16. ]
  17. }