> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/guardrails/_mcp/server. # Colang 2.0 Guide > Learn Colang 2.0 syntax, concepts, migration guidance, tutorials, and language reference topics. Colang 2.0 is a beta version of the Colang language and runtime. Use this guide to review what changed from Colang 1.0, migrate existing configurations, work through the getting started examples, and explore the language reference. #### [What's Changed](/configure-guardrails/colang/colang-2/whats-changed) Review the main language and runtime changes in Colang 2.0. #### [Migration Guide](/configure-guardrails/colang/colang-2/migration-guide) Convert Colang 1.0 configurations to Colang 2.x. #### [Getting Started](/configure-guardrails/colang/colang-2/getting-started) Work through the Colang 2.0 tutorial sequence. #### [Language Reference](/configure-guardrails/colang/colang-2/language-reference) Explore syntax and standard library reference material. > Learn Colang 2.0 syntax, concepts, migration guidance, tutorials, and language reference topics. ## Docs - [What's Changed](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/whats-changed.md): This guide provides a non-comprehensive overview of the most important changes in Colang 2.0. - [Migrating from Colang 1 to Colang 2](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/migration-guide.md): Convert Colang 1.0 configurations to Colang 2.x using the nemoguardrails convert tool. - [Getting Started with Colang 2.0](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/getting-started.md): Build Colang 2.0 guardrails step by step, from Hello World to LLM and multimodal flows. - [Hello World](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/getting-started/hello-world.md): This section introduces a "Hello World" Colang example. - [Interaction Loop](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/getting-started/interaction-loop.md): This section explains how to create an interaction loop in Colang 2.0. - [Input Rails](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/getting-started/input-rails.md): This section explains how to create *input rails* in Colang 2.0. - [Dialog Rails](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/getting-started/dialog-rails.md): This section explains how to create dialog rails using Colang. - [LLM Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/getting-started/llm-flows.md): This section explains how to create LLM-driven flows in Colang 2.0. - [Multimodal Rails](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/getting-started/multimodal-rails.md): This section explains how to create multimodal rails in Colang 2.0. - [Recommended Next Steps](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/getting-started/recommended-next-steps.md): The Colang 2.0 getting started guide introduces you to a basic Hello World example, and then goes into Dialog Rails, Input Rails, Multimodal Rails, and other Colang 2.0 concepts l - [Colang 2.0 Language Reference](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference.md): Reference documentation for Colang 2.0 syntax, events, actions, flows, variables, and the standard library. - [Introduction](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/introduction.md): Colang is an event-based modeling language to enable the design of highly flexible conversational interactions between a human and a bot. Since learning a new language is not an ea - [Event Generation & Matching](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/event-generation-and-matching.md): When working with Colang, we assume to have a common event channel that contains all relevant events happening in the interactive system. From a Colang perspective, relevant events - [Working with Actions](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/working-with-actions.md): You have seen in section Event Generation & Matching how to work with events. We will now introduce actions that will enable you to better manage events and their temporal dependen - [Defining Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/defining-flows.md): So far you have seen only one flow, the main flow. But in Colang we can define many different flows, like functions in other programming languages. A flow defines a specific intera - [Working with Variables & Expressions](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/working-with-variables-and-expressions.md): Like Python, Colang supports these fundamental data types: `string`, `int`, `float`, `bool`, `list`, `set`, `dict`, in addition to the Colang specific event, action and flow refere - [Flow control](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/flow-control.md): Flow control is an essential tool in all programming languages, and Colang supports this as well. It enables branching and repetition of interaction patterns in a single flow. - [Colang Standard Library (CSL)](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library.md): The Colang Standard Library (CSL) provides an abstraction from the underlying event and action layer and offers a semantic interface to design interaction patterns between the bot - [Fundamental Core Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library/core.md): The core library that contains all relevant flows related to user and bot utterance events and actions. - [Timing Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library/timing.md): Flows related to timing and reacting to periods of silence. - [LLM Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library/lmm.md): Trigger a bot utterance similar to given text - [Interactive Avatar Modality Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library/avatars.md): **User Event Flows** - [Guardrail Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library/guardrails.md): Flows to guardrail user inputs and LLM responses. - [User Attention Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library/attention.md): Flows to handle user attention. - [Make use of Large Language Models (LLM)](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/make-use-of-llms.md): At its core, Colang does not require a Large Language Model (LLM) as backend. However, many of the more advanced mechanisms in the Colang Standard Library (CSL) depend on one. - [More on Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/more-on-flows.md): In section Defining Flows, we learned the core mechanisms of flows. In this section will look at more advanced topics that are related to flows. - [Python Actions](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/python-actions.md): In the section Working with Actions, you have seen how actions can be used in the context of UMIM events. Additionally, you can also use the action concept to call custom python fu - [Development and Debugging](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/development-and-debugging.md): Currently, the Colang story designing and building environment is fairly limited, but will be improved on in the future.