Sandgarden concepts
To effectively use Sandgarden, it is important to have an understanding of the following concepts and terminology specific to the Sandgarden product. For more information about how all these pieces fit together, see the Sandgarden architecture page.
cluster
Directors are arranged in logical groups called clusters. When a step needs to be built or run, the Sandgarden backend will assign it to any available director unless a specific cluster is specified.
connector
Connectors provide connections to external datasources (e.g. Postgres or MySQL), LLMs (OpenAI), and other tools. They are an abstracted connection that can be set up once and used in multiple steps or workflows without having to share connection credentials.
director
The director is the core component of customer-hosted Sandgarden infrastructure. One or more directors receive commands from the Sandgarden backend (see Sandgarden Architecture for more information) to run workflows and connect to connectors.
prompt library
The prompt library is where Sandgarden stores prompts that can be linked into individual steps. These prompts are named and versioned to aid in prompt iteration and testing. For more on how Sandgarden uses prompts, see Using prompts.
sand
sand
is the Sandgarden CLI tool. It is available for Windows, Mac, and Linux and a complete command reference is available here. Using it requires a Sandgarden API key.
step
A step is a discrete component of a workflow. It encapsulates one or several actions that a workflow can chain into a larger whole. Steps are written in Python (more languages coming soon) and are run via a Sandgarden director.
test
A test is a single set of inputs to a step or workflow combined with one or more validators which serve as a pass/fail indicator. A workflow or step is invokved with the given input, and its output is compared with the validator or validators. If the validators match, the test is marked as passing. If even one validator fails, the test fails. Tests are combined into test suites to provide comprehensive testing for a given workflow or step over time.
test suite
A test suite is a comprehensive set of tests for a specific step or workflow. It is composed of one or more tests. By regularly running test suites, you can track whether your workflows are improving over time and catch any regressions before your workflows go into production.
validator
A validator is a way of testing a step or workflow to ensure that its output is as expected. There are currently two types of validators:
- Regular expressions (validate that the output, or a portion of it, matches a specific regular expression)
- Workflow (a dedicated validator workflow to test the output of another workflow) For examples of both types of validators, see All about test suites.
workflow
A workflow is a complete process in Sandgarden. It is composed of one or more steps and passes the output of one step to the input of the next. It takes input and provides its output via an API endpoint, which is accessible either via the Sandgarden backend (https://api.sandgarden.com) or directly from a director.