# 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.

#### **1. Text field**

**Text field** allows users to 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>

#### **2. Text area**

**Text area** allows users to 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>

#### **3. Dropdown**

**Dropdown** allows users to 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 checking the box to Allow multiple answers.

#### **4. Hierarchical Dropdown**

**Hierarchical dropdown** allows users to 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" %}
**💡Let's break down the components of the option set file**

**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>

#### **5. Date**

**Date** allows users to 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>

#### **6. Time**

**Time** allows users to 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>

#### **7. Slider**

**Slider** allows users to 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>

#### **8. Checkbox**

**Checkbox** is a simple box that users 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>

#### **9. 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>

#### **10. Radio Button**

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

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

During configuration, users 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>

#### **11. Grouped Attributes**

**Grouped attributes** allows you to 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: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
