Skip to main content

Simple interpreter for AIML 2.1

Project description

pyaiml21

AIML [^AIML] 2.1 Chatbot Design Language Interpreter in Python 3.

The AIML language is a (simple) XML-derived language for description of chatbots and the communication with the user based on the pattern-matching the user's query and evaluating (human-coded) response.

pyaiml21 is an AIML interpreter, supporting the latest AIML specification. It was created as a bachelor thesis and should be fully compatible with its predecessor, PyAiml [^pyaiml].

Installation

Install the project from PYPI:

$ python -m pip install pyaiml21

Quick Example

This example demonstrates how to quickly set-up and run a basic chatbot with publicly available source files from ALICE [^ALICE].

Running via console script

pyaiml21 comes with a simple script to run your chatbots, if you unpacked the contents of your bot into alice/ folder (so that the structure is alice/aiml/.., alice/aimlif/.., alice/sets/.. ..), then running the following will start your bot:

$ aiml --bot alice

Running from Python

It is still possible to start your bot directly from python[^example], e.g.

>>> from pyaiml21 import Bot
>>> my_bot = Bot()
>>> my_bot.learn_aiml("path to .aiml file")
>>> # more loading stuff, see `pyaiml21.utils` for helpers
>>> my_bot.respond("Hello", "USER_1")
Hi! How are you doing?

For examples of simple bots, checkout /examples folder.

Motivation

This project was created to support the AIML 2.1 in Python while preserving the simplicity of user interface from pyaiml. Note that for Python, there exists an AIML interpreter, program-y [^program-y], but it does come with the full chatbot platform, the simple interface is missing.

Documentation

Please visit the official documentation.

License

MIT.


[^ALICE]: alice source code

[^AIML]: Artificial Intelligence Markup Language (Dr. Wallace, 2001); see the official specification of version 2.1

[^example]: The actual response depends on your AIML file, to load .aimlif, substitutions.., see methods of pyaiml21.Bot

[^pyaiml]: original interpreter in python for AIML 1.0

[^program-y]: AIML Interpreter in Python3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyaiml21-1.0.0rc2.tar.gz (61.2 kB view details)

Uploaded Source

Built Distribution

pyaiml21-1.0.0rc2-py3-none-any.whl (80.4 kB view details)

Uploaded Python 3

File details

Details for the file pyaiml21-1.0.0rc2.tar.gz.

File metadata

  • Download URL: pyaiml21-1.0.0rc2.tar.gz
  • Upload date:
  • Size: 61.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.9

File hashes

Hashes for pyaiml21-1.0.0rc2.tar.gz
Algorithm Hash digest
SHA256 7306a218b9731b9f1b700c09f33c09598f7a5f4224b0630412bda42ac0fdd6fd
MD5 b956c987c58f5a31783b023219ca5e31
BLAKE2b-256 d9d9d79ab6553076c068fdf9c8a69c933ce9892f3aa90e0927b0a9faba4c5c41

See more details on using hashes here.

File details

Details for the file pyaiml21-1.0.0rc2-py3-none-any.whl.

File metadata

  • Download URL: pyaiml21-1.0.0rc2-py3-none-any.whl
  • Upload date:
  • Size: 80.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.9

File hashes

Hashes for pyaiml21-1.0.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 9f5d9561cfeb8fa506e11c4322afd6aea097ea53e7db5e85d8cde995e54d2016
MD5 5aff98175101d1bc3077690e37d7987d
BLAKE2b-256 d892289b505a9d2886858006929de2dc2422c7df623bc0481278f67753db4d15

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page