QnA Bot Maker
iOS 库,用于与 Microsoft QnA Maker Bot 服务交互
工作于 Microsoft QnA Maker 服务的便捷库。Microsoft QnA Maker 服务允许您快速创建常见问题解答机器人。QnABotMaker 库允许您直接从您的 iOS 应用中访问 QnA Maker 服务。在开始之前,请查看 Microsoft QnA Maker。
入门
在使用此库之前,您需要使用 Microsoft 的 QnA Maker 创建一个 QnA "服务"。
一旦发布您的 QnA 服务,您将看到一个类似于以下示例的 示例 HTTP 请求。
POST /knowledgebases/581bd885-5588403d-9935fe3cd325c503/generateAnswer
Host: https://testbot.azurewebsites.net/qnamaker
Authorization: EndpointKey aa000344-9998-4d3b-9df3-52bf7c4f7ffd
Content-Type: application/json
{"question":"hi"}
QnABotMaker 库需要这些参数中的一小部分来连接到 QnA Maker 服务。
- 首先我们需要知道您的 主机值。这是与主机密钥一起提供的 URL。下面是一个示例。
主机: https://testbot.azurewebsites.net/qnamaker
- 接下来我们需要您的 知识库标识符 或 知识库ID,如下所示。
POST /knowledgebases/581bd885-5588403d-9935fe3cd325c503/generateAnswer
- 最后需要配置的元素是我们的端点密钥值,如下所示。
授权: 端点密钥 aa000344-9998-4d3b-9df3-52bf7c4f7ffd
- 最后,您将使用这些参数来创建 QnAService 结构的新实例,如下面的示例所示
let bot = QnAService(host: "https://testbot.azurewebsites.net/qnamaker", knowledgebaseID: "5581bd885-5588403d-9935fe3cd325c503", endpointKey: "aa000344-9998-4d3b-9df3-52bf7c4f7ffd")
需求
- Xcode 9.1或更新版本
- Swift 4.1
- iOS 10或更高版本
安装
Cocoapods
QnABotMaker 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod "QnABotMaker"
Carthage
github "benbahrenburg/QnABotMaker"
手动
将位于 QnABotMaker/Classes/
目录下的所有 *.swift
文件复制到您的项目中。
Swift 包管理器
Swift 包管理器 Swift Package Manager 是一种用于自动分发 Swift 代码的工具,它与 swift
编译器集成。它处于早期开发阶段,但 Alamofire 支持其在支持平台上的使用。
一旦您设置了 Swift 包,将 Alamofire 添加为依赖项就像将其添加到 Package.swift
文件的 dependencies
值一样简单。
dependencies: [
.Package(url: "https://github.com/benbahrenburg/QnABotMaker.git", majorVersion: 1)
]
使用
使用 QnABotMaker 无比简单。您只要创建一个新实例的库,并使用 askQuestion 函数提供一个问题。完成处理器 completionHandler 将提供 QnA 答案或如果需要的话,提供错误。
以下显示了库的使用示例。
let bot = QnAService(host: "YOUR-HOST-URL", knowledgebaseID: "YOUR-KB-ID", endpointKey: "YOUR-ENDPOINT-KEY")
bot.askQuestion("hello", completionHandler: {(answers, error) in
if let error = error {
return print("error: \(error)")
}
if let answers = answers {
print(answers)
}
})
作者
本·贝伦堡,@bencoding
授权
QnABotMaker 在 MIT 许可下可用。更多信息请参阅 授权文件。