4 May, 2024 | 3 min read

Introducing Choreo Copilot

  • Malith Jayasinghe
  • VP & Head of Research and AI - WSO2

We're excited to introduce Choreo Copilot (preview), which allows you to interact with Choreo. You can pose questions in natural language and Copilot will provide answers.

Choreo Copilot enables you to grasp Choreo concepts, teaches you how to perform tasks in Choreo, and provides guidance when you encounter obstacles. Copilot is familiar with APIs in Choreo’s internal marketplace. Choreo already features an AI capability that enables API testing through natural language. This feature is now integrated into Copilot as well.

How to Use Choreo Copilot

Click the "Copilot" button in the upper right corner of the console to access Copilot.

Figure 1: Accessing Copilot

Learning with Copilot: Discover Choreo's core concepts with ease, as Copilot provides clear guidance, making navigation intuitive and learning enjoyable. Refer to Figure 2 for a visual representation.

Figure 2: Learning with Copilot

Task Guidance: Copilot is a helpful mentor that provides practical assistance in completing tasks within Choreo. Its step-by-step guidance ensures tasks are executed smoothly, as shown in Figure 3.

Figure 3: Task Guidance

Testing APIs: Copilot simplifies API testing in Choreo. It enables users to test queries with varying levels of complexity quickly. See Figure 4 for an illustration.

Test your APIs using Copilot, demonstrated in Figure 4.

Figure 4: Testing APIs

App Building Support for New Developers: Copilot primarily benefits new developers, offering support in building and deploying applications. Figure 5 shows Copilot's guidance in the app development process.

Figure 5: New developers get app building support

Use Copilot with Care

Choreo Copilot leverages LLMs. While LLMs are pretty amazing, they can sometimes make up things, leading to inaccurate information. That's why we recommend using Copilot with a cautious eye. We're constantly working on improving its accuracy and expanding its skillset.

If you stumble upon a result that doesn't align with your expectations, we recommend a simple trick: re-run the same query. Given the dynamic nature of LLM-based systems, a second attempt may provide a more satisfactory outcome.

Since Copilot relies on the conversational history to be context-aware, sometimes starting a new chat will provide better results when starting a new task.

Figure 6 shows how to create a new chat.

Figure 6: Creating a New Chat

How Does It Work Under the Hood?

Copilot is based on a multi-layer agent architecture — each layer consisting of agents responsible for reasoning and performing tasks. Initially, a centralized agent receives the user's natural language query and directs it to domain-specific agents based on the question's content. These agents then process the user's query and connect to relevant Choreo APIs. After the agent completes this, the results are propagated back to the preceding agents, which then decide whether to send the results to the user or redirect the query to other agents for further processing.

What’s Next

Our current preview release is just the beginning of what we have in store for Choreo. We're continuously enhancing Choreo Copilot. We will enhance its capabilities in the future, including advanced querying for troubleshooting issues in Choreo components; the ability to query and learn more about components, projects, and environments; and the ability to perform actions. We're also developing a version of Copilot for VSCode, making it even more accessible for developers.