
---
### Création base de donnée
- Sélectionner un modèle d'intégration une fois selectionné plus de modification possible
	- Visibilté des rsultats du découpage, possibilité d'intervention
		- Pour ce faire cliquez sur le fichier qui termine l'analyse du fichier pour afficher les résultats du découpage
			- redirection vers la page chunk
				- possibilité en cliquant éditer le chunk et y apporter des modifications manuelles
				- possibilté d'ajout de mots-clés peut améliorer son classement

- [ ] Une fois votre base de connaissances créée et l'analyse des fichiers terminée, vous pouvez lancer une conversation IA.

### Configuration d'un Chat
-  Les conversations dans RAGFlow s'appuient sur une ou plusieurs bases de connaissances. 
		- Onglet Chat en haut mileu de l'image > Crer un assistant pour afficher Configuration du Chat
			- RAGFlow offre la flexibilité de choisir un modèle de chat différent pour chaque dialogue, tout en vous permettant de définir les modèles par défaut dans les paramètres du modèle système.
			-  Nommez le
				- Réponse vide permet de formater celles-ci
				- Si vous voulez de l'improvisation lorsqu'il ne récupère pas de réponse dans votre base de connnaissances, laissez-le vide
		1. Mettre à jour **le moteur d'invite** :
    
    - Dans **Système** , vous remplissez les invites pour votre LLM, vous pouvez également laisser l'invite par défaut telle quelle pour le début.
    - **Le seuil de similarité** définit la barre de similarité pour chaque bloc de texte. La valeur par défaut est de 0,2. Les blocs de texte présentant un score de similarité inférieur sont exclus de la réponse finale.
    - **La pondération de similarité des mots clés** est définie par défaut sur 0,7. RAGFlow utilise un système de score hybride pour évaluer la pertinence des différents fragments de texte. Cette valeur définit la pondération attribuée à la similarité des mots clés dans le score hybride.
        - Si **le modèle Rerank** est laissé vide, le système de score hybride utilise la similarité des mots-clés et la similarité vectorielle, et le poids par défaut attribué au composant de similarité vectorielle est 1-0,7=0,3.
        - Si **le modèle Rerank** est sélectionné, le système de score hybride utilise la similarité des mots-clés et le score de reranker, et le poids par défaut attribué au score de reranker est de 1-0,7 = 0,3.
    - Le nombre _maximal de blocs à alimenter dans le LLM est déterminé par_ **le nombre N supérieur** . Autrement dit, même si davantage de blocs sont récupérés, seuls les N premiers blocs sont fournis en entrée.
    - **L'optimisation multi-tours** améliore les requêtes utilisateur en utilisant le contexte existant dans une conversation multi-tours. Elle est activée par défaut. Lorsqu'elle est activée, elle consomme des jetons LLM supplémentaires et augmente considérablement le temps de génération des réponses.
    - **L'option « Utiliser le graphe de connaissances »** indique s'il faut utiliser le ou les graphes de connaissances dans la ou les bases de connaissances spécifiées lors de la récupération pour répondre aux questions multi-sauts. Une fois activée, cette option implique des recherches itératives sur les segments de rapports d'entités, de relations et de communautés, ce qui augmente considérablement le temps de récupération.
    - **Le raisonnement** indique s'il faut générer des réponses via des processus de raisonnement comme Deepseek-R1/OpenAI o1. Une fois activé, le modèle de chat intègre automatiquement la recherche approfondie lors de la réponse aux questions sur un sujet inconnu. Le modèle de chat recherche ainsi dynamiquement des connaissances externes et génère des réponses finales par raisonnement.
    - **Le modèle de reclassement** définit le modèle de reclassement à utiliser. Ce champ est laissé vide par défaut.
        - Si **le modèle Rerank** est laissé vide, le système de score hybride utilise la similarité des mots-clés et la similarité vectorielle, et le poids par défaut attribué au composant de similarité vectorielle est 1-0,7=0,3.
        - Si **le modèle Rerank** est sélectionné, le système de score hybride utilise la similarité des mots-clés et le score de reranker, et le poids par défaut attribué au score de reranker est de 1-0,7 = 0,3.
    - **Variable** désigne les variables (clés) à utiliser dans l'invite système. `{knowledge}`Il s'agit d'une variable réservée. Cliquez sur **Ajouter** pour ajouter d'autres variables à l'invite système.
        - Si vous n'êtes pas sûr de la logique derrière **Variable** , laissez-la _telle quelle_ .
### GUIDES
##### Modèles
- [x] API ✅ 2025-03-28
- [x] LLM locaux ✅ 2025-03-28

#### Ensembles de données

- [ ] Config de la base de connaissances
	- Objectif base de connaissances/chat sans hallucinations/gestion de fichier
	- [ ] Important choisir la méthode de chunk adapté à certains formats de fichiers [Configure knowledge base \| RAGFlow](https://ragflow.io/docs/dev/configure_knowledge_base)
		- Possibilité de modifier la méthode de segmentation d'un fichier sur la page Ensembles de données
		- [ ] Choisir la méthode d'embedding
		- La gestion de fichiers de RAGFlow vous permet de lier un fichier à plusieurs bases de connaissances, auquel cas chaque base de connaissances cible contient une référence au fichier.
		- Possibilité dans la knowledge Base de tlzcharger un fichier simple ou un dossier depuis votre machine locale
- Executer
	- RAGFlow utilise la fonction de rappel multiple de recherche plein texte et de recherche vectorielle dans ses chats. Avant de configurer un chat IA ajuster les paramètres suivants:
		- seuil de similarité: les fragments dont les similarités sont inférieures au seuil filtrés. d&fut 0.2
		- Pond&ration de similarité vectorielle: pourcentage de contribution de la similarité vectorielle au score global. Par défaut 0.3.
	
#### Définir les métadonnées
Ajouter des métadonnées à un fichier téléchargé
- Sur dataset de votre KB possibilité ajout métadonnées à tout fichier téléchargé. Permet d'ajouter des informations supplémentaires, telles URL, auteur, date, etc...
	- METADONNEES en format JSON sinon mises à jour non appliquées

#### Construire un Knowledge graph
Générez un graphique de connaissances pour votre base de connaissances
- Pour améliorer la réponse aux questions multi-sauts, RAGFlow ajoute une étape de construction de graphe de connaissances entre l'extraction et l'indexation des données. Etape crée des blocs supplémentaires à partir des blocs existants générés par la méthode de bloc spécifiée.
- Attention la construction d'un graphe de connaissances nécessite une mémoire, des ressources de calcul et des jetons importants.
- Ils sont particulièrement utiles pour répondre à des questions à sauts multiples impliquant une logique imbriquée. Ils surpassent les méthodes d'extraction traditionnelles pour répondre à des questions sur des livres ou des oeuvres comportant des entités et des relations complexes.
- Le modèle de Chat par défaut du système est utilisé pour générer le graphe de connaissances.

#### Utilisation des tag set
Utilisez un ensemble de balises pour baliser des blocs dans vos ensembles de données.
Auto-éttiquetage pour combler les lacunes sémantiques. 
- Cette fonctionnalité associe automatiquement les balises des ensembles de balises définis par l'utilisateur aux segments pertinents de votre base de connaissances, en fonction de leur similarité avec chaque segment. Ce mécanisme permet d'appliquer une couche supplémentaire de connaissances spécifiques à un domaine aux jeux de données existants, utile lorsque vous traitez un grand nombre de segments.
En règle générale, pensez à inclure les entrées suivantes dans votre table de balises :
- Descriptions des morceaux prévus, ainsi que leurs balises correspondantes.
- les requêtes utilisateur qui ne parviennent pas à récupérer les réponses correctes à l'aide d'autres méthodes, garantissant que leurs balises correspondent aux blocs prévus dans votre ensemble de données.
	- Création +créer une base de connaissance
		- Dans configuration de la KB créée et choisissez Tag comme méthode de fragment par défaut
			- Accédez à la page Dataset, puis importez et analysez votre fichier de tableau
			- Un nuage de mots-clés apparaît sous la section "tag view" indiquant que l'ensemble de mots-clés est créé
			- Cliquez sur l'onglet table pour afficher la fréquence des tag 
Un ensemble de balises n'intervient pas dans l'indexation ou la récupération des documents. Ne spécifiez pas d'ensemble de balises lors de la configuration de votre assistant de chat ou de votre agent.
- Une fois qu'un ensemble de balises est créé, vous pouvez l'appliquer à votre ensemble de données:
	- Accédez à la page Configuration de votre base de connaissances (ensemble de données)
	- Sélectionnez l'ensemble de balises dans la liste déroulante Ensembles de balises et cliquez sur Enregistrer pour confirmer.
	Si l'ensemble des balises est manquant dans la liste déroulante, vérifiez qu'il a été créé ou configuré correctement.

#### # Exécuter le test de récupération (retrieval test)
Une fois vos fichiers téléchargés et analysés, il est recommandé d'effectuer un test de récupération avant de procéder à la configuration de l'assistant de chat. Tout comme le réglage fin d'un instrument de précision, RAGFlow nécessite un réglage minutieux pour offrir des performances optimales en matière de réponses aux questions. Les paramètres de votre base de connaissances, les configurations de l'assistant de chat et les modèles, grands et petits, spécifiés peuvent tous avoir un impact significatif sur les résultats finaux. Un test de récupération vérifie si les fragments souhaités peuvent être récupérés, ce qui vous permet d'identifier rapidement les points à améliorer ou de repérer les problèmes à résoudre. Par exemple, lors du débogage de votre système de réponses aux questions, si vous savez que les fragments corrects peuvent être récupérés, vous pouvez concentrer vos efforts ailleurs.
- Si aucun modèle de reclassement n'est sélectionné, la similarité pondérée des mots clés sera combinée avec la similarité pondérée du cosinus vectoriel.
- Si un modèle de reclassement est sélectionné, la similarité pondérée des mots clés sera combinée avec le score de reclassement vectoriel pondéré.

#### Similarity threshold (similarité)
Ceci définit la norme pour la récupération des fragments : les fragments dont les similarités sont inférieures au seuil seront filtrés. Par défaut, le seuil est fixé à 0,2. Cela signifie que seuls les fragments dont le score de similarité hybride est égal ou supérieur à 20 seront récupérés.
#### Keyword similarity weight (de similarité des mots clés)
Cette valeur définit le poids de la similarité des mots-clés dans le score de similarité combiné, qu'il soit utilisé avec la similarité vecteur-cosinus ou un score de reclassement. Par défaut, elle est fixée à 0,7, ce qui donne un poids à l'autre composante de 0,3 (1 - 0,7).
#### Rerank model
- Si ce champ est laissé vide, RAGFlow utilisera une combinaison de similarité de mots clés pondérée et de similarité de cosinus vectoriel pondérée.
- Si un modèle de reclassement est sélectionné, la similarité pondérée des mots clés sera combinée avec le score de reclassement vectoriel pondéré.
L'utilisation d'un modèle de reclassement augmentera considérablement le temps nécessaire pour recevoir une réponse.

## Intégrez des fonctionnalités de chat dans votre application ou [votre page Web](https://ragflow.io/docs/dev/start_chat#integrate-chat-capabilities-into-your-application-or-webpage "Lien direct vers Intégrer les fonctionnalités de chat dans votre application ou votre page Web")

RAGFlow propose des API HTTP et Python pour intégrer ses fonctionnalités à vos applications. Pour plus d'informations, consultez les documents suivants :

- [Acquérir une clé API RAGFlow](https://ragflow.io/docs/dev/acquire_ragflow_api_key)
- [Référence de l'API HTTP](https://ragflow.io/docs/dev/http_api_reference)
- [Référence de l'API Python](https://ragflow.io/docs/dev/python_api_reference)

Vous pouvez utiliser iframe pour intégrer l'assistant de chat créé dans une page Web tierce :

1. Avant de continuer, vous devez [acquérir une clé API](https://ragflow.io/docs/dev/llm_api_key_setup) ; sinon, un message d'erreur apparaîtra.

# Acquérir la clé API RAGFlow

Une clé est requise pour que le serveur RAGFlow authentifie vos requêtes via HTTP ou une API Python. Ce document explique comment obtenir une clé API RAGFlow.

1. Cliquez sur votre avatar dans le coin supérieur droit de l'interface utilisateur RAGFlow pour accéder à la page de configuration.
2. Cliquez sur **API** pour passer à la page **API .**

