SwiftEliza

Swift3 Swift4 Swift5 macOS iOS tuxOS Travis

注意: 这是 ARI 对 kennysong/SwiftEliza 的分支。 上游似乎没有合并 PR。

SwiftEliza 是 Weizenbaum 的 ELIZA 聊天机器人的 Swift + iOS 实现,它模拟了一位罗杰斯心理治疗师。

基于 kennysong 的 Go 实现 和 Apple 的 App Development with Swift 书中的 QuestionBot。

SwiftEliza screenshot

说明

要运行,只需在 XCode 中打开 SwiftEliza.xcodeproj

ELIZA 的功能包含在 Eliza.swift 文件中,其余的是 iOS 应用程序的样板代码。

使用 Swift 3 编写,适用于 iOS 10 及更高版本。

Swift Package Manager

导入包

您可以将 Eliza 作为常规的 Swift Package Manager 包导入。 为此,请使用如下所示的 Package.swift

// swift-tools-version:5.0

import PackageDescription

let package = Package(
    name: "MyEliza",
    dependencies: [
        .package(url: "https://github.com/kennysong/SwiftEliza.git",
                 from: "1.0.0")
    ],
    targets: [
        .target(name: "MyEliza", dependencies: [ "Eliza" ])
    ]
)

API

API 仅包含三个函数

示例

let eliza = Eliza()
print(eliza.elizaHi())
print(eliza.replyTo("Hi Eliza, I'm feeling super-bad today!"))
print(eliza.elizaBye())

建议您在回复交互式问题时添加适当的延迟。 有关示例,请参阅 iOS 应用程序或 therapist 工具。