/DialogueKit

DialogueKit

Primary LanguagePythonApache License 2.0Apache-2.0

DialogueKit

Code style: black PyPi version Coverage Badge Tests docs Python version

DialogueKit is a library for conversational information access (CIA). It contains based classes for fundamental concepts, such as dialogue participants, dialogue management, natural language understanding, natural language generation, etc. In addition to the fundamental concepts DialogueKit contains an evaluation module, for evaluating the performance of and CIA systems. Consult the documentation for details.

Install as a package

DialogueKit is published to PyPI, install it by running:

pip install dialoguekit

Follow the commands below to install DialogueKit from a specific commit or straight from GitHub.

The command will install the latest version from the main branch.

  • On Windows you may need to run this command before pip installing
ssh -t git github.com
  • pip install
pip install git+ssh://git@github.com/iai-group/dialoguekit.git

If you want to specify a specific commit as the source of the package append the commit hash to the end of the command separated with a "@".

  • Specific commit as the source of the package.
pip install git+ssh://git@github.com/iai-group/dialoguekit.git@faa5c1fca37aaa275105cc1ca7698783719551c2

Usage example

  1. Create and connect a platform that manages dialogues. The platform requires information about the agent it serves.

    from dialoguekit.platforms.terminal_platform import TerminalPlatform
    from sample_agents.parrot_agent import ParrotAgent
    
    platform = TerminalPlatform(ParrotAgent)
  2. Start conversation

       platform.start()

Conventions

We follow the IAI Python Style Guide.
We use UTF-8 encodings that is widely used on Unix systems. Windows users need to use the Python UTF-8 Mode; see here for more details. In practice, we specify the encoding when opening files, as in this example:

with open("README.md", "r", encoding="utf-8") as fh:
    long_description = fh.read()

Contributors

(Alphabetically ordered by last name)

  • Jafar Afzali (2022)
  • Krisztian Balog (2021-present)
  • Nolwenn Bernard (2022-present)
  • Aleksander Drzewiecki (2022)
  • Ivica Kostric (2023)
  • Weronika Lajewska (2023)
  • Shuo Zhang (2021)