Amélioration des requêtes en langage naturel avec la configuration des balises
Les instructions IA ajoutent plus de contexte professionnel aux requêtes en langage naturel. Ils guident les utilisateurs et favorisent des réponses plus proches de leurs besoins et de leurs attentes.
Instructions de l'IA
Les instructions IA permettent de clarifier la façon dont le graphe de connaissances interprète les requêtes des utilisateurs et accède aux données. Lorsqu’un utilisateur soumet une requête, les instructions pertinentes à tous les niveaux applicables tels que le nœud, la propriété et la bordure sont prises en compte.
- Niveau du nœud (entité/table)
- Niveau de propriété (colonne/attribut)
- Edge Niveau (de relation)
Marqueur Toujours inclure
L’option permettant de définir un marqueur Toujours inclure permet aux utilisateurs d’indiquer qu’une instruction particulière doit être prise en compte sans condition. Cela est utile pour appliquer des filtres commerciaux critiques, comme toujours exclure certains états d’actifs, sauf demande contraire.
- Utilisez Toujours inclure pour les filtres critiques pour l’entreprise qui doivent s’appliquer, quelle que soit la formulation de la requête de l’utilisateur.
- Omettre : toujours inclure pour les instructions contextuelles qui ne doivent s’appliquer que le cas échéant.
- Vérifiez que les instructions marquées n’entrent pas en conflit les unes avec les autres ou ne produisent pas de résultats en double.
Le tableau suivant présente des scénarios courants dans lesquels les instructions IA améliorent la précision des requêtes et fournissent un meilleur contexte métier.
| N° | Modèle d’instruction | Exemple de requête : | Comportement sans instruction de l’IA | Exemples d’instructions sur l’IA | Comportement avec instruction de l’IA |
|---|---|---|---|---|---|
| 1 | Empêcher les chemins de traversée incorrects | Quelles sont les entreprises situées à New York ? | Lorsqu’aucune instruction n’est ajoutée, la requête passe de core_company à cmn_location table et filtre le champ ville par défaut. Mais si votre cas d’utilisation nécessite d’interroger l’emplacement à partir du champ ville de core_company table, vous devez écrire une instruction IA pour guider le système sur le chemin de traversée. | Instruction de table sur core_company table : pour les requêtes entreprise-ville, utilisez toujours directement core_company.city. Ne traversez PAS cmn_location. Cette instruction évite au système d’utiliser cmn_location chemin d’accès pour les requêtes d’entreprise basées sur la ville. |
Lorsque l’instruction est ajoutée, la requête correspond au champ ville de core_company table, puis filtre city=New York et renvoie toutes les sociétés correspondantes. |
| 2 | Fourniture d’un contexte spécifique à la colonne | Qui a organisé BBS0000013 session sur les sacs bruns ? | En l’absence d’instructions de l’IA, le système renvoie sys_id sans passer par host_s. Vous devez ajouter une instruction sur host_s colonne afin de fournir le contexte professionnel pour utiliser cette colonne lorsque la requête porte sur l’hôte. | Instruction de colonne sur host_s de x_snc_brown_bags_sessions table : Utilisez la relation s.host_s ou :host_s pour l’hôte d’une session de conteneur brun, PAS s.sys_created_by |
Lorsque des instructions sont ajoutées, la requête renvoie correctement le nom de host_s colonne. |
| 3 | Fourniture d’un contexte spécifique à la colonne | Quelle est la durée du mandat actuel de Kelsey Rodriguez (mois) ? | En l’absence d’instructions IA, le système peut ne pas donner un résultat précis car il peut fournir des informations incorrectes pour la colonne d’ancienneté. Vous devez ajouter une instruction pour guider le système afin de référencer la colonne de droite pour ces requêtes. | Instruction de colonne sur time_in_current_role colonne : Classer cette colonne par ordre de priorité lorsque la requête contient « affectation au rôle actuel » |
Lorsque des instructions sont ajoutées, la requête renvoie correctement l’heure de time_in_current_role colonne. |
| 4 | Fournir un contexte sur ce qu’il faut classer par ordre de priorité dans le cas de tables similaires | Donnez-moi le nom des rapports d’Allison Hill ayant des objectifs en retard >0 ? |
En l’absence d’instructions IA, LLM se réfère directement à la table « sys_user » pour extraire les détails de l’utilisateur au lieu de passer à la table WDF où ces informations sont stockées. Nous devons ajouter une instruction pour guider LLM afin qu’il fasse référence à la table de droite lorsqu’il existe des tables similaires. |
Instruction de table sur la table WDF – « x_snc_wdf_user » « Toujours donner plus de priorité à la « x_snc_wdf_user » par rapport aux tables sys_user et autres tables Glide » |
Lorsque des instructions sont ajoutées, la requête fait correctement référence à la table WDF et renvoie les résultats. |
| 5 | Fournir un contexte sur ce qu’il faut classer par ordre de priorité dans le cas de tables similaires | Quelle est votre fonction ? |
En l’absence d’instruction IA, LLM se réfère directement à la table « sn_hr_core_job » pour extraire les détails de la tâche au lieu de passer àla table sn_hr_core_profile » où ces informations sont stockées. Nous devons ajouter une instruction pour guider LLM afin qu’il fasse référence à la table de droite lorsqu’il existe des tables similaires. |
Instruction de table sur la table – « sn_hr_core_profile » « Donnez toujours plus de priorité à « sn_hr_core_profile » qu’à « sn_hr_core_job » lorsque l’utilisateur pose spécifiquement des questions sur les titres de poste. |
Lorsque des instructions sont ajoutées, la requête fait correctement référence à la table « sn_hr_core_profile » et renvoie des résultats. |
| 6 | Lever l’ambiguïté parmi plusieurs valeurs de choix similaires et déroutantes | Quels sont les modèles matériels à l’état normalisé ? |
En l’absence d’instructions de l’IA, le LLM se réfère à la valeur de choix « normalisé » de la colonne « État de normalisation », ce qui pourrait prêter à confusion quant à l’utilisation ou non d’autres valeurs de choix, car le champ « État de normalisation » comporte 5 valeurs de choix (normalisé, normalisé par le fabricant, manuellement normalisé, partiellement normalisé, correspondance introuvable). Nous devons ajouter une instruction pour guider LLM sur tous les choix à inclure dans l’état de normalisation. |
Instruction de colonne sur « État de normalisation de colonne » : « Considérez toujours l’état de normalisation comme normalisé lorsque la valeur de choix est l’un des choix suivants : « normalisé, normalisé par le fabricant, manuellement normalisé » |
Lorsque des instructions sont ajoutées, la requête considère correctement les 3 choix « normalisé, normalisé par le fabricant, manuellement normalisé » comme état normalisé et renvoie des résultats. |
Bonnes pratiques pour les instructions sur l’IA
Suivez ces instructions lors de la création d’instructions IA pour vérifier des performances et une précision optimales :
- Rédigez des instructions claires, sans ambiguïté et exploitables liées à la logique métier. Référencez toujours les tables (nœuds), colonnes (propriétés) et relations (bordures) appropriées. Utilisez des marqueurs tels que Toujours inclure uniquement lors de l’application du comportement commercial par défaut true.
- Évitez les instructions vagues ou contradictoires. Les instructions qui ne s’alignent pas sur le modèle de données sous-jacent peuvent perturber le système et entraîner des résultats incorrects. Par exemple, une instruction comme « Filtrer par fabricant » sans spécifier la colonne ou la condition est ambiguë.
- Utilisez des conditions pour contrôler quand la logique s’applique. Indiquez clairement quand une instruction doit être appliquée (par exemple, uniquement lorsque l’utilisateur demande des informations sur l’hôte), plutôt que d’appliquer la logique universellement.
- Gardez les instructions ciblées et généralisées. Les instructions doivent guider l’interprétation de l’intention dans des requêtes similaires, et non résoudre un seul cas ponctuel.
- Ne dupliquez pas la logique déjà traitée ailleurs. Évitez de reformuler les filtres ou les contraintes déjà appliqués par le biais de filtres de données pour éviter les conflits.
Prise en charge des synonymes, des filtres de données et des colonnes masquées
Synonymes :
- Chaque entité peut avoir jusqu’à cinq synonymes.
- Les synonymes favorisent une large couverture pour les termes alternatifs couramment utilisés.
- Le maintien d’un ensemble de synonymes gérable réduit l’ambiguïté dans la résolution des requêtes.
Filtres de données :
- Les filtres sont appliqués après la génération de Cypher, et non pendant.
- Les filtres dynamiques permettent une adaptation en temps réel en fonction du contexte de l’utilisateur.
- Améliore la précision et la pertinence des données renvoyées. Ne modifie pas la requête de graphique principale.
Colonnes masquées :
Les colonnes masquées ne peuvent pas être interrogées et n’apparaissent pas dans le résultat.
Par exemple : ajoutez Numéro d’employé en tant que colonnes masquées pour sys_user table afin de masquer le numéro d’employé des résultats de la requête.