Introducing Program-Y: An AIML 2.1 Chatbot Framework
Program-Y is a comprehensive AIML 2.1 chatbot framework meticulously crafted using Python 3. This robust platform enables users to develop custom chatbots leveraging the power of Artificial Intelligence Markup Language (AIML). For those keen on exploring Program-Y's features or its developmental journey, the Background page offers a wealth of information.
What's New in Version 4.1
The release of version 4.1 marks a significant update, focusing on the integration of out-of-band messaging (OOB) and Trigger configurations into the storage engine. This strategic shift aims to streamline configuration files, reducing their size. For detailed guidance on configuring OOB and Triggers, users can refer to either the wiki documentation or practical examples available in Y-Bot.
Highlights of Version 4.0
Baseline Release
Version 4.0 established a foundational release, setting the stage for substantial system enhancements anticipated in 2020. Notably, this version introduced over 2000 unit tests, elevating test coverage to an impressive 99% for the core system and 96% overall. These rigorous tests not only fostered significant code refactoring, enhancing usability and performance but also identified and rectified numerous defects.
Configuration Enhancements
A pivotal change in version 4.0 involved restructuring configuration files. Although a breaking change, this restructuring focused on aligning configuration structures with the internal bot architecture rather than altering content. The reconfiguration notably included the adoption of 'brains' and 'bots' elements, with configuration file adjustments necessitating a slight reorganization of elements. An example of the revised structure is:
console:
bots:
bot1:
brains:
brain1:
brain2:
bot2:
brains:
brain3
Altering configuration files mainly involves introducing the 'bots' and 'brains' elements, then accordingly adjusting existing elements.
Embeddable Clients
Another major advancement is the refresh of the embeddable client feature, offering users three straightforward methods to incorporate a bot into a Python application with minimal coding—just two lines are needed:
from programy.clients.embed.basic import EmbeddedBasicBot
my_bot = EmbeddedBasicBot()
print("Response = %s" % my_bot.ask_question("Hello"))
For further instructions and detailed explanations, users can explore Embedded Bots.
Unified Naming Convention
The introduction of a unified naming convention is a noteworthy element in this release. Now, configuration variables uniformly use underscores '_' for separation, replacing the previous mix involving dashes '-'. Changes include:
- default_userid
- default_get
- default_property
- default_map
- default_response
- default_response_srai
Moving forward, all variables will adhere to this underscore-based naming convention.
How to Get Help
Program-Y offers multiple support channels:
- Github for direct issue reporting.
- Slack for live discussions with the development team.
- Gitter for communication with the development team.
- Email contact is available, although responses may not be instant.
- Twitter mainly serves as an announcement platform.
In conclusion, Program-Y stands as a powerful, flexible chatbot framework ideal for those seeking to exploit the capabilities of AIML. With continuous updates and community engagement, it's a dynamic tool for developers across the globe.