Verwendung umfangreicher LLM-Integrationen für mehr Relevanz und Zuverlässigkeit mit Muse Chat

NICO PERONY Director of AI Research
May 21, 2024|9 Min.
Verwendung umfangreicher LLM-Integrationen für mehr Relevanz und Zuverlässigkeit mit Muse Chat
Diese Website wurde aus praktischen Gründen für Sie maschinell übersetzt. Die Richtigkeit und Zuverlässigkeit des übersetzten Inhalts kann von uns nicht gewährleistet werden. Sollten Sie Zweifel an der Richtigkeit des übersetzten Inhalts haben, schauen Sie sich bitte die offizielle englische Version der Website an.

Mit Unity Muse können Sie 3D-Erlebnisse in Echtzeit mit Hilfe von KI-Funktionen erforschen, konzipieren und optimieren. Muse Chat ist eines von mehreren Tools, mit denen Sie die Erstellung beschleunigen können. Der Muse-Chat bringt Unity-Wissen und Editor-Kenntnisse in Ihre Fingerspitzen und kann Ihr Assistent sein, indem er hilfreiche Informationen wie Debugging-Ratschläge, die Verwendung von Code-Generierung für einen ersten Entwurf und mehr bereitstellt, alles im Kontext des Unity-Editors und Ihres Projekts.

Um Ihnen zu zeigen, wie genau Muse Chat konzipiert ist, um hilfreiche Lösungen zu bieten, werden wir Ihnen einen Blick unter die Haube geben, wie wir den Plan strukturieren, um eine Antwort zu erzeugen. Außerdem geben wir Ihnen einen Ausblick auf unsere aktuellen Untersuchungen und bevorstehenden Entwicklungen in der LLM-Pipeline.

Zuverlässige Antworten mit reichhaltiger Wissenserweiterung

Muse Chat ist als eine Pipeline aufgebaut, die aus mehreren verschiedenen Systemen und Large Language Model (LLM)-Integrationen für die Abfrageplanung und Arbitrierung verschiedener Informationen besteht. Für jede eingehende Anfrage erstellt Chat einen Aktionsplan, um das Format der bevorstehenden Antwort auf der Grundlage der Editorauswahl oder der von Ihnen bereitgestellten Informationen und des Problems, das Sie zu lösen versuchen, zu skizzieren.

"Ich habe alles selbst entwickelt und programmiert und Muse als meinen persönlichen Assistenten benutzt. Natürlich hatte ich die Unterstützung meiner Kollegen, aber ich glaube nicht, dass ich dieses Ergebnis in so kurzer Zeit hätte erreichen können, wenn ich Muse nicht an meiner Seite gehabt hätte."



- Jéssica Souza, Miterfinderin von Space Purr-suit

Bei der Zusammenstellung einer zuverlässigen Antwort gibt es zwei Herausforderungen. Die eine besteht darin, relevante Informationen für die Erstellung der Antwort abzurufen, und die andere darin, sicherzustellen, dass die Informationen sinnvoll in die Antwort eingebettet sind, und zwar auf der Grundlage des Kontexts und des Verlaufs des Gesprächs.

Das Wissen von Muse Chat wurde zusammengestellt, um diese beiden Herausforderungen zu meistern, mit mehr als 800.000 Informationsbrocken, wie z. B. Abschnitte der Dokumentation oder Codeschnipsel. Die Chunks werden verarbeitet und mit Verweisen auf umliegende Informationen angereichert, so dass jeder einzelne eine nützliche und eigenständige Informationseinheit darstellt. Sie werden sowohl nach ihrem Inhalt als auch nach ihrem einzigartigen Kontext katalogisiert, der in der Dokumentation nachvollzogen wird. Sie sorgt für Transparenz und Interpretierbarkeit des Systems und ermöglicht eine effektive Suche nach kompatiblen Informationen. Im folgenden Diagramm und in der Beschreibung sehen Sie, wie der Rest unserer aktuellen Pipeline aufgebaut ist.

Ein Diagramm, das die Schritte von der Entgegennahme einer Chat-Anfrage, der Feststellung, ob sich der Chat im Editor befindet oder nicht, und, falls dies der Fall ist, der Extraktion des relevanten Editor-Kontextes bis hin zur Erweiterung der Abfrage, der Wissensabfrage, der Formulierung und schließlich der Ausgabe einer Antwort beschreibt.
  • REQUEST: Ihre Anfrage kommt rein.
  • EDITOR-KONTEXT: Wenn Sie sich im Editor befinden, wird der relevante Kontext dynamisch aus dem Editor extrahiert, zusammen mit der Anforderung, Muse die richtigen Informationen zu geben.
  • ERWEITERUNG DER ABFRAGE: Das anfängliche Planungssystem führt eine Abfrageerweiterung durch, die dazu dient, präzise Pläne zu erstellen. Wir weisen einen LLM an, sein Bestes zu geben, um das Format des Wissenskatalogs zu replizieren und die ideale Struktur eines Chunks für jeden Schritt neu zu erstellen. Mit diesem Ansatz kann das System eine Einbettung berechnen, die den gewünschten Kontext, Inhalt und Anwendungsfall des gesuchten Chunks erfasst. Jeder dieser Planschritte wird für die feinkörnige semantische Suche verwendet.
  • WISSENSABFRAGE: Um die relevanten Informationen zu finden, verwenden wir symmetrisches semantisches Retrieval und Metadatenfilterung, um die Chunks in unserem Wissenskatalog abzurufen, die dem idealen geschätzten Chunk, der in der Phase der Abfrageerweiterung identifiziert wurde, am ähnlichsten sind.
  • FORMULATION: Um die endgültige Antwort zu erstellen, verwenden wir ein weiteres LLM, um eine Antwort zu verfassen, die auf der detaillierten Gliederung basiert, die sowohl die gefilterten ursprünglichen Planschritte als auch die Quellen enthält, die benötigt werden, um die relevanten zugrunde liegenden Informationen zu vermitteln.
  • ANTWORT: Muse Chat antwortet mit einer Antwort.
Aufbau einer kontextsensitiven Pipeline für die Integration von Editoren

Um die Arbeit zu vertiefen, die hinter der Bereitstellung von Muse Chat im Editor steckt, haben wir den zweiten Schritt der Pipeline eingeführt, die Editor-Kontextextextraktion. Indem wir dies ganz am Anfang der Pipeline hinzufügen, analysieren wir die Abfrage, um zu ermitteln, was aus dem Editor zu extrahieren ist, und analysieren dies, um Muse über die nächsten Schritte zu informieren. Auf der Grundlage Ihres Feedbacks haben wir mit der Projekteinrichtung, den Projekteinstellungen, GameObjects/Prefabs und dem Konsolenzugriff begonnen.

Wenn nun ein Konsolenfehler mit Warnungen oder Meldungen auftritt, klicken Sie einfach auf die entsprechende(n) Zeile(n) in der Konsole, um den Fehler in Ihre Auswahl aufzunehmen. Im folgenden Beispiel wurde ein Fehler wegen einer fehlenden geschweiften Klammer in einem Skript ausgelöst.

Klicken Sie auf einen Konsolenfehler, der als Auswahl neben der Frage hinzugefügt werden soll, und geben Sie die Eingabeaufforderung "Worum geht es bei diesem Fehler?" ein. Muse Chat sendet dann eine Antwort zurück, die besagt, dass es sich um einen Kompilierungsfehler aufgrund einer fehlenden geschweiften Klammer handelt.
Lassen Sie uns unsere aktuelle Pipeline in die Praxis umsetzen

Ein einfaches Beispiel ist die Beantwortung der Frage "Wie kann ich ein skriptfähiges Feature erstellen und es dem Universal Renderer hinzufügen? Dies wird in Planschritte umgesetzt:

  • REQUEST: "Wie kann ich ein skriptfähiges Feature für meine Rendering-Pipeline erstellen?"
  • EDITOR-KONTEXT: Muse erkennt, welche Render-Pipeline verwendet wird, welche Version von Unity ausgeführt wird und welche Projekteinstellungen für die Frage relevant sind. Anschließend wird der dynamische Kontext extrahiert, zusammen mit einer eventuell vorhandenen Editorauswahl.
  • ERWEITERUNG DER ABFRAGE: LLM erstellt einen Plan mit den folgenden Planschritten:

Einführung in das Konzept und den Zweck von skriptfähigen Funktionen für URP.

Erläutern Sie die Schritte zur Erstellung eines skriptfähigen Features in URP.

Stellen Sie ein Beispiel zur Verfügung, das zeigt, wie man die skriptfähige Funktion zum Universal Renderer hinzufügt.

  • WISSENSABFRAGE: In diesem Beispiel wird die Anfrage erfüllt, indem die Schritte zum Abrufen von Informationen aus der Einbettung befolgt werden.
  • FORMULATION: Die LLM vermittelt die endgültige Antwort.
  • ANTWORT: Sie erhalten eine Antwort, wie unten zu sehen, zusammen mit einem Codeschnipsel.
Wenn Sie die Aufforderung "Wie kann ich ein skriptfähiges Feature erstellen, das für meine Render-Pipeline geeignet ist?" eingeben, sendet Muse Chat eine Antwort zurück, in der definiert wird, welche Render-Pipeline vorhanden ist und welche Schritte für die Erstellung eines skriptfähigen Features erforderlich sind, zusammen mit einem Beispiel für einen Codeausschnitt, den Sie implementieren könnten.

Im obigen Beispiel mit URP besteht der endgültige Reaktionsplan aus einer Einführung, die auf dem Abschnitt "Was ist ein skriptfähiges Renderer-Feature" in der URP-Dokumentation aufbaut, den Schritt-für-Schritt-Anweisungen in "Erstellen Sie ein skriptfähiges Renderer-Feature und fügen Sie es zum Universal Renderer hinzu" und den Anweisungen im Unterabschnitt über das endgültige Hinzufügen des benutzerdefinierten Renderer-Features zu einem Universal Renderer-Asset.

Auf diese Weise sind wir in der Lage, generische Informationen aus dem LLM-Basiswissen effizient mit spezifischem Unity-Wissen aus Erstanbieterquellen auszutauschen, das sich auf empfohlene Ansätze oder Implementierungsdetails bezieht. Während das Auftreten von manchmal ungenauen Informationen bei der Verwendung von LLMs unvermeidlich ist, ist unser System so aufgebaut, dass die Häufigkeit dieser Fehler minimiert wird, indem es sich auf das Wissen der Einheit verlässt.

Eine sich entwickelnde Pipeline

Wir arbeiten an der Entwicklung eines umfassenden Ökosystems, das aus aufgabenspezifischen Modellen besteht. Mit der Erweiterung unserer Interoperabilität mit dem Editor wollen wir einen beschleunigten Arbeitsablauf ermöglichen, um Ihre Bedürfnisse besser zu erfüllen. Wir glauben, dass der Schlüssel dazu in der Förderung einer Kultur liegt, in der wir uns schnell an die Entwicklungen in Forschung und Industrie anpassen können, um schnell zu experimentieren.

Auf dem Weg zu einem integrierten Unity-Agenten

Muse Chat dient als Begleiter für die KI-gestützte Erstellung direkt im Editor. Wir arbeiten derzeit daran, die Auswahlmöglichkeiten für den Kontext im Editor zu erweitern, einschließlich der gesamten Hierarchie und des Projektfensters sowie des zugehörigen Codes für ein GameObject. Darüber hinaus investieren wir in weitreichende Systemverbesserungen, verbessern unsere Leistungsbenchmarks für Unity-Wissen und Codegenerierung und bereiten uns auf eine Zukunft mit aktiviertem Agentenverhalten vor, sodass Muse im Editor Aktionen in Ihrem Namen durchführen kann.

Auf der GDC haben wir gezeigt, wie Sie alle fünf Muse-Funktionen zusammen verwenden können, um eine Spielschleife in der Gartenszene unseres URP-Beispielprojekts anzupassen. Besuchen Sie unsere Sitzung "Unity Muse: Accelerating prototyping in the Unity Editor with AI", um zu erfahren, wie Sie alle Fähigkeiten von Muse nutzen können, um eine Projektszene und das Gameplay schnell anzupassen. Diese Interoperabilität zwischen Muse-Funktionen wird mit der Einführung neuer Verbesserungen für Muse Chat noch zunehmen.

Wir haben die Muse-Einführung aktualisiert, um es einfacher zu machen, eine kostenlose Testversion von Muse zu starten und die Muse-Pakete zu Ihren Projekten hinzuzufügen. Besuchen Sie die neue Muse Explore-Seite, um loszulegen, und lassen Sie uns wissen, was Sie von den neuesten Funktionen und Verbesserungen in Diskussionen halten.