如何通过API导入知识库?Dialogflow导入云存储CSV问答对遇报错如何处理
Dialogflow ES知识库CSV导入操作指南
前置准备
- 整理符合规范的CSV文件:仅保留2列,第一列为用户问题,第二列为对应答案,无需添加表头,文件编码为UTF-8无BOM格式,完成后上传至GCS云存储桶
- 提前获取两个核心参数:GCP项目ID、目标知识库ID,均可在Dialogflow ES控制台知识库管理页面获取
API请求构造
- 请求方法:
POST - 请求地址格式:
https://dialogflow.googleapis.com/v2beta1/projects/[替换为你的GCP项目ID]/knowledgeBases/[替换为目标知识库ID]/documents:import - 请求头必须携带鉴权字段:
Authorization: Bearer [替换为你的OAuth2访问令牌] - 请求体示例:
{ "gcsSource": { "uri": "gs://[替换为你的GCS桶名]/[替换为CSV文件完整路径].csv" }, "documentType": "FAQ", "knowledgeTypes": ["FAQ"], "displayName": "自定义的导入文档名称" }
权限报错解决方案
上述反馈的报错核心原因是Dialogflow服务账号无权限读取GCS存储的CSV文件,按以下步骤处理即可:
- 核对填写的GCS URI拼写是否正确,确认CSV文件在对应路径真实存在
- 获取Dialogflow官方服务账号,格式为
service-<你的GCP项目数字ID>@gcp-sa-dialogflow.iam.gserviceaccount.com,项目数字ID可在GCP控制台项目设置页查询 - 进入GCS控制台,找到目标CSV文件,在权限配置中新增上述服务账号为授权主体,授予存储对象查看者权限,保存后等待1-2分钟权限生效再重新发起请求
- 同步确认发起API请求所用的账号持有Dialogflow编辑器或更高权限,保障拥有文档导入的操作权限
内容的提问来源于stack exchange,提问作者ChinnarajS
相关产品推荐
相关产品推荐

