Skip to main content

Introduction

user "Hello!"
bot "Welcome to Colang!"

Colang is a clean, intuitive, and powerful modeling language for Conversational AI. To help you get started, this documentation is structured as follows:

  1. Getting Started: helps you get started with the language and the playground.
  2. Example Models: walks you through a set of colang models, from simple to advanced.
  3. Advanced Guides: explains in more detail advanced topics like multi-intents or testing.
  4. Playground: introduces the features of the Playground environment.
  5. Co Framework: introduces the Co Framework written in Colang.
  6. Reference guide: describes the syntax and core semantics of the language in detail.

Design Philosophy

Before we begin, a few words on the design philosophy. We believe natural language conversations are best described using natural language. Colang was designed with three core principles in mind:

  1. It should read naturally.
  2. It should have minimal artificial syntax.
  3. It should be extensible.

The keywords of the language have been chosen to be as close as possible to the equivalent natural language expressions. The structure of a model is mainly created using indentation, similar to Python, which creates very readable models. Last but not least, the language can be easily extended with new types of elements.

note

The ultimate goal is to enable a conversation designer/developer to create a conversational AI model using free form natural language. Version 1.0 of Colang is a first step in this direction. Future versions will enable more and more natural ways of describing conversations.

Natural Language Syntax

Natural language is very expressive, and there are many ways of expressing the same thing. The same is true in Colang. However, in order to make the learning experience easier, most examples will use a standard syntax. As you get more comfortable writing Colang, you will discover other ways of writing your models which might be more suitable if you share them with other stakeholders which are not involved in the design or development process.

Usage

You can use Colang at every stage in the development of a conversational AI project:

  1. Documenting sample dialogs and "Wizard of Oz" simulations;
  2. Designing end-to-end conversations;
  3. Defining the NLU training data;
  4. Implementation of the flows;
  5. Re-writing of the bot copy;
  6. Testing.

We will cover all the above in the following sections. For now, remember that a colang model can be the single source of truth for your bot.

Let's start!