diff --git a/test/schema/simple_agent.json b/test/schema/simple_agent.json new file mode 100644 index 0000000..60bc0b6 --- /dev/null +++ b/test/schema/simple_agent.json @@ -0,0 +1,19 @@ +{ + "apiVersion": "beehive/v1alpha1", + "kind": "Agent", + "metadata": { + "name": "test", + "labels": { + "app": "test-example" + } + }, + "spec": { + "model": "meta-llama/llama-3-1-70b-instruct", + "description": "this is a test", + "tools": [ + "code_interpreter", + "test" + ], + "instructions": "this is a test." + } +} \ No newline at end of file diff --git a/test/schema/simple_agent.yml b/test/schema/simple_agent.yml new file mode 100644 index 0000000..011a6d1 --- /dev/null +++ b/test/schema/simple_agent.yml @@ -0,0 +1,13 @@ +apiVersion: beehive/v1alpha1 +kind: Agent +metadata: + name: test + labels: + app: test-example +spec: + model: meta-llama/llama-3-1-70b-instruct + description: this is a test + tools: + - code_interpreter + - test + instructions: this is a test. \ No newline at end of file diff --git a/tools/agent_schema.json b/tools/agent_schema.json new file mode 100644 index 0000000..e23fe46 --- /dev/null +++ b/tools/agent_schema.json @@ -0,0 +1,63 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://github.com/i-am-bee/bee-hive/tools/agent_schema.json", + "title": "BeeAI Agent", + "description": "A schema for defining Bee Hive workflows in YAML or JSON", + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "description": "API version beehive/v1alpha1" + }, + "kind": { + "type": "string", + "description": "must be Agent" + }, + "metadata": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "agent name" + }, + "labels": { + "type": "object", + "description": "agent labels, key: value pairs" + } + }, + "required": [ + "name" + ] + }, + "spec": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Short human-readable desciption of this agent" + }, + "model": { + "type": "string", + "description": "The LLM model for this agent" + }, + "tools": { + "type": "array", + "items": { + "type": "string" + } + }, + "instruction": { + "type": "string", + "description": "The instruction (context) to pass to this agent" + }, + "code": { + "type": "string", + "description": "The (optional) code defintion for the agent" + } + }, + "required": [ + "model" + ] + } + } +} \ No newline at end of file