> ## Documentation Index
> Fetch the complete documentation index at: https://docs.seekr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Add and manage datasets

> Upload and configure the test data used in evaluations.

Your dataset library holds the data you test models on. Upload data from a file, Seekr, or HuggingFace, then map its columns so [evaluators](/guard/app/evaluators) and [examinations](/guard/app/examinations) know what to send a model and how to score the response. Each row supplies a user question, and optionally a system prompt, retrieved context, prior conversation, and an expected answer.

You can build your dataset library before adding any models or evaluators.

## How a dataset is structured

When you create a dataset, you map your source columns onto SeekrGuard's message templates. These are the fields evaluators look for:

| Field                                                  | Contents                                                      |
| ------------------------------------------------------ | ------------------------------------------------------------- |
| [System Message](/guard/glossary#system-message)       | The system or instruction prompt (optional)                   |
| [User Message](/guard/glossary#user-message)           | The user's question or query                                  |
| [Context](/guard/glossary#context)                     | Background or retrieved material for RAG scenarios (optional) |
| [Chat History](/guard/glossary#chat-history)           | Prior turns of a multi-turn conversation (optional)           |
| [Assistant Message](/guard/glossary#assistant-message) | The expected or reference answer (optional)                   |

Which fields a dataset contains determines which evaluators it can run. For example, an evaluator that requires an expected answer can only run on a dataset that maps **Assistant Message**. See [Run examinations](/guard/app/examinations).

## Add a dataset

<Steps>
  <Step title="Add Dataset">
    On the **Datasets** page, click **Add Dataset**.
  </Step>

  <Step title="Upload Dataset">
    Enter a **Name** and **Description**, then choose a tab under **Data Source**.

    <Tabs>
      <Tab title="Upload File">
        Drag and drop a CSV or Parquet file onto the upload area, or click the area to choose a file from your computer.
      </Tab>

      <Tab title="Seekr Dataset">
        Choose a dataset from the **Dataset** list.
      </Tab>

      <Tab title="HuggingFace">
        1. Enter a dataset name in the format `organization/dataset-name`, such as `truthfulqa/truthful_qa`.
        2. Click **Check Dataset**.
        3. Choose a **Configuration**. Each one shows its row count.
      </Tab>
    </Tabs>

    Click **Next**.
  </Step>

  <Step title="Configure Templates">
    Your source columns appear as chips under **Available Columns**. Drag them onto the message templates.

    * To add placeholders by typing instead of dragging, click **Edit** on a message template.
    * A message template is a pattern applied to every row. A placeholder, written `{{{column_name}}}`, marks where that column's value goes when the row is sent to a model.
    * The **Live Preview** panel shows the messages a row will send to the model. Switch rows with the **Example** list.

    Click **Next**.
  </Step>

  <Step title="Preview & Save Dataset">
    Review the **Dataset Preview**, **Template Configuration**, and **Sample Data Preview**, then click **Save Dataset**. Any template you left unmapped reads **not set** in **Template Configuration**.
  </Step>
</Steps>

<Note>
  SeekrGuard extracts `tool_definitions` and `expected_tool_calls` columns as tool metadata. You do not map them to a message template. The tool evaluators, such as **Tool Name Match** and **Tool Result Coverage**, use them to score a model's tool calls.
</Note>

## Manage your datasets

The **Datasets** list shows one row per dataset, with **Name**, **Description**, **Num. Input Samples**, **Num. Output Samples**, **Created By**, **Last Updated**, **Visibility**, and **Actions**. Each dataset's **Visibility** appears as a chip: private, public, or collaborative. See [Visibility](/guard/glossary#visibility).

Above the table, filter by **Name**, reorder the list with **Sort By**, and limit it to your own datasets with **Only mine**.

Each row's **Actions** column offers:

* **View Dataset** – open the dataset's detail page to inspect its inputs and outputs.
* **Delete Dataset** – available only if you own the dataset or you are an admin. The dataset is archived rather than permanently destroyed.
