Que recherchez-vous ?

Utiliser des intégrations LLM riches pour renforcer la pertinence et la fiabilité avec Muse Chat

NICO PERONY Director of AI Research
May 21, 2024|9 Min
Utiliser des intégrations LLM riches pour renforcer la pertinence et la fiabilité avec Muse Chat
Cette page a été traduite automatiquement pour faciliter votre expérience. Nous ne pouvons pas garantir l'exactitude ou la fiabilité du contenu traduit. Si vous avez des doutes quant à la qualité de cette traduction, reportez-vous à la version anglaise de la page web.

Unity Muse vous permet d'explorer, d'imaginer et d'élaborer des expériences 3D en temps réel en vous dotant de capacités d'IA. Muse Chat est l'un des nombreux outils que vous pouvez utiliser pour accélérer la création. En mettant les connaissances sur Unity et l'éditeur à portée de main, Muse Chat peut être votre assistant en vous fournissant des informations utiles, notamment des conseils de débogage, l'utilisation de la génération de code pour un premier projet, et plus encore, le tout dans le contexte de l'éditeur Unity et de votre projet.

Pour vous montrer comment Muse Chat est conçu pour fournir des solutions utiles, nous allons vous donner un aperçu de la façon dont nous structurons le plan pour générer une réponse. Nous vous donnerons également un aperçu de nos explorations actuelles et des développements à venir dans le domaine du LLM.

Des réponses fiables grâce à l'enrichissement des connaissances

Muse Chat est construit comme un pipeline composé de plusieurs systèmes différents et d'intégrations LLM (Large Language Model) pour la planification des requêtes et l'arbitrage des différents éléments d'information. Pour chaque demande entrante, le Chat établit un plan d'action qui définit le format de la réponse à venir en fonction de la sélection d'éditeurs ou des informations que vous avez fournies et du problème que vous essayez de résoudre.

"J'ai tout construit et codé moi-même en utilisant Muse comme assistant personnel. Bien sûr, j'ai eu le soutien de mes collègues, mais je ne pense pas que j'aurais pu atteindre ce résultat en si peu de temps si je n'avais pas eu Muse à mes côtés".



- Jéssica Souza, cocréatrice de Space Purr-suit

L'élaboration d'une réponse fiable se heurte à deux difficultés. La première consiste à récupérer les informations pertinentes pour élaborer la réponse, et la seconde à s'assurer que les informations sont intégrées de manière utile dans la réponse, en fonction du contexte et de l'historique de la conversation.

Les connaissances de Muse Chat sont rassemblées pour répondre à ces deux défis, avec plus de 800 000 éléments d'information tels que des sections de documentation ou des extraits de code. Les morceaux sont traités et enrichis de références aux informations environnantes, de sorte que chacun d'entre eux constitue une unité d'information utile et autonome. Ils sont catalogués à la fois en fonction de leur contenu et de leur contexte unique, tel qu'il ressort de la documentation. Il assure la transparence et l'interprétabilité du système et permet de retrouver efficacement les informations compatibles. Voir le diagramme et la description ci-dessous pour savoir comment le reste de notre pipeline actuel est structuré.

Diagramme détaillant les étapes de la réception d'une demande de chat, de la détermination de la présence ou non du chat dans l'éditeur et, le cas échéant, de l'extraction du contexte pertinent de l'éditeur, de l'expansion de la requête, de l'extraction des connaissances, de la formulation et, enfin, de la production d'une réponse.
  • DEMANDE : Votre demande arrive.
  • CONTEXTE DE L'ÉDITEUR : Si vous êtes dans l'éditeur, le contexte pertinent est extrait dynamiquement de l'éditeur, en même temps que la demande de fournir à Muse les informations appropriées.
  • L'EXPANSION DES REQUÊTES : Le système de planification initial procède à l'expansion des requêtes, qui a pour but de dériver des plans précis. Nous demandons à un LLM de faire de son mieux pour reproduire le format du catalogue de connaissances et de recréer la structure idéale d'un morceau pour chaque étape. Cette approche permet au système de calculer une intégration qui capture le contexte, le contenu et le cas d'utilisation du morceau recherché. Chacune de ces étapes du plan est utilisée pour une recherche sémantique fine.
  • LA RECHERCHE DE CONNAISSANCES : Pour trouver les informations pertinentes, nous utilisons la recherche sémantique symétrique et le filtrage des métadonnées pour récupérer les morceaux de notre catalogue de connaissances qui ressemblent le plus au morceau estimé idéal, identifié lors de l'étape d'expansion de la requête.
  • FORMULATION : Pour générer la réponse finale, nous utilisons un autre LLM pour composer une réponse, basée sur le plan détaillé contenant à la fois les étapes filtrées du plan original et les sources nécessaires pour transmettre les informations sous-jacentes pertinentes.
  • RÉPONSE : Muse Chat répond à cette question.
Construire un pipeline contextuel pour permettre l'intégration de l'éditeur

Pour approfondir le travail effectué pour rendre Muse Chat disponible dans l'Éditeur, nous avons présenté la deuxième étape du pipeline, l'extraction du contexte de l'Éditeur. En ajoutant cela au tout début du pipeline, nous analysons la requête pour identifier ce qu'il faut extraire de l'éditeur, et nous l'analysons pour informer Muse des étapes suivantes. Sur la base de vos commentaires, nous avons commencé par la configuration du projet, les paramètres du projet, les GameObjects/Prefabs et l'accès à la console.

Maintenant, si vous rencontrez une erreur dans la console avec des avertissements ou des messages, il vous suffit de cliquer sur la ou les lignes concernées dans la console pour ajouter l'erreur à votre sélection. Dans l'exemple ci-dessous, nous avons déclenché une erreur en raison de l'absence d'un crochet dans un script.

En cliquant sur une erreur de la console pour l'ajouter à la sélection à côté de la question, en tapant l'invite "What is this error about ? Muse Chat renvoie alors une réponse indiquant qu'il s'agit d'une erreur de compilation due à une parenthèse curly manquante.
Mettons en pratique notre pipeline actuel

Prenons un exemple simple : la réponse à la question "Comment puis-je créer une fonctionnalité scriptable et l'ajouter au moteur de rendu universel" dans une nouvelle conversation dans l'éditeur. Ces données seront converties en étapes du plan :

  • DEMANDE : "Comment puis-je créer une fonction scriptable adaptée à mon pipeline de rendu ?
  • CONTEXTE DE L'ÉDITEUR : Muse identifie le pipeline de rendu utilisé, la version d'Unity en cours d'exécution et les paramètres du projet pertinents pour la question. Il extrait ensuite le contexte dynamique, ainsi que toute sélection de l'éditeur que vous pourriez avoir.
  • L'EXPANSION DES REQUÊTES : LLM génère un plan avec les étapes suivantes :

Présenter le concept et l'objectif des fonctions scriptables pour l'URP.

Expliquer les étapes de la création d'une fonctionnalité scriptable dans URP.

Fournir un exemple montrant comment ajouter la fonction scriptable au moteur de rendu universel.

  • LA RECHERCHE DE CONNAISSANCES : Dans cet exemple, la demande est satisfaite en suivant les étapes pour extraire des informations de l'encastrement.
  • FORMULATION : Le LLM est le médiateur de la réponse finale.
  • RÉPONSE : Vous obtenez une réponse, comme indiqué ci-dessous, ainsi qu'un extrait de code.
En tapant l'invite "Comment puis-je créer une fonctionnalité scriptable adaptée à mon pipeline de rendu ?", Muse Chat envoie une réponse qui définit le pipeline de rendu utilisé et les étapes appropriées pour créer une fonctionnalité scriptable, ainsi qu'un exemple d'extrait de code que vous pouvez mettre en œuvre.

Dans l'exemple ci-dessus concernant l'URP, le plan de réponse final est composé d'une introduction qui s'appuie sur la section "Qu'est-ce qu'une fonctionnalité de rendu scriptable" de la documentation de l'URP, les instructions étape par étape de la section "Créer une fonctionnalité de rendu scriptable et l'ajouter à l'Universal Renderer", et les instructions de la sous-section sur l'ajout final de la fonctionnalité de rendu personnalisée à un actif de l'Universal Renderer.

De cette manière, nous sommes en mesure d'échanger efficacement des informations génériques provenant de la connaissance de base du LLM avec des connaissances spécifiques sur l'unité provenant de sources de première partie liées aux approches recommandées ou aux détails de la mise en œuvre. Bien que l'apparition d'informations parfois inexactes soit quelque peu inévitable lors de l'utilisation de LLM, notre système est conçu pour minimiser leur fréquence en s'appuyant sur les connaissances de l'Unité de confiance.

Une filière en évolution

Nous travaillons au développement d'un vaste écosystème composé de modèles spécifiques à certaines tâches. En développant notre interopérabilité avec l'éditeur, nous souhaitons accélérer le flux de travail pour mieux répondre à vos besoins. Nous pensons que la clé pour y parvenir est d'adopter et de favoriser une culture qui nous permette de nous adapter rapidement à la recherche et à l'évolution de l'industrie en vue d'une expérimentation rapide.

Vers un agent Unity intégré

Muse Chat sert de compagnon à la création assistée par l'IA, directement dans l'éditeur. Nous travaillons actuellement à l'extension de ce que vous pouvez sélectionner dans le contexte de l'éditeur, y compris la hiérarchie complète et la fenêtre de projet, ainsi que le code associé à un GameObject. En outre, nous investissons dans des améliorations générales du système, en améliorant nos performances en matière de connaissance d'Unity et de génération de code, et en préparant l'avenir avec un comportement d'agent activé, de sorte que Muse puisse effectuer des actions en votre nom dans l'éditeur.

À la GDC, nous avons montré comment utiliser les cinq fonctionnalités de Muse ensemble pour personnaliser une boucle de jeu dans la scène du jardin de notre projet d'exemple URP. Consultez notre session "Unity Muse : Accélérer le prototypage dans l'éditeur Unity avec AI" pour apprendre comment utiliser toutes les capacités de Muse pour personnaliser rapidement la scène et le gameplay d'un projet. Cette interopérabilité entre les fonctionnalités de Muse ne fera que s'accroître au fur et à mesure que nous apporterons de nouvelles améliorations à Muse Chat.

Nous avons mis à jour l'expérience d'accueil de Muse pour faciliter la mise en place d'un essai gratuit de Muse et l'ajout des packages Muse à vos projets. Visitez la nouvelle page Muse Explore pour commencer, et faites-nous savoir ce que vous pensez des nouvelles fonctionnalités et des améliorations apportées aux Discussions.