> For the complete documentation index, see [llms.txt](https://docs.datasaur.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.datasaur.ai/llm-projects/knowledge-base/file-properties.md).

# File Properties

File properties act as metadata for your files. They let you add details such as type, category, or other attributes that describe the file. This metadata helps organize your knowledge base and makes the retrieval process more accurate and efficient in the future.

## Create file properties

In a knowledge base, you can create file properties from:

* **Knowledge base configuration dialog:** Open the **Advanced settings** accordion and create them there.

  <figure><img src="/files/Zmzd9OSOWGgP2ji5Cs0P" alt=""><figcaption></figcaption></figure>
* **File properties section:** Open this section in the right sidebar and create them there.

  <figure><img src="/files/JE87ZSadfDc0WsVArWfe" alt=""><figcaption></figcaption></figure>

There are two ways for you to create file properties:

* **Upload a file properties file:** You can drag and drop the file into the dropdown area. Our supported formats are as follows: `.csv` and `.json`. For `.json` files, please find below a sample of our accepted format.

{% file src="/files/BGKrh4bgP8vFY9jhbwQR" %}

* **Create from scratch:** You can manually add a list of file property fields directly in the knowledge base.

  <figure><img src="/files/gBSf8m41kUSEbX7JOLA0" alt=""><figcaption></figcaption></figure>

## File property types

Let's take a look at the available types of file properties.

### Text field

**Text field** lets you give information by typing in a short free-form text, up to a single line at a time.

<figure><img src="/files/cDwBAD8r65Jr4eFXdnVy" alt=""><figcaption></figcaption></figure>

During configuration, you can also configure these settings:

* **Required:** Specify whether this property must be filled.
* **Allow multiple answer:** Specify whether users can provide more than one answer.
* **Validation (in regex):** Specify patterns to ensure the input matches a specific format (example: email, phone number).

<figure><img src="/files/BzQgvmJiqSQZ5h1igAGQ" alt=""><figcaption></figcaption></figure>

### Text area

**Text area** lets you enter multiple lines of text, making it suitable for longer responses or detailed information.

<figure><img src="/files/MFHOZCsdzbkBux2qj8Tj" alt=""><figcaption></figcaption></figure>

During configuration, you can also configure these settings:

* **Required:** Specify whether this property must be filled.
* **Allow multiple answer:** Specify whether users can provide more than one answer.

<figure><img src="/files/ndrloC2kRhXOZmCAntDc" alt=""><figcaption></figcaption></figure>

### Dropdown

**Dropdown** lets you select an option from a list. The list is hidden until they expand it.

<figure><img src="/files/GsmnwE3MNTGWwKIEao6Q" alt=""><figcaption></figcaption></figure>

During configuration, you can configure these settings:

* **Dropdown options:** Add a list of options. If you already have a `.csv` file with a predefined options, upload it as an option set.
* **Required:** Specify whether this property must be filled.
* **Allow multiple answer:** Specify whether users can provide more than one answer.

<figure><img src="/files/wCjhadJXjT0mCu2ZwZo3" alt=""><figcaption></figcaption></figure>

* You can also allow selecting multiple answers by enabling **Allow multiple answers**.

### Hierarchical Dropdown

**Hierarchical dropdown** lets you select options from categories and subcategories. The list stays hidden until expanded.

<figure><img src="/files/IOMKBz1HZwGVZpqQba2T" alt=""><figcaption></figcaption></figure>

During configuration, you can configure these settings:

* **Dropdown options:** Add a list of options. If you already have a `.csv` file with a predefined options, upload it as an option set. You can download the sample here: [Sample option set (Hierarchical)](https://drive.google.com/file/d/1ZsSTZ138Ld2Kkcs_BHPLksP4StPrDbLY/view?usp=sharing).

{% hint style="info" %}
**Option set file components**

**1. The header**

`id,label` is the header. This will always be the first row in the .csv. The first label will have `1` as the id.

**2. id format**

The id format is similar to Microsoft Word's numbering format. In the example above, `Characters` is a part of `Harry potter` and the id will be 1.1.

1. `Harry potter`: the root-level.
2. `1`: id for the root-level
3. `Characters`: the second-level.
4. `1.1`: the second-level id.
   {% endhint %}

* **Required:** Specify whether this property must be filled.
* **Allow multiple answer:** Specify whether users can provide more than one answer.

<figure><img src="/files/t6S5qUX13xihdQoPwLjb" alt=""><figcaption></figcaption></figure>

**Date** lets you select a specific date using the calendar picker or enter it manually in the required format.

<figure><img src="/files/6PTDuUilf9uLeLJXr6SK" alt=""><figcaption></figcaption></figure>

During configuration, you can configure these settings:

* **Required:** Specify whether this property must be filled.
* **Date format:** Choose the format in which the date should be displayed (example: `DD-MM-YYYY`).
* **Date separator:** Select the character that separates day, month, and year ( `-` or `/`).
* **Use current date as default value:** Enable this option to automatically fill the field with the current date.

<figure><img src="/files/ojViZmPZX9fblRyBvk8E" alt=""><figcaption></figcaption></figure>

### Time

**Time** lets you select a specific time using the clock interface or enter it manually in the required format.

<figure><img src="/files/FTt8vkTFiItXn2UCQBJs" alt=""><figcaption></figcaption></figure>

During configuration, you can configure these settings:

* **Required:** Specify whether this property must be filled.
* **Time format:** Choose the format in which the time should be displayed (example: `HH:mm`).
* **Time separator:** Select the character that separates hours and minutes ( `:` or `.`).
* **Use current time as default value:** Enable this option to automatically fill the field with the current time.

<figure><img src="/files/CXkQu90fomF7adsQL8EP" alt=""><figcaption></figcaption></figure>

### Slider

**Slider** lets you adjust a value by sliding a handle along a bar, often used for selecting a range or level, such as volume.

<figure><img src="/files/ATFpYSo37Jm3uyYOgFLV" alt=""><figcaption></figcaption></figure>

During configuration, you can configure these settings:

* **Required**: Specify whether this property must be filled.
* **Slider range**: Define the minimum and maximum values for the slider.
* **Hide slider value from labelers**: Choose this option to conceal the slider value from labelers.
* **Slider range color**
  * **Start at**: Select the initial color.
  * **End at**: Select the final color.
* You can also preview your slider configuration.

<figure><img src="/files/X3HxNjuvXebSFDlEVSoo" alt=""><figcaption></figcaption></figure>

**Checkbox** is a simple box that you can check or uncheck to indicate a true or false decision.

<figure><img src="/files/Pb68tE1gz6pScNErcLcv" alt=""><figcaption></figcaption></figure>

During configuration, you can configure these settings:

* **Required**: Specify whether this property must be filled.
* **Hint**: Provide an optional hint to guide users in their input.

<figure><img src="/files/17a4NR9uxqmGEd5SfFou" alt=""><figcaption></figcaption></figure>

### URL

**URL** is a field specifically meant for entering web addresses.

<figure><img src="/files/rTrwXYTDoxppVzQJAZ0M" alt=""><figcaption></figcaption></figure>

During configuration, you can configure these settings:

* **Required:** Specify whether this property must be filled.
* **Allow multiple answer:** Specify whether users can provide more than one answer.

<figure><img src="/files/n7ho27MYV8duizc8VDEL" alt=""><figcaption></figcaption></figure>

### Radio button

**Radio button** is set of options that are immediately visible, where you can select only one choice at a time.

<figure><img src="/files/bulNIG47l6Pkt0ZpHDTa" alt=""><figcaption></figcaption></figure>

During configuration, you can adjust the following settings:

* **Required**: Specify whether this property must be filled.
* **Hint**: Provide an optional hint to guide users in their input.
* **Radio button options**: Enter the choices available for selection. The maximum number of options is limited to 25.

<figure><img src="/files/dzJNbfyjjqITNBijuUmn" alt=""><figcaption></figcaption></figure>

### Grouped attributes

**Grouped attributes** lets you combine multiple properties that pertain to a single group.

<figure><img src="/files/RBxxIAD4Wm2rrZm1fUAu" alt=""><figcaption></figcaption></figure>

During configuration, you can include any of the property types listed above in grouped attributes.

<figure><img src="/files/Uvo9FIVSU8dJMF3t506Q" alt=""><figcaption></figcaption></figure>

## Save file properties

After the file properties are configured, they appear on the right side of each file. From there, you can add additional information for each file for better retrieval.

<figure><img src="/files/WlHfJUSH1XMHmBPMMy9J" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.datasaur.ai/llm-projects/knowledge-base/file-properties.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
