注意: 这是 ARI 对 kennysong/SwiftEliza 的分支。 上游似乎没有合并 PR。
SwiftEliza 是 Weizenbaum 的 ELIZA 聊天机器人的 Swift + iOS 实现,它模拟了一位罗杰斯心理治疗师。
基于 kennysong 的 Go 实现 和 Apple 的 App Development with Swift 书中的 QuestionBot。
要运行,只需在 XCode 中打开 SwiftEliza.xcodeproj
。
ELIZA 的功能包含在 Eliza.swift
文件中,其余的是 iOS 应用程序的样板代码。
使用 Swift 3 编写,适用于 iOS 10 及更高版本。
您可以将 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 仅包含三个函数
elizaHi() -> String
elizaBye() -> String
replyTo(_: String) -> String
示例
let eliza = Eliza()
print(eliza.elizaHi())
print(eliza.replyTo("Hi Eliza, I'm feeling super-bad today!"))
print(eliza.elizaBye())
建议您在回复交互式问题时添加适当的延迟。 有关示例,请参阅 iOS 应用程序或 therapist 工具。