QnABotMaker 2.0.1

QnABotMaker 2.0.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2018年5月
SPM支持 SPM

Ben Bahrenburg 维护。



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 服务。

  1. 首先我们需要知道您的 主机值。这是与主机密钥一起提供的 URL。下面是一个示例。

主机: https://testbot.azurewebsites.net/qnamaker

  1. 接下来我们需要您的 知识库标识符知识库ID,如下所示。

POST /knowledgebases/581bd885-5588403d-9935fe3cd325c503/generateAnswer

  1. 最后需要配置的元素是我们的端点密钥值,如下所示。

授权: 端点密钥 aa000344-9998-4d3b-9df3-52bf7c4f7ffd

  1. 最后,您将使用这些参数来创建 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 许可下可用。更多信息请参阅 授权文件