资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

上传文件到知识库

接口描述

上传文件到知识库

权限说明

Authorization需要填写密钥

接口定义

Path /v2/knowledgeBase?Action=UploadDocuments
Method POST
Content-Type multipart/form-data
Authorization 请求签名(此签名为应用工作台密钥)

请求结构

POST /v2/knowledgeBase?Action=UploadDocuments HTTP/1.1
HOST: qianfan.baidubce.com
Authorization: authorization string
Content-Type: multipart/form-data

form-data参数:
file:上传文件
payload:json字符串,结构如下:
{   
    "id":"knowledgeBaseID",
    "source": { # 数据来源
        "type": "file" # file
    },
    "contentFormat": "", # rawText (允许配置后续分割策略)
    "processOption": {
        "template": "ppt", # 可选项为 ppt、paper、qaPair、resume、custom、default
        "parser": {
            "choices": ["layoutAnalysis", "ocr"]
        },
        "chunker": {
            "choices": ["separator"], # separator, pattern, onePage
            "separator": { #当choices中包含 separator时需要填写这个参数
                "separators": [",", "!", "?"], # separator,可以新增分页符
                "targetLength": 333,
                "overlapRate": 0.09
            },
           // "pattern": {   #当choices中包含 pattern时需要填写这个参数
             //   "markPosition": "head",
             //   "regex": "正则表达式",
             //   "targetLength": 333,
             //   "overlapRate": 0.09
            //},
            "prependInfo": ["title", "filename"]
        },
        "knowledgeAugmentation": {
            "choices": ["faq"], # faq,spokenQuery、spo、shortSummary按需增加
        }
    }
}

请求头域

除公共头域外,无其它特殊头域。

请求参数

字段 类型 是否必须 说明
file file 待上传文件地址,文件名限制命名不可包含 < > / \ | : " * ? 特殊符号;
contentFormat类型为rawText时支持.doc,.txt,.docx,.pdf,.ppt,.pptx六种格式;txt 文件不能超过10MB, docx、pdf、doc、ppt、pptx 文件不能超过50MB且不能超过1000页;
payload string 知识库配置

payload参数的结构说明如下:

字段 类型 是否必须 说明
id string 知识库id
source dict 数据来源
source \ type string 数据来源类型 (file)
contentFormat string 上传的数据类型,可选值为:
rawText:文本文档数据。(表格型知识数据暂不支持)
processOption object contentFormat为rawText时是 文档处理策略
processOption \ template string 配置方法,可选值为:
ppt:ppt幻灯片
paper:论文文档
resume:简历文档
custom:自定义配置,且切片策略可配置
default:自定义配置(切片策略不生效)
qaPair:结构化问答对
processOption \ parser dict 文档解析配置
processOption \ parser \ choices []string 解析方法,可选值为:
(文字提取默认启动,参数不体现)
layoutAnalysis:版面分析
ocr:光学字符识别
pageImageAnalysis:文档图片解析
processOption \ chunker dict 自定义配置(template为custom)时是 切片策略配置
processOption \ chunker \ choices []string 使用哪些切片策略方法,可选值为:
separator:分割符切片,配置切分标识符、切片最⼤⻓度等选项
pattern:正则切片方法,使用正则表达式切片
onePage: 整文件切片,将整篇文档内容存入单一切片
processOption \ chunker \ separator dict chunker.choices[]中包含时是 分隔符配置
processOption \ chunker \ separator \ separators []string chunker.choices[]中包含separator时是 分隔符列表,可以使用分页符
processOption \ chunker \ separator \ targetLength int chunker.choices[]中包含separator时是 分段最大长度
processOption \ chunker \ separator \ overlapRate float chunker.choices[]中包含separator时是 重叠比例
processOption \ chunker \ pattern dict chunker.choices[]中包含时是 正则配置
processOption \ chunker \ pattern \ markPosition string chunker.choices[]中包含pattern时是 匹配命中时,命中内容放置策略(head | tail | drop)
processOption \ chunker \ pattern \ regex string chunker.choices[]中包含pattern时是 正则表达式
processOption \ chunker \ pattern \ targetLength int chunker.choices[]中包含pattern时是 分段最大长度
processOption \ chunker \ pattern \ overlapRate float chunker.choices[]中包含pattern时是 重叠比例
processOption \ chunker \ prependInfo []string chunker关联元数据,可选值为:
title:增加标题
filename:增加文件名
knowledgeAugmentation dict 数据增强策略
knowledgeAugmentation \ choices []string faq,spokenQuery、spo、shortSummary按需增加

响应头域

除公共头域外,无其它特殊头域。

响应参数

字段 类型 必然存在 说明
requestId string requestId
documentId string 文档id

请求curl 示例

curl --location --request POST 'https://qianfan.baidubce.com/v2/knowledgeBase?Action=UploadDocuments' \
--header 'Authorization: Bearer authorization string' \
--form 'file=@"/Users/Desktop/xxx.pdf"' \
--form 'payload="{       \"id\":\"4bcfc08f-0f30-4acd-95ec-2bedecc8f795\",    \"source\": {        \"type\": \"file\"    },    \"contentFormat\": \"rawText\",     \"processOption\": {        \"template\": \"custom\",        \"parser\": {            \"choices\": [\"layoutAnalysis\"]        },        \"chunker\": {            \"choices\": [\"separator\"],             \"separator\": {                \"separators\": [\"。\"],                \"targetLength\": 400,                \"overlapRate\": 0.25            },            \"prependInfo\": [\"title\", \"filename\"]        },        \"knowledgeAugmentation\": {            \"choices\": [\"faq\",\"spokenQuery\"]        }    }}"'

正确响应示例

HTTP/1.1 200 OK
{
    "requestId": "46017562-637f-402a-9000-cfe535986d5d",
    "documentId": "ee50852a-57ed-44aa-9b8a-6cb7156cf79c"
}

错误响应示例

HTTP/1.1 400
{
    "code": "InvalidRequestArgumentError",
    "message": "Dataset Not Found",
    "requestId": "9873898f-4af9-42da-b670-7cd71de8c4d2"
}
上一篇
知识库列表
下一篇
导入url到知识库