watsonx Orchestrate Agent Development Kit
Orchestrate Development
As seen in the previous blogs in this series, watsonx Orchestrate Agents and Tools can be developed using the web user interface (UI). However, the UI doesn’t provide access to all features of Orchestrate. In addition, working in the UI does not allow a more structured, change controlled development practice that many enterprises require.
The IBM watsonx Orchestrate Agent Development Kit (ADK) is a toolkit that allows you to develop and test agentic applications. There are two primary parts to the ADK:
- Command Line Interface (CLI)
- watsonx Orchestrate Developer Edition
ADK Command Line Interface
The CLI allows you to manage a watsonx Orchestrate instance. This can be a SaaS instance running on AWS or the IBM Cloud, an instance running on premises or the Developer Edition.
IBM watsonx Orchestrate Developer Edition
The Developer Edition is a version of IBM watsonx Orchestrate that runs locally to allow development and testing of agentic applications.
You need to have access to either watsonx Orchestrate or watsonx.ai to get the credentials needed to install the Developer Edition. It uses container technology to run. At the time of writing the supported container runtimes are:
- Docker : the preferred runtime for Linux and Windows- using Windows Subsystem for Linux. Docker Desktop can also be used, but many enterprise users no longer have access to Docker Desktop as it requires a paid subscription.
- Colima : an alternate option for MacOS users
- Rancher Desktop : an alternate option for MacOS users
Docker compose is also required. The documentation provides further details on installing the Developer Edition
Once the prerequisites are installed and the environment variables declared are set, the orchestrate
CLI will pull the containers and start the Developer Edition.
Managing watsonx Orchestrate
The ADK CLI can be used to add multiple environments to the ADK, and then activate one of the environments. The active environment is the environment that all ADK commands will be sent to.
The ADK is used to start and stop the local Developer Edition and for launching the web UI.
Instead of working in the web UI, agents and tools can be created in an editor before using the ADK to import the assets into the active watsonx Orchestrate instance. This allows for version control of agents and tools.
If there are already agents and tools defined in watsonx Orchestrate, they can be exported using the web UI to be subsequently managed using the ADK.
The ADK offers some capabilities that are not available in the web UI :
- adding credentials to tools that use OpenAPI and external agents. This capability is available from the Settings link at the bottom of the web UI on a production installation of IBM watsonx Orchestrate, but ADK is the only way to add credentials to the Developer Edition.
- importing additional models for agent development.
- copilot assistance which uses AI help guide the creation of the prompts used to defined the agent’s behaviour.
- evaluation framework to help verify agent behaviour by comparing to a ground truth data set.
Monitoring IBM watsonx Orchestrate Developer Edition
The developer edition has monitoring capability that can be enabled by adding command line options to the orchestrate start
command. There is -l
or --with-langfuse
to use Langfuse or -i
or --with-ibm-telemetry
to use IBM’s native observability framework. Only one of these switches can be used but they provide an additional web user interface where the behaviour of agents can be inspected.
These monitoring capabilities can provide insight into how an agentic application is working. It shows the data passed from agent to agent or agent to tool, which helps debug and tune the applications to deliver the required functionality.
Staying up to date
Development of IBM watsonx Orchestrate and the ADK is ongoing with updates being regularly delivered, so it is important to stay up to date.
You can check the version of the ADK using orchestrate --version
and compare it to the available releases and upgrade to the latest using command pip install --upgrade ibm-watsonx-orchestrate==<required version>
.
After upgrading you will need to restart the Development Edition with orchestrate server stop
and orchestrate server start -e .env -d -l
or with your preferred command line options.