我指的是这份QnA create knowledgebaseAPI文档。我想通过存储在本地路径中的Excel文件上传知识库。我没有Excel文件的URL,只有本地路径。
我遵循github link上给出的代码,删除了不必要的内容并保留了变量“ kb”,如下所示:
static string kb = $@"
{{
'name': 'VivekKB',
'qnaList': [],
'urls': [ ],
'files': [
'files': {{DBFile}}
]
}}
DBFile 是具有完整路径的文件名。当我运行代码时,它将创建一个Empty知识库。它没有上传我提到的excel文件。您能否帮我弄清楚如何直接将本地excel QnA数据上传到QnA商店。我想避免将Excel手动上传到位于https://www.qnamaker.ai的知识库中。
先谢谢了。 维维克
答案 0 :(得分:1)
直接与QnA团队联系,并提出以下要求:
问题:是否可以使用本地文件路径通过编程API创建KB?
我知道程序化QnA API文档中给出的内容演示了如何添加也已经在线提供的PDF文件:
"files": [
{
"fileName": "SurfaceManual.pdf",
"fileUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf"
}
但是,当我尝试使用“ fileUri”中的相对文件路径在Postman中使用“ POST创建知识库”时,出现“无效uri”错误。
请求正文
{
"name": "Simple QnA",
"files": [
{
"fileName": "simpleQnaSource.docx",
"fileUri": "C:\\Users\\v-asho\\Documents\\RandomWordDocs"
}
]
}
响应
{
"error": {
"code": "BadArgument",
"message": "Invalid input. See details.",
"details": [
{
"code": "ValidationFailure",
"message": "File Uri has one or more invalid uri.",
"target": "Files[0].FileUri"
}
]
}
}
通过qnamaker.ai门户在线在线上传.docx
文件成功创建了一个KB,特别是通过遇到问题的程序化api。
QnA小组的答案:
“ fileUri
”可以具有可公开使用和可下载的URI作为值。
通过API使用时,请将本地文件的内容上传到公共可用域。 (例如:Azure存储Blob已公开共享)。