Before you begin
- Determine the type of agent that you currently have:
- Native agent: is an agent that was developed with the ADK or within the watsonx Orchestrate platform.
- External agent: is an agent that was developed with other frameworks or technologies.
- Both types of agents must be packaged.
Creating your folder structure
1
Create a folder
First, create a folder to store your agent package information, and enter the folder:
2
Create your offering scaffold
From this folder, run the following command:It creates the following folder structure:
3
Add or create your agent
In your
agents/my_agent.yaml
file, you can add an existing agent.yaml
definition file, if you already have an agent, or create a new agent based on that.To learn how to work with the agent definition files, see Authoring agents .If you have an existing agent.yaml
, you must also include the following tags:offerings/my_offering.yaml
follows this template:
my_offering.yaml
Packaging your offering
From inside the folder that you created, run the following command:- Creates a new zip file called
my_offering-1.0.zip
(the name matches the name of the offering that you previously defined). - Copies the
offerings/my_offering.yaml
file into the zip file as/publisher_name/offerings/my_offering/config.json
- For each agent under
.assets[my-offering].agents
in the offerings file:- Validates if an agent with that name exists in the agents folder.
- Validates if the agent matches the agent specification (for both native or external agents).
- Copies the agents from the agents folder into the zip as
/publisher_name/offerings/my_offering/config.json
. - For each tool under
.assets[my-offering].tools
:- Validates if a tool with that tool-name exists in the
tools/tool_name
folder. - Validates if the tool is a valid python tool
- Validates if a tool with that tool-name exists in the
- Exports the tool specifications to
/publisher/tools/tool_name/config.json
. - Exports the tool
artifact.zip
fromtools/tool_name
to/publisher_name/tools/tool_name/artifacts/tool_name.zip
. Therequirements.txt
for a tool can be assumed to be the origin folder.