Skip to content

Commit

Permalink
[Docs] Gen AI (#1729)
Browse files Browse the repository at this point in the history
* [DOCS] GEN AI

* [DERCBOT-1044] WIP

* [DERCBOT-1044] WIP

* [DERCBOT-1044] WIP

* [DERCBOT-1044] WIP

* [DERCBOT-1044] WIP

* [DERCBOT-1044] WIP

* [DERCBOT-1044] WIP

* [DERCBOT-1044] WIP

* [DERCBOT-1044] Add vector store settings.

* [DERCBOT-1044] WIP

* [DERCBOT-1044] WIP

* [Docs] Add WAX demo

* 🚧 fixing images, pages site map... still remaining dead links, table formatting

* [Docs] Jekyll fix

* [Docs] Jekyll fix

* [Docs] Jekyll wip

---------

Co-authored-by: Benjamin BERNARD <[email protected]>
  • Loading branch information
assouktim and Benvii authored Oct 9, 2024
1 parent cfa697d commit 3c27cfd
Show file tree
Hide file tree
Showing 23 changed files with 443 additions and 1 deletion.
24 changes: 24 additions & 0 deletions docs/_data/tocs/fr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,30 @@ content:
url: 'fr/user/studio/faq-management'
- title: 'Le menu FAQ Training'
url: 'fr/user/studio/faq-training'
- title: 'Le menu Gen AI'
url: 'fr/user/studio/gen-ai/gen-ai'
children:
- title: 'Fonctionnalités'
children:
- title: 'Gen AI - Observability Settings'
url: 'fr/user/studio/gen-ai/features/gen-ai-feature-observability'
- title: 'Le menu _Gen AI / RAG Exclusions'
url: 'fr/user/studio/gen-ai/features/gen-ai-feature-rag-exclusion'
- title: 'Gen AI / RAG Settings'
url: 'fr/user/studio/gen-ai/features/gen-ai-feature-rag'
- title: 'Gen AI - Sentence generation'
url: 'fr/user/studio/gen-ai/features/gen-ai-feature-sentence-generation'
- title: 'Le menu Gen AI - Vector Store Settings'
url: 'fr/user/studio/gen-ai/features/gen-ai-feature-vector-store'
- title: 'Fournisseurs IA Gen'
children:
- title: Fournisseurs des modèles LLM et d'Embedding
url: 'fr/user/studio/gen-ai/providers/gen-ai-provider-llm-and-embedding'
- title: Fournisseurs d'observabilité
url: 'fr/user/studio/gen-ai/providers/gen-ai-provider-observability'
- title: Fournisseurs de base vectorielle
url: 'fr/user/studio/gen-ai/providers/gen-ai-provider-observability'

- title: 'Guides'
url: 'fr/user/guides'
children:
Expand Down
8 changes: 8 additions & 0 deletions docs/_fr/apropos/ressources.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,14 @@ en complément des [guides](../../guide/studio)

## Conférences / Video

* _Gen AI with TOCK_ @ _[WAX](https://www.waxconf.fr/)_
**2024** (RAG et LLM Open Source ? Vers des IA Génératives plus responsables.)
[ℹ️ info](https://www.waxconf.fr/#:~:text=RAG%20et%20LLM%20Open%20Source%20%3F%20Vers%20des%20IA%20G%C3%A9n%C3%A9ratives%20plus%20responsables.)
[📽️ 45 min](https://youtu.be/lYmUeYoVkwc)

[![RAG et LLM Open Source ? Vers des IA Génératives plus responsables](https://img.youtube.com/vi/lYmUeYoVkwc/0.jpg)](https://youtu.be/lYmUeYoVkwc)


* _[20 minutes from zero to live chatbot with Tock](https://www.youtube.com/watch?v=UsKkpYL7Hto)_
@ _Open Source Experience_ **2021** (démonstration, en Anglais)
[ℹ️ info](https://www.opensource-experience.com/event/20-minutes-from-zero-to-live-chatbot-with-tock/) /
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_fr/img/gen-ai/gen-ai-rag-excluded-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_fr/img/gen-ai/gen-ai-rag-excluded-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_fr/img/gen-ai/gen-ai-rag-test.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion docs/_fr/toc.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ title: Table des matières
- [Le menu _Settings_](../user/studio/configuration)
- [Le menu _FAQ Training_](../user/studio/faq-training)
- [Le menu _FAQ Management_](../user/studio/faq-management)
- [Le menu _Gen AI_](../user/studio/gen-ai/gen-ai)
- [Guides](../user/guides) :
- [Construire un modèle conversationnel](../user/guides/build-model)
- [Créer un bot multicanal (connecteurs)](../user/guides/canaux)
Expand All @@ -39,7 +40,7 @@ title: Table des matières
- [Modes disponibles](../dev/modes)
- [_Tock Bot API_](../dev/bot-api)
- [_Tock Bot intégré_](../dev/bot-integre)
- [Tests Unitaires](../dev/tester)
- [Tests Unitaires](../dev/tester)
- [Connecteurs](../dev/connecteurs)
- [Internationalisation (_i18n_)](../dev/i18n)
- [Liste des APIs Tock](../dev/api)
Expand Down
1 change: 1 addition & 0 deletions docs/_fr/user/studio.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Pour des thèmes ou fonctionnalités particulières, voir aussi les guides utili
* [Interface générale](../studio/general)
* [Le menu _Language Understanding_](../studio/nlu)
* [Le menu _Stories & Answers_](../studio/stories-and-answers)
* [Le menu _Gen AI_](../studio/gen-ai/gen-ai)
* [Le menu _Test_](../studio/test)
* [Le menu _Analytics_](../studio/analytics)
* [Le menu _Model Quality_](../studio/nlu-qa)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: Gen AI - Observability Settings
---

# Le menu _Gen AI - Observability Settings_

- L'observabilité des modèles de langage (LLM Observability) aide à surveiller, d'analyser et de comprendre le comportement des modèles de langage à grande échelle.
- Cela inclut la collecte de données sur leurs performances, la détection d'anomalies et la compréhension des erreurs qu'ils peuvent produire.
- L'objectif est de garantir que ces modèles fonctionnent de manière fiable, transparente, en fournissant des informations qui permettent d'améliorer leur performance et de corriger les problèmes potentiels.
- Plus précisément, nous pourrons :
- Voir les différents enchainements d'appels de LLM avec le prompt d'entrée et de sortie
- Analyser les portions de documents contextuels utilisés
- Suivre les informations et les métriques sur les coûts, le nombre de jetons consommés, la latence, etc.


> Pour accéder à cette page il faut bénéficier du rôle **_botUser_**.
> <br />( plus de détails sur les rôles dans [securité](../../../../../admin/securite#rôles) ).
## Configuration
Pour permettre à Tock de se connecter à un outil d'observabilité, un écran de configuration a été mis en place :

![LLM Observability](../../../../../img/gen-ai/gen-ai-feature-observability.png "Ecran de configuration de l'outil d'observation de l'IA")

## Utilisation

- Voici la [liste des fournisseurs d'observabilité des LLM](../../providers/gen-ai-provider-observability) qui sont pris en compte par Tock.
- Veuillez vous référer à la documentation de chaque outil pour comprendre comment l'utiliser.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Gen AI / RAG Exclusions
---

# Le menu _Gen AI / RAG Exclusions_

La "RAG Exclusions" est un concept qui permet à TOCK d'exclure des sujets du périmètre de réponse IA apportée par la RAG.

![RAG Exclusions - Entraînement](../../../../../img/gen-ai/gen-ai-rag-excluded-1.png "Ecran de configuration des sujets à exlure de l'IA")

En complément du prompt, il permet de limiter les réponses du bot afin qu’il reste dans son périmètre d’action et ne crée pas de réponse trop inventive.

Pour ajouter des sujets ou phrases que le bot ne doit pas traiter :
1. Aller dans le menu **_Language Understanding / Inbox_**
2. Sélectionner la phrase que vous souhaitez exclure
3. Cliquer sur “Exclude from RAG handling”

Sur l'écran **_Gen Ai / RAG Exclusions_**, vous verrez toutes les phrases/sujets qui ont été exclus des réponses du Bot.

![RAG Exclusions](../../../../../img/gen-ai/gen-ai-rag-excluded-2.png "Ecran des sujets exlus de l'IA")
63 changes: 63 additions & 0 deletions docs/_fr/user/studio/gen-ai/features/gen-ai-feature-rag.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
title: Gen AI / RAG Settings
---

# Le menu _Gen AI / RAG Settings_

## Configuration
Le menu _Gen AI / RAG Settings_ (Retrieving augmented Generation) vous permet de choisir les modèles d'IA générative pris en charge par Tock et de configurer un ensemble de critères spécifiques à chaque fournisseur d'IA.
Cette fonctionnalité permettra à TOCK de générer une réponse à une requête de l'utilisateur, sur la base d'un ensemble de documents intégrés dans une base de données vectorielle.

> Pour accéder à cette page il faut bénéficier du rôle **_botUser_**.
> <br />( plus de détails sur les rôles dans [securité](../../../../../admin/securite#rôles) ).
### Activation du RAG & Configuration du LLM Engine
![RAG - Partie 1](../../../../../img/gen-ai/gen-ai-settings-rag-llm.png "Ecran de configuration du RAG - Partie 1")

**RAG activation :**
- L’activation n’est possible qu’une fois que tous les champs marqués d’un * sont remplis.
- Une fois les champs remplis, choisir si oui ou non, le bot doit offrir l’option RAG.

**Un provider IA :** (LLM Engine)
- Cette section permet de paramétrer les options liées au modèle IA qui génère la réponse à l’utilisateur.
- Voir la [liste des fournisseurs d'IA](../../providers/gen-ai-provider-llm-and-embedding)

**Température :**
- On peut définir une température située entre 0 et 1.
- Celle-ci permet de déterminer le niveau de créativité du Bot dans la réponse apportée à une requête qui lui est envoyée.

**Prompt :**
- Le prompt est le script qui détermine la personnalité du Bot, le contexte dans lequel il doit répondre, la façon dont il doit s’adresser à l’utilisateur, les recommandations ou instructions de réponses, les styles et formats de réponses.

### Embedding Engine & Gestion de la conversation
![RAG - Partie 2](../../../../../img/gen-ai/gen-ai-settings-rag-embedding.png "Ecran de configuration du RAG - Partie 2")

**Un provider IA :** (Embedding Engine)
- Cette section permet de paramétrer les options liées au modèle IA qui interagit avec la base documentaire vectorisée.
- Voir la [liste des fournisseurs d'IA](../../providers/gen-ai-provider-llm-and-embedding)

**Indexing session :**
- Renseigner l’ID de l’Indexing Session de votre base documentaire vectorisée

**Conversation Flow :**
- No rag sentences : Lorsque le LLM, via le prompt et sa base documentaire, n’arrive pas à apporter une réponse, il entre dans le Conversation Flow, ce qui permet d'activer une story particulière.
- Par exemple : “Désolé, je ne trouve aucune information documentaire pour vous répondre, souhaitez-vous parler à un conseiller ou reformuler votre question ?”

### Import d'une Story Unkown si le RAG est activé

![Import d'une Story Unknown](../../../../../img/gen-ai/gen-ai-rag-import-story-unknown.png "Ecran de choix")

**Attention :** Lorsqu’on importe les Story d’un bot à l'autre, et que la RAG est activée en dans le bot recepteur, un message d’avertissement apparait concernant la Story Unknown (Story qui permet au Bot de répondre qu’il ne connait pas la réponse à une question).
- Deux options sont donc possibles :
- Désactiver le RAG et permettre l’import de la Story Unknown.
- Garder le RAG activé et importer la Story Unknown mais désactivée.

## Utilisation

Une fois le RAG configuré et activé, il peut être utilisé pour prendre le contrôle de toutes les questions qualifiées d'Inconnues par la NLP.

En voici un exemple :
![Test du RAG](../../../../../img/gen-ai/gen-ai-rag-test.png "Execution du RAG")



Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: Gen AI - Sentence generation
---

# Le menu _Gen AI - Sentence generation_

## Configuration

Le menu _Gen AI - Sentence Generation Settings_ permet de configurer la fonctionnalité de génération de phrases d'entraînement pour les bots FAQ.

> Pour accéder à cette page il faut bénéficier du rôle **_botUser_**.
> <br />( plus de détails sur les rôles dans [securité](../../../../../admin/securite#rôles) ).
![Génération des phrases - Configuration](../../../../../img/gen-ai/gen-ai-settings-sentence-generation.png "Ecran de configuration")

Pour activer la fonction de génération de phrases, vous devez choisir :

**Un provider IA :**
- Voir la [liste des fournisseurs d'IA](../../providers/gen-ai-provider-llm-and-embedding)


**Une température :**
- C’est la température qui apparaîtra par défaut lors de la création des phrases d'entraînement.
- Elle Permet de définir le degré d’inventivité du modèle utilisé pour générer des phrases.
- Elle est situé entre 0 et 1.0.
- 0 = pas de latitude dans la création des phrases
- 1.0 = Plus grande latitude dans la création des phrases.

**Un prompt :**
- Encadré dans lequel inclure le prompt qui permet la génération de nouvelles phrases d'entraînement.

**Le nombre de phrases :**
- Défini le nombre de phrases d'entraînement générées par chaque requête.

**Activation :**
- Permet d'activer ou pas la fonctionnalité.

## Utilisation

Pour utiliser la fonctionnalité de **Generate Sentences**, rendez-vous au menu _FAQs Management_ :

![Génération des phrases - Utilisation](../../../../../img/gen-ai/gen-ai-feature-sentence-generation-1.png "Ecran d'édition d'une FAQ")

1. Sélectionner **une ou plusieurs phrases** qui serviront de base d'entraînement.
2. Cliquer sur Modifier puis sur l'onglet **Question**
3. Cliquer sur **l’ampoule**, une fenêtre avec de nouveaux paramètres apparaît :

![Génération des phrases - Résultat](../../../../../img/gen-ai/gen-ai-feature-sentence-generation-2.png "Ecran de génération de phrases")

4. Choisir la ou les questions qui serviront de base d'entraînement.
5. Choisir si l’IA doit inclure des fautes d’orthographe, du langage de type SMS et des abréviations.
6. La température par défaut est celle qui a été choisie dans les Settings mais elle peut être modifiée ici selon le besoin.
7. Cliquer sur **Generate**.

L’IA va générer une liste de variantes de la question sélectionnée pour l'entraînement.
Sélectionner les variantes les plus appropriées à la requête et valider la sélection.

Les phrases issues de la session d'entraînement apparaîtront alors dans les questions de la FAQ.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: Le menu Gen AI - Vector Store Settings
---

# Le menu _Gen AI - Vector Store Settings_

## Configuration

Le menu _Gen AI - Vector Store Settings_ permet de configurer la base vectorielle à laquelle le RAG du bot sera connecté.

Dans l'IA, les bases vectorielles sont utilisées pour représenter des données sous forme de vecteurs, facilitant des opérations comme la similarité sémantique ou la classification.
Elles sont notamment utilisées dans les modèles d'apprentissage automatique pour traiter et analyser des textes, des images ou d'autres types de données complexes.

> Pour accéder à cette page il faut bénéficier du rôle **_botUser_**.
> <br />( plus de détails sur les rôles dans [securité](../../../../../admin/securite#rôles) ).

## Configuration
Pour permettre à Tock de se connecter à une base vectorielle, un écran de configuration a été mis en place :

![Vector Store](../../../../../img/gen-ai/gen-ai-feature-observability.png "Ecran de configuration des bases vectorielles")

## Utilisation

- Voici la [liste des fournisseurs de base vectorielle](../../providers/gen-ai-provider-vector-store) qui sont pris en compte par Tock.
- Veuillez vous référer à la documentation de chaque outil pour comprendre comment l'utiliser.
- Si aucune configuration n'a été fournie via le Tock studio, la configuration par défaut (spécifiée via les variable d'environnement) sera privilégiée :
- Dans Bot Admin, la variable `tock_gen_ai_orchestrator_vector_store` spécifie la nature de la base vectorielle par défaut. Cela permet à Tock, lors d'un appel RAG, de construire correctement les paramètres de recherche dans cette base.
- Dans l'Orchestrateur, voici la liste des variables d'environnements à préciser :
- `tock_gen_ai_orchestrator_vector_store_provider` Ex: PGVector
- `tock_gen_ai_orchestrator_vector_store_host` Ex: localhost
- `tock_gen_ai_orchestrator_vector_store_port` Ex: 5432
- `tock_gen_ai_orchestrator_vector_store_user` Ex: postgres
- `tock_gen_ai_orchestrator_vector_store_pwd` Ex: postgres
- `tock_gen_ai_orchestrator_vector_store_database` Ex: postgres
- `tock_gen_ai_orchestrator_vector_store_secret_manager_provider` Ex: GCP
- `tock_gen_ai_orchestrator_vector_store_credentials_secret_name` Ex: my-secret-name
17 changes: 17 additions & 0 deletions docs/_fr/user/studio/gen-ai/gen-ai.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: Gen AI
---

# Gen AI

Découvrez l'IA générative sur Tock :

- [Le menu _Gen AI / RAG Settings_](../features/gen-ai-feature-rag)
- [Le menu _Gen AI / RAG Exclusions_](../features/gen-ai-feature-rag-exclusion)
- [Le menu _Gen AI / Sentence Generation_](../features/gen-ai-feature-sentence-generation)
- [Le menu _Gen AI / Observability Settings_](../features/gen-ai-feature-observability)
- [Le menu _Gen AI / Vector Store Settings_](../features/gen-ai-feature-vector-store)

Démo :

[![RAG et LLM Open Source ? Vers des IA Génératives plus responsables](https://img.youtube.com/vi/lYmUeYoVkwc/0.jpg)](https://youtu.be/lYmUeYoVkwc)
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
---
title: Fournisseurs des modèles LLM et d'Embedding
---

# Fournisseurs des modèles LLM et d'Embedding

Voici la liste des fournisseurs des modèles LLM et d'Embedding pris en compte par Tock :

<table>
<thead>
<tr>
<th style="font-weight:bold">Fournisseur de l'IA</th>
<th style="font-weight:bold">Configuration du LLM</th>
<th style="font-weight:bold">Configuration de l'Embedding</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">
OpenAI<br/>
(<a href="https://platform.openai.com/docs/introduction">Docs</a>)
</td>
<td style="vertical-align: top;">
<pre>
{
"provider": "OpenAI",
"api_key": {
"type": "Raw",
"value": "aebb4b****************7b25e3371"
},
"temperature": "1.0",
"prompt": "Customized prompt for the use case",
"model": "gpt-3.5-turbo"
}
</pre>
</td>
<td style="vertical-align: top;">
<pre>
{
"provider": "OpenAI",
"api_key": {
"type": "Raw",
"value": "aebb4b****************7b25e3371"
},
"model": "text-embedding-ada-002"
}
</pre>
</td>
</tr>
<tr>
<td style="text-align: center;">
AzureOpenAIService <br />
(<a href="https://azure.microsoft.com/fr-fr/products/ai-services/openai-service">Docs</a>)
</td>
<td style="vertical-align: top;">
<pre>
{
"provider": "AzureOpenAIService",
"api_key": {
"type": "Raw",
"value": "aebb4b****************7b25e3371"
},
"temperature": "1.0",
"prompt": "Customized prompt for the use case",
"api_base": "https://custom-api-name.azure-api.net",
"deployment_name": "custom-deployment-name",
"api_version": "2024-03-01-preview"
}
</pre>
</td>
<td style="vertical-align: top;">
<pre>
{
"provider": "AzureOpenAIService",
"api_key": {
"type": "Raw",
"value": "aebb4b****************7b25e3371"
},
"api_base": "https://custom-api-name.azure-api.net",
"deployment_name": "custom-deployment-name",
"api_version": "2024-03-01-preview"
}
</pre>
</td>
</tr>
</tbody>
</table>
Loading

0 comments on commit 3c27cfd

Please sign in to comment.