# External Contents

As a Dydu bot manager, you have the ability to centralize and organize your external content sources directly from an intuitive interface in the BMS, allowing you to generate instant responses based on these sources and thereby improve the quality of responses provided to end users. Through the BMS navigation menu, you can access the External Content page: Content > External Content.

## **Create a collection**

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FqXGaEgecfbig4BXqsAFV%2Fimage.png?alt=media&#x26;token=7d156797-ae39-42e5-8668-c7bbc0958051" alt=""><figcaption></figcaption></figure>

By clicking on the "Your Collections" modal, you need to choose the name of the collection you want to create, and then click on "Create."

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F0OfC9eky3iN1rlM5fwWR%2Fimage.png?alt=media&#x26;token=c5e6961b-aec9-4f69-adb8-6d2c62423673" alt=""><figcaption></figcaption></figure>

A page for your collection is displayed as shown below:

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FNUvB9hifJMnYjMlZSNk5%2Fimage.png?alt=media&#x26;token=bbe70837-1f3e-4a96-b8e1-39ef7bad1d46" alt=""><figcaption></figcaption></figure>

## **Feed the collection**

### Import files&#x20;

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FKEiJIAE3YS3GgVdwpqTO%2Fimage.png?alt=media&#x26;token=1a5459a7-4131-45eb-a8fc-bc753a27bdff" alt=""><figcaption></figcaption></figure>

It is possible to import multiple documents of the following types: PDF, DOCX, PPTX, TXT.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FutkvgVzcsAbgMJOIDmV8%2Fimage.png?alt=media&#x26;token=3d01abcf-ef4e-42b6-942a-8faa20629862" alt=""><figcaption></figcaption></figure>

### Register Sharepoints&#x20;

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FCFC8Iid62uj88Zt2N9gn%2Fimage.png?alt=media&#x26;token=7122a251-ffe3-4a7b-bd71-08f2c7973f52" alt=""><figcaption></figcaption></figure>

* The Dydu SharePoint reader enables the indexing of pages and files.
* Please refer to [this documentation](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application).

{% hint style="info" %}
You need to register a new application in your tenant that has read permissions.\
The tutorial below explains the process:\
<https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application>\
When you reach the "API permissions" step, the two necessary permissions are:

* Microsoft Graph -> Application Permissions -> Files.ReadAll (Grant Admin Consent)

* Microsoft Graph -> Application Permissions -> BrowserSiteLists.Read.All (Grant Admin Consent)\*
  {% endhint %}

* Set the permissions Files.ReadAll and BrowserSiteLists.Read.All for the Dydu application.

* &#x20;The required elements for the configuration are:

a. clientId&#x20;

b. client Secret (the value)&#x20;

c. tenant Id&#x20;

d. SharePoint site ID

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F2BR8O3vM8KyhdNjmO77d%2Fimage.png?alt=media&#x26;token=8162a1d7-1eb0-4f32-a671-8ed3b58a2637" alt=""><figcaption></figcaption></figure>

#### Details of the necessary steps on how to retrieve the required values from Azure for the Dydu LLM configuration:

Go to the [Azure](https://portal.azure.com/#home) portal:

1. Click on App registrations

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FxrPLMzjx5B3CIOwTAkGx%2Fimage.png?alt=media&#x26;token=13d37c68-04ec-4068-a963-abc585784915" alt=""><figcaption></figcaption></figure>

1. Click on New registration&#x20;

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FhWvqXZNzzpwavhSPiCBe%2Fimage.png?alt=media&#x26;token=3fab4e00-888b-4581-b9e9-4efefee7afb6" alt=""><figcaption></figcaption></figure>

3. Give a name and click on "Register"

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FcwoAU999g3W2ZzDqLsqe%2Fimage.png?alt=media&#x26;token=a50fa28f-3cb3-47ab-8351-f39a977da0f7" alt=""><figcaption></figcaption></figure>

4. The application ID is the client\_id

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FEWy0CtH2fd2wC6PQ0oOK%2Fimage.png?alt=media&#x26;token=a6abc687-2b05-4ff4-bd91-ea5a2cf47c1b" alt=""><figcaption></figcaption></figure>

5. Click on Certificates & secrets. Then, in the "Client secrets" tab, click on New client secret.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F7k3sN7Vqnx13tOOa072e%2Fimage.png?alt=media&#x26;token=284cc32d-b306-46e2-84b0-1b8ff4288359" alt=""><figcaption></figcaption></figure>

6. Click on Certificates & secrets

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FXUR5sEBS5sATR0EWMlfj%2Fimage.png?alt=media&#x26;token=44415a4c-40c5-46f3-a90b-648ff5d1738a" alt=""><figcaption></figcaption></figure>

7. Copy the generated secret value (client\_secret)

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FoDuk2K4ePeQImLSNf5mz%2Fimage.png?alt=media&#x26;token=9c88167b-55b5-4f09-9497-0d760e6e79d9" alt=""><figcaption></figcaption></figure>

8. Click on API permissions. Then click on Add a permission.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FjNs4E5eCNmLl0U1Dgolq%2Fimage.png?alt=media&#x26;token=794475f8-00eb-4695-aada-47d22fdd44cb" alt=""><figcaption></figcaption></figure>

9. **Click on Microsoft Graph**

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FRQTLGKibXTgvR2RJu73t%2Fimage.png?alt=media&#x26;token=02b1c12d-dca9-4439-910e-6fcda466a97f" alt=""><figcaption></figcaption></figure>

10. Then click on "Application permissions". Then add the Sites.Selected and Files.Read.All permissions.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FfQzUvZunBmxc6bZqAg5g%2Fimage.png?alt=media&#x26;token=2a6f98c5-8019-4300-a28b-cab45afb51a8" alt=""><figcaption></figcaption></figure>

11. Click on Grant admin consent for XXXX

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F0etpyaho7ZE8ZHek9aFM%2Fimage.png?alt=media&#x26;token=2247cd52-16be-4dbf-b385-599d6c0a7399" alt=""><figcaption></figcaption></figure>

12. To find the tenant ID:

Go to the website: <https://entra.microsoft.com/>

Click on "Overview":

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FEYqGrV8Y07yoFeDbvhWt%2Fimage.png?alt=media&#x26;token=8608112d-c2e0-4706-84c0-99c9159bbb1f" alt=""><figcaption></figcaption></figure>

The client ID corresponds to the tenant ID.

13. To find the SharePoint ID:

Compose the following URL: https\://\<tenant>.sharepoint.com/sites/\<site-url>/\_api/site/id

The SharePoint ID can be found in the result

```xml
<d:Id
  xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"  
  xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"  
  xmlns:georss="http://www.georss.org/georss"
  xmlns:gml="http://www.opengis.net/gml"  
  m:type="Edm.Guid">
67a90b63-3384-495d-9456-66141cf4ac28
</d:Id>
```

* **Features:**

\
&#x20;1\.   Indexing pages and/or files from an entire SharePoint site:

* Standard RAG
* Displaying the original SharePoint URL in the result provided by the RAG

2. Possible integration with SAML authentication:

* A user must be authenticated via SAML
* We retrieve their group memberships
* Document permission filtering is possible: access to a subset depending on the access rights.

{% hint style="info" %}
**Not indexed:**

* "Embedded" files in pages
* Videos, and some other types (Excel, WMF, ...)

Currently, the process of retrieving documents and indexing takes time (several minutes), and the most frequent refresh is once a day.
{% endhint %}

### Register Smart Tribune <a href="#register-smarttribune" id="register-smarttribune"></a>

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FbeaBAU4g07uS6Br4X9aA%2Fimage.png?alt=media&#x26;token=3181ec3f-5fc2-400c-a02d-36bf848244f1" alt=""><figcaption></figcaption></figure>

To configure a Smart Tribune source, the following informations are required :&#x20;

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FS6q4JBNacKv8RO6H130t%2Fimage.png?alt=media&#x26;token=46e55d21-7611-4f45-a137-9639c43b2362" alt=""><figcaption></figcaption></figure>

* Name: URL of the Smart Tribune API to use
* API Key
* API Secret
* Knowledge base ID list : refers to the IDs of the knowledge bases to retrieve (the same API key / API secret combination can grant access to multiple knowledge bases.)

Using these informations, all documents contained in the specified knowledge bases are retrieved, regardless of their original channel (FAQ).

### Register Websites&#x20;

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FQzPGlxRMqFA5juAHcak2%2Fimage.png?alt=media&#x26;token=5be4531f-ee77-4f4c-bdf5-32206276093c" alt=""><figcaption></figcaption></figure>

Type of Websites:&#x20;

* Domain

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FPBQnTFjejcbVQ2Nmb9uF%2Fimage.png?alt=media&#x26;token=5ae0e5e8-0d3c-4ed5-a6b0-0d45f7637a13" alt=""><figcaption></figcaption></figure>

* Sitemap

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FmeWtQF9x7nmN086Btkt7%2Fimage.png?alt=media&#x26;token=9276da32-9e2a-4266-9820-ccbf7c445436" alt=""><figcaption></figcaption></figure>

* Specific URLs

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F30m21jETb6u5INQtR9vc%2Fimage.png?alt=media&#x26;token=2c4bc73b-6b51-472f-8a9b-ade36096592b" alt=""><figcaption></figcaption></figure>

The informations about adding your source to your collection are displayed as follows:

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FxF473bH6uCEdG4lT43dR%2Fimage.png?alt=media&#x26;token=0d12da49-dbb9-4f09-844d-673fb17d5a2a" alt=""><figcaption></figcaption></figure>

* Name: the name of your source that you added&#x20;
* Added by: the bot manager's identifier&#x20;
* Created at: the date when you added your source&#x20;
* Status: the status of your source

There are three states for the status:<br>

1. "Waiting for action": status when no action has been taken.
2. "Completed": status when the operation (indexation or suggestion) is successful.
3. "Completed with errors": status when the operation (indexation or suggestion) was completed, but there are errors.
4. "Processing": status when the operation is ongoing.

* Action: the actions you can perform on your added source > delete, edit.

### **Suggestion and Indexation**&#x20;

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F7PzMxmd7zkVMuiEXqSWw%2Fimage.png?alt=media&#x26;token=55c620e8-71d8-4e97-96dd-47f313a2cd95" alt=""><figcaption></figcaption></figure>

* Suggest knowledge from the collection&#x20;
* Indexation: index the content of the collection

### **D**etails of items in the collection with the status "Completed with errors"

After indexing or suggestion has been performed, it is possible to obtain a status of **"Completed with errors"**.

By clicking on the status, a report is displayed with error details.

* **Details of Errors from Websites:**

In the report details, a **success and error percentage** is shown.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FwmJrJKKDBzMF8jnkjtFW%2FCapture%20d%E2%80%99e%CC%81cran%202025-06-03%20a%CC%80%2019.10.29.png?alt=media&#x26;token=97aa4df9-cf8d-405e-9e3a-e24b40a12fe4" alt=""><figcaption></figcaption></figure>

A **breakdown of HTTP error codes** is displayed.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F6qlFnDFyeBl4APoYwVld%2FCapture%20d%E2%80%99e%CC%81cran%202025-06-03%20a%CC%80%2019.11.57.png?alt=media&#x26;token=d241499a-812a-421a-bab0-bd46acb7bf6a" alt=""><figcaption></figcaption></figure>

The errors can be classified into different categories, such as **server-side issues or others**.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F29epyIrtNNUreOzQoosA%2FCapture%20d%E2%80%99e%CC%81cran%202025-06-03%20a%CC%80%2019.12.48.png?alt=media&#x26;token=a3129c88-b543-491a-baa8-2a092d2d264e" alt=""><figcaption></figcaption></figure>

* **Details of Errors from SharePoints:**

In the report details, a **success and error percentage** is also displayed.

The report provides **comprehensive information about all pages that could not be retrieved**, as well as the affected folders.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FerKAI95IMoQSohCp9wdL%2FCapture%20d%E2%80%99e%CC%81cran%202025-06-03%20a%CC%80%2019.13.30.png?alt=media&#x26;token=de832fbb-8fa9-411a-ae45-d7977156da59" alt=""><figcaption></figcaption></figure>

It also specifies, for each folder, the **specific files that could not be retrieved**, making it easier to identify missing elements.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FPoB5CoZTz5bO9eO9UTvF%2FCapture%20d%E2%80%99e%CC%81cran%202025-06-03%20a%CC%80%2019.13.58.png?alt=media&#x26;token=24ad5a6a-ea6f-474f-b36b-3166ec4fe9f2" alt=""><figcaption></figcaption></figure>

## **Collection configuration**

### Customizing responses

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F7vatAKy3J85mKg5QpPtA%2Fimage.png?alt=media&#x26;token=a89a5b6b-ec7a-4d83-a226-c8746f5b7409" alt=""><figcaption></figcaption></figure>

**Configuring the indexing parameters of a collection** allows you to precisely adapt the bot’s behavior to your business needs and the desired user experience. Each collection has a **dedicated card** where you can adjust several options to optimize the **relevance**, **length**, and **style** of generated answers, as well as the **selection of information sources**.

* **Temperature** defines the style of the bot’s answers: the higher the temperature, the more creative the answers can be; conversely, a low temperature favors strictly factual answers. This setting is especially useful to ensure that the tone and level of creativity of the bot match your usage context.
* **Number of output tokens** refers to the length of generated answers. You can choose between short, medium, or detailed answers depending on the complexity of the topics covered or your users’ preferences. Adjusting this parameter helps deliver more concise or, on the contrary, more in-depth information.
* **Minimum score required for answer sources** lets you filter the documents used by the bot: only sources with a score equal to or higher than the defined value will be considered in generating answers and displaying cited sources. This setting ensures that only sources deemed sufficiently relevant or reliable are used to build the answer.
* **Additional prompt** gives you the possibility to add specific context or an instruction that will always be considered when generating answers for the relevant collection. This free-text field allows you, for example, to impose a tone, specify a business instruction, or guide the bot on a sensitive topic.
* The **flexible management of the additional prompt** feature provides better control over the final prompt sent to the model. It allows users to view the complete final prompt and choose the precise placement of their additional prompt: at the beginning, in the middle, or at the end.

{% hint style="info" %}
You cannot modify the content of the final prompt itself; you can only insert the additional prompt and define its position to optimize the model's response.
{% endhint %}

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FACmbD9NzgTUeZQNQ9Tfy%2FCapture%20d%E2%80%99%C3%A9cran%20du%202025-11-25%2011-30-53.png?alt=media&#x26;token=5cf64fae-ec48-4ced-84b7-ba1ea5359654" alt=""><figcaption></figcaption></figure>

### Dynamic variables

**Dynamic variables** can be used in the additional prompt of each collection. For example, **`${capture.user_name}`** is automatically replaced by the actual value retrieved during the conversation or from a web service.

If a variable is not available, it is ignored or replaced by an empty string.\
This makes it possible to **personalize the instructions** sent to the RAG engine, resulting in answers tailored to each user’s context.

In order for the capture variables to be correctly replaced in the prompt, they need to be added to the parameters of the Web service: Dydu\_RAG.\
Here is an example with the capture variable `user_name`:

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F27Znm8gscAcWI3rSa1vy%2Fimage.png?alt=media&#x26;token=afb44a26-91d6-495a-b9a4-8c80838403e5" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FnIKUDAsybjsHdNCNSRQ1%2Fimage.png?alt=media&#x26;token=0b598a80-bce0-4bff-9591-e2b49d2c28e0" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
When the prompt is sent to the **RAG engine**, it no longer contains the variable in the form **`${capture.XXXX}`**, but directly its value.

For example, a prompt like:

* "*Give me the value contained in ${capture.city}*"

Will be sent to the engine as:

* "*Give me the value contained in Paris*"

If the variable **`${capture.city}`** contains "Paris".
{% endhint %}

### Contextualizing RAG with metadata

It is possible to precisely target the documents used by the RAG to generate a response. To do this, you can filter content using the metadata associated with each document (such as a URL or a category). All metadata can be used for this filtering, with the exception of the score.

Example of metadata:

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FoccQSnBg80XSxUzVakqO%2FCapture%20d%E2%80%99%C3%A9cran%20du%202026-03-23%2014-41-39.png?alt=media&#x26;token=3ed09336-8034-4af1-b718-3a68d29297fc" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
It is possible to view the metadata of your documents by clicking the button  ![](https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FmbPide1wuLsBwOqdQSPu%2FCapture%20d%E2%80%99%C3%A9cran%20du%202026-03-23%2014-45-00.png?alt=media\&token=bc41ba05-a98d-4199-b3ee-96a0c080650a) of an indexed collection.&#x20;
{% endhint %}

The configuration is done directly in the webservice named Dydu\_RAG. Simply add a new parameter titled metadataFilters. The value of this parameter must be entered in this format: \[{"key": "key", "operator": "operator", "value": "value"}].

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FTFw2ihuXHAy377sqPvjF%2FCapture%20d%E2%80%99%C3%A9cran%20du%202026-03-23%2014-33-05.png?alt=media&#x26;token=d99aa826-890f-48f4-a963-bf3fb6641f4c" alt="" width="563"><figcaption></figcaption></figure>

Three operators are available to define your filter:

* EQUALS: keeps only the content exactly matching the value.
* NOT\_EQUAL: excludes content exactly matching the value.
* SUB\_STRING: keeps content that includes all or part of the value.

For example, to limit the bot exclusively to Dydu product pages, use the SUB\_STRING operator on the URL as follows: \[{"key": "url", "operator": "SUB\_STRING", "value": "<https://www.dydu.ai/produits/>"}].

### Displaying the RAG Score in Responses

To display the **metadata score** attributed by the RAG (Retrieval-Augmented Generation) model for each response provided, it is necessary to modify the `Dydu_RAG` **webservice** and integrate the information into the **response format**.

To retrieve the **RAG score**, the variable must be extracted from the webservice's return JSON.

Add the following line **inside the JSON** structure to **extract the score value**:

```
var score = returnedJson.metadata[i]["score"];
```

After extracting the value, you must define the **display variable** and format how the score will be presented.

This code checks for the existence of the score and formats it for display, for example, by adding a line break and the label:

```
var scoreDisplay = "";

// Formatting the score for display (e.g.: "Score : [value]")
if (score != undefined && score != null) {
    scoreDisplay = "<br/> Score : <br/>" + score;
}
```

This completes the configuration; the response score will now be displayed with every answer generated by the RAG.

***

**Properly configuring these parameters** allows you to obtain **relevant, reliable, and tailored answers**, while maintaining control over how the bot interacts with your users for each indexed data collection.

## **Content management**

### **Automatic reindexing**

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FKtCnllyEPLviaqJSaBID%2FCapture%20d%E2%80%99%C3%A9cran%20du%202026-03-23%2013-48-01.png?alt=media&#x26;token=cfba4267-409c-4fb5-8108-2f90399fcfb4" alt="" width="563"><figcaption></figcaption></figure>

You can configure the **reindexing frequency** of collections using four modes: **none**, **daily**, **weekly**, or **monthly**.

* **None**: no reindexing is scheduled, data remains unchanged.
* **Daily**: reindexing is performed automatically every day at midnight.
* **Weekly**: reindexing takes place every Monday at midnight.
* **Monthly**: reindexing is performed on the first Monday of each month at midnight.

The day and time of reindexing are predefined and cannot be changed.\
This configuration allows you to adjust the **data update frequency** to your needs, while keeping the process simple and automatic.

### Content access optimization

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FGqM192v6hFACbMMDOOnK%2FCapture%20d%E2%80%99%C3%A9cran%20du%202026-03-23%2013-48-25.png?alt=media&#x26;token=53364bb7-52b4-41e7-8e1c-fc4b322356d8" alt="" width="563"><figcaption></figcaption></figure>

This option provides fast responses while maintaining high accuracy. It is essential when processing a large volume of data.

However, it may be less effective if your knowledge base is small. It is therefore recommended to test it first to verify its effectiveness on your content using the "Test the RAG" feature.

{% hint style="warning" %}
This option is not enabled by default.
{% endhint %}
