Contents

AlwaysRightInstitute/SwiftEliza

A Swift + iOS implementation of the ELIZA chatbot.

Notes

To run, just open the SwiftEliza.xcodeproj in XCode.

The functionality of ELIZA is contained in the Eliza.swift file, and the rest are boilerplate for the iOS app.

Written in Swift 3 for iOS 10 and above.

Swift Package Manager

Import Package

You can import Eliza as a regular Swift Package Manager package. To do so, use a Package.swift like this:

// 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

The API consists of just three functions:

  • elizaHi() -> String
  • elizaBye() -> String
  • replyTo(_: String) -> String

Example:

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

It is recommended that you add proper delays when responding to interactive questions. See the iOS app or the therapist tool for an example.

Package Metadata

Repository: AlwaysRightInstitute/SwiftEliza

Stars: 2

Forks: 0

Open issues: 0

Default branch: master

Primary language: swift

Topics: eliza, eliza-chatbot, swift, swift-library

README: README.md

Fork: yes