Skip to main content

An interpreter package for AIML, the Artificial Intelligence Markup Language

Project description

aiml.py


This is a fork of the PyAIML_ Python AIML interpreter. It has been refactored to make it install and work from python >=3.10

You can install it with pip install aiml.py.

PyAIML is (c) Cort Stratton. aiml.py uses the same license as PyAIML (2-clause BSD), except for the ALICE AIML files taken from the Free ALICE AIML set, which are licensed with the LGPL license.

Scripts

Two small scripts are added upon installation:

  • aiml-validate can be used to validate AIML files
  • aiml-bot can be used to start a simple interactive session with a bot, after loading either AIML files or a saved brain file.

Datasets

The installation includes two AIML datasets:

  • The standard AIML set, as it was included in PyAIML
  • The Free ALICE AIML set_ v. 1.9, taken from the data published by the ALICE AI Foundation_ (with a few small fixes in files that did not validate as AIML 1.0.1_)

They can be loaded via the bootstrap method in the Kernel class. See the bot.py_ script for an example.

Tests

There are a number of unit tests included (in the test subdirectory); they can be executed by the setup infrastructure as::

python setup.py test

or they can also be launched by directly calling::

python test [testname ...]

This last version allows executing only some of the test files by explicitly naming them in the command line; if none is specified all will be executed.

.. _PyAIML: https://github.com/Calysto/aiml (forked from https://github.com/cdwfs/pyaiml) .. _Free ALICE AIML set: https://code.google.com/archive/p/aiml-en-us-foundation-alice/ .. _LGPL: http://www.gnu.org/licenses/lgpl.html .. _AIML Foundation: http://www.aiml.foundation/index.html .. _bot.py: aiml/script/bot.py .. _AIML 1.0.1: https://github.com/AIML-Foundation/AIML-1.0.1


Original README from PyAIML

PyAIML is an interpreter for AIML (the Artificial Intelligence Markup Language), implemented entirely in standard Python. It strives for simple, austere, 100% compliance with the AIML 1.0.1 standard, no less and no more.

This is currently pre-alpha software. Use at your own risk!

For information on what's new in this version, see the CHANGES.txt file.

For information on the state of development, including the current level of AIML 1.0.1 compliance, see the SUPPORTED_TAGS.txt file.

Quick & dirty example (assuming you've downloaded the "standard" AIML set)::

import aiml

# The Kernel object is the public interface to
# the AIML interpreter.
k = aiml.Kernel()

# Use the 'learn' method to load the contents
# of an AIML file into the Kernel.
k.learn("std-startup.xml")

# Use the 'respond' method to compute the response
# to a user's input string.  respond() returns
# the interpreter's response, which in this case
# we ignore.
k.respond("load aiml b")

# Loop forever, reading user input from the command
# line and printing responses.
while True: print k.respond(raw_input("> "))

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

aiml_py-0.9.2.zip (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiml.py-0.9.2-py3-none-any.whl (2.1 MB view details)

Uploaded Python 3

File details

Details for the file aiml_py-0.9.2.zip.

File metadata

  • Download URL: aiml_py-0.9.2.zip
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for aiml_py-0.9.2.zip
Algorithm Hash digest
SHA256 d8731295158ad5b1c216540323d1cb515ec0242a61ccb802c0f8822e1158a93f
MD5 7c2aba98054431a16a7376a02194c25a
BLAKE2b-256 5d04822c8f96d2312a5ba461f820891c8f741d52d256dac7640f1b8ca82cc486

See more details on using hashes here.

File details

Details for the file aiml.py-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: aiml.py-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for aiml.py-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 17b0587d97dc5bcd56183187c54f4d9b87e45fa8a94be5f05e719baeef63b4c2
MD5 e90fd0685dc676682713f97a0092299d
BLAKE2b-256 7685f766ccc842f10b849089aa7bf0d16801077cc0183d7764c0537e8c96f3ba

See more details on using hashes here.

Supported by

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