Projects

Projects are the main organizational tool in DBNL. Each Project lives within a Namespace in your Organization and is accessible by everyone in that Namespace. Generally, you'll create one Project for every AI application that you'd like to test with DBNL. The list of Projects available to you is the default landing page when browsing to the DBNL UI.

What's in a Project?

Your Project will contain all of your app's Runs — a collection of results from your app — and all of the tests that you've defined to monitor the behavior of your app. It also has a name and various configurable properties like a default Baseline Run and Notifications.

The Project Header in DBNL

Creating a Project

From Scratch

You can create a Project either via the UI or the SDK:

Simply click the "Create Project" button from the Project list view and choose an option.

Project List

Copying a Project

You can quickly copy an existing Project to get up and running with a new one. This will copy the following items into your new Project:

  • Test specifications

  • Test tags

  • Notification rules

There are a couple of ways to copy a Project.

Exporting and Importing

Any Project can be exported to a JSON file; that JSON file can then be adjusted to your liking and imported as a new Project. This is doable both via the UI and the SDK:

Exporting

To export a Project, simply click the download icon on the Project page, in the header.

Exporting a Project

This will download the Project's JSON to your computer. There is an example JSON in the expandable section below.

Importing

Once you have a Project JSON, you can edit it as you'd like, and then import it by clicking the "Create Project" button on the Project list and then clicking the "Copy an Existing Project from File" option.

Importing a Project

Fill out the name and description, click "Create Project", and you're all set!

Sample Project JSON
{
    "project": {
        "name": "My Project",
        "description": "This is my project."
    },
    "notification_rules": [
        {
            "conditions": [
                {
                    "assertion_name": "less_than",
                    "assertion_params": { "other": 0.85 },
                    "query_name": "test_status_percentage_query",
                    "query_params": {
                        "exclude_tag_ids": [],
                        "include_tag_ids": [],
                        "require_tag_ids": [],
                        "statuses": ["PASSED"]
                    }
                }
            ],
            "name": "Alert if passed tests are less than 85%",
            "notification_integration_names": ["Notification channel"],
            "status": "ENABLED",
            "trigger": "test_session.failed"
        }
    ],
    "tags": [
        {
            "name": "my-tag",
            "description" :"This is my tag."
        }
    ],
    "test_specs": [
        {
            "assertion": { "name": "less_than", "params": { "other": 0.5 } },
            "description": "Testing the difference in the example statistic",
            "name": "Gr.0: Non Parametric Difference: Example_Statistic",
            "statistic_inputs": [
                {
                    "select_query_template": {
                        "filter": null,
                        "select": "{EXPERIMENT}.Example_Statistic"
                    }
                },
                {
                    "select_query_template": {
                        "filter": null,
                        "select": "{BASELINE}.Example_Statistic"
                    }
                }
            ],
            "statistic_name": "my_stat",
            "statistic_params": {},
            "tag_names": ["my-tag"]
        }
    ]
}

Copying

You can also just directly copy a given Project. Again, this can be done via the UI or the SDK:

There are two ways to copy a Project from the UI:

From the "Create Project" Modal

In the Project list, after you click "Create Project", you can click to the "Copy an Existing Project" option and choose a Project from the dropdown.

Copying a Project

From a Project Page

While viewing a Project, you can click the copy icon in the header to copy it to a new Project.

Was this helpful?