# Projects

### What is a Project?

Projects are the main organizational tool in DBNL. Generally, you'll create one Project for every AI application that you'd like to analyze with DBNL. After a Project is created, you can start analyzing signals from your Production AI application using the [Analytics Workflow](https://docs.dbnl.com/v0.27.x/workflow/adaptive-analytics-workflow).

A Project is initially defined by

* **A** [**Data Connection**](https://docs.dbnl.com/v0.27.x/configuration/data-connections): This is how the production AI log data is ingested into DBNL, one of [OTEL Trace Ingestion](https://docs.dbnl.com/v0.27.x/configuration/data-connections/otel-trace-ingestion), [SDK Log Ingestion](https://docs.dbnl.com/v0.27.x/configuration/data-connections/sdk-log-ingestion), or [SQL Integration Ingestion](https://docs.dbnl.com/v0.27.x/configuration/data-connections/sql-integration-ingestion).
* **A default** [**Model Connection**](https://docs.dbnl.com/v0.27.x/configuration/model-connections): This is how DBNL creates LLM-as-judge metrics by default for the project. This is also how DBNL generates some of the insights as part of the unsupervised analytics in the Analyze step.
* **(Optional)** [**Notification Connections**](https://docs.dbnl.com/v0.27.x/configuration/notification-connections): This is how DBNL pushes alerts and reports to users using email, Slack, or PagerDuty.

<figure><img src="https://content.gitbook.com/content/8N8zzLtIch6ZiTSwWtXD/blobs/RYrvtW24gk1s7tpmT4ZX/DBNL-project-setup.png" alt=""><figcaption><p>A Project is initialized with a <a href="../configuration/data-connections">Data Connection</a> for log ingestion, a <a href="../configuration/model-connections">Model Connection</a> for the analysis pipeline, and optional <a href="../configuration/notification-connections">Notification Connections</a> for reporting and alerting.</p></figcaption></figure>

Through the [Analytics Workflow](https://docs.dbnl.com/v0.27.x/workflow/adaptive-analytics-workflow) a project grows to contain:

* All generated daily [Insights](https://docs.dbnl.com/v0.27.x/workflow/insights) and [Dashboards](https://docs.dbnl.com/v0.27.x/workflow/dashboards) displaying all tracked [Segments](https://docs.dbnl.com/v0.27.x/workflow/segments), [Metrics](https://docs.dbnl.com/v0.27.x/workflow/metrics), and alerts.
* All of the [Logs](https://docs.dbnl.com/v0.27.x/workflow/logs) ingested through the data connection, enriched with any added metrics.

Each Project lives within a [Namespace](https://docs.dbnl.com/v0.27.x/platform/administration) in your [Organization](https://docs.dbnl.com/v0.27.x/platform/administration) and is accessible by everyone in that Namespace. The list of Projects available to you in a Namespace is the default landing page when browsing to the DBNL UI.

### Creating a Project

You can create a Project via the UI in 4 steps

1. Click the "+ New Project" button on the [Namespace](https://docs.dbnl.com/v0.27.x/platform/administration) landing page.
2. Name the project and add an optional description.
3. Add or create a default [Model Connection](https://docs.dbnl.com/v0.27.x/configuration/model-connections) for the Project. This will be used for all LLM-as-judge metric calculations, embeddings, tokenization calculations, and analysis steps.
4. Select a [Data Connection](https://docs.dbnl.com/v0.27.x/configuration/data-connections), this will be how the logs are ingested into the project.

{% hint style="info" %}
You can also create a project via the [Python SDK](https://github.com/dbnlAI/docs/blob/main/reference/python-sdk.md), but for most use cases we recommend Project creation via the UI because it will provide useful code snippets and let you select from previously created [Data Connections](https://docs.dbnl.com/v0.27.x/configuration/data-connections) and [Model Connections](https://docs.dbnl.com/v0.27.x/configuration/model-connections) created in the [Namespace](https://docs.dbnl.com/v0.27.x/platform/administration) more easily. For creating a large number of projects programmatically or smoke testing a new environment the Python SDK can be helpful.
{% endhint %}

### Navigating Between Projects

You can view all Projects within a Namespace in the Namespace landing page or by clicking the breadcrumb dropdown menu at the top of any Project page.

<figure><img src="https://content.gitbook.com/content/8N8zzLtIch6ZiTSwWtXD/blobs/yfQUDIpeVmzH0J90wNeo/DBNL-namespace-landing.png" alt=""><figcaption><p>View all Projects in a Namespace from the Namespace landing page.</p></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/8N8zzLtIch6ZiTSwWtXD/blobs/HXwRUwFBilyD5EGvjx66/DBNL-project-selection.png" alt=""><figcaption><p>Navigate to a new Project or Namespace from the breadcrumb dropdown menu at the top of all project pages.</p></figcaption></figure>

### Modifying a Project

You can modify the settings of a Project by going to the Settings page on the left panel.

Here you can modify the

* [Data Connection](https://docs.dbnl.com/v0.27.x/configuration/data-connections)
* Default [Model Connection](https://docs.dbnl.com/v0.27.x/configuration/model-connections)
* [Notification Connections](https://docs.dbnl.com/v0.27.x/configuration/notification-connections)

{% hint style="warning" %}
If you modify the Data Connection for your Project make sure you are providing data in the identical format using the new connection (column names, etc).
{% endhint %}

### Debugging a Project

You can view and test your Data Connection by going to the Settings page and clicking on "Data Connection"

You can see recently run ingestion and analytics jobs in the [Status](https://docs.dbnl.com/v0.27.x/workflow/status) page, viewing errors and manually restarting jobs as needed.

{% hint style="info" %}
You can always reach out to us for help at <support@distributional.com>
{% endhint %}

### Next Steps

* Start pushing data to your project using the [Data Connection](https://docs.dbnl.com/v0.27.x/configuration/data-connections) that you selected. Consider backfilling logs if you have them and are using [SQL](https://docs.dbnl.com/v0.27.x/configuration/data-connections/sql-integration-ingestion) or [SDK](https://docs.dbnl.com/v0.27.x/configuration/data-connections/sdk-log-ingestion) ingestion to start getting [Insights](https://docs.dbnl.com/v0.27.x/workflow/insights) faster.
* After there is one week of data ingested, DBNL will be able to build a prior on production AI behavior DBNL and will start generating automated [Insights](https://docs.dbnl.com/v0.27.x/workflow/insights) as part of the [Adaptive Analytics Flywheel](https://docs.dbnl.com/v0.27.x/workflow/adaptive-analytics-workflow).
* You can start to analyze your data right away on the Project [Dashboards](https://docs.dbnl.com/v0.27.x/workflow/dashboards).
