如何通过问答创建知识库发送本地文件路径API?

How to send a local file path thorugh the QnA Create Knowledgebase API?

我指的是这个 QnA create knowledgebaseAPI 文档。我想通过存储在本地路径中的 Excel 文件上传知识库。 excel 文件没有 URL,只有本地路径。

我按照github link上给出的代码,删除了不必要的东西并保留了变量"kb",如下所示:

   static string kb = $@"
    {{
      'name': 'VivekKB',
      'qnaList': [],
      'urls': [ ],
      'files': [
            'files': {{DBFile}}
        ]
    }}

DBFile 是带完整路径的文件名。当我 运行 代码时,它会创建一个空知识库。它不会上传我提到的 excel 文件。你能帮我弄清楚如何将本地 excel QnA 数据直接上传到 QnA 商店吗?我想避免手动上传 excel 到 https://www.qnamaker.ai 的知识库。

提前致谢。 维维克

直接与 QnA 团队联系,提出以下问题:

问题:是否可以使用本地文件路径通过编程方式创建 KB API?

我知道程序化 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”可以有一个 public 唯一可用和可下载的 URI 作为值。 当通过 API 使用它时,请将本地文件的内容上传到 public 可用的域。 (示例:Azure 存储 blob 共享到 public)。