In diesem Modell habe ich eine grundlegende KI-Schnittstelle mit externen Plugin-Funktionen erstellt; Eine Schnittstelle AI_Contracts ermöglicht die Anbindung an die KI; Durch die Implementierung der Schnittstelle und die Platzierung der kompilierten DLL im Ordner APPPlugins kann AI_Interface das Plugin erkennen und aufrufen, um eine Antwort zu erhalten, die an den Benutzer zurückgegeben wird. Das Projekt wurde in 4 Phasen entworfen; Jede Phase oder jeder Meilenstein ermöglicht es der Entwicklung und Erweiterung des Chatbots, ein bereichertes Produkt zu werden, das einer öffentlichen Veröffentlichung würdig ist;
Hier erhält die Oberfläche ein grundlegendes Design für die Ein- und Ausgabe per Text; Pflege des CHAT-Verlaufs; Diese Schnittstelle ermöglicht das grundlegende Testen der Schnittstelle. Es wurde kein Avatar hinzugefügt; Dies liegt auch daran, dass der Avatar nicht essentiell, sondern kosmetisch ist; In der ersten Phase konzentrieren wir uns hauptsächlich auf die Erstellung einer funktionalen Schnittstelle.
Dies ist der Mechanismus, mit dem wir es dem BENUTZER ermöglichen, Skripte zu entwerfen, die von der KI ausgeführt werden können. In der Anfangsphase; Die Bereitstellung der Mechanik steht im Mittelpunkt. Die ursprünglich verwendete Schnittstelle stellt nur die Struktur der Klasse bereit, die implementiert werden muss. Die Benutzerfunktion wird vom Hauptskript für alle Objekte dieses Typs aufgerufen, die am angegebenen Speicherort gefunden werden. Dies ermöglicht eine umfassende Erweiterbarkeit. Hier ist auch ein Punkt, an dem dem Benutzer Erweiterungen und interne Funktionen oder ein KI-Framework zur Verwendung als Hilfsskripte zur Verfügung gestellt werden können.
Im ersten Release der KI wird auch ein Beispiel-Plugin erstellt, um das Testen der Schnittstelle zu ermöglichen. SAMPLE_PLUGIN stellt auch eine Vorlage für die weitere Plugin-Erstellung bereit; ###Hinweis: Kleiner Fehler!!!!! AI_Contracts.Dll muss neben dem Plugin im Plugins-Ordner bereitgestellt werden? Relative Referenzierung für Plugin-Trennung. Wenn sich das Plugin im selben Ordner wie die Anwendung befand, versuchte die Anwendung, sich selbst zu lesen und stürzte ab, sodass ein separater Ordner erforderlich war. Die MAN-EXE-Datei muss auch auf die AI_Contacts-DLL zugreifen.
Doppelte Bereitstellung!.
In dieser Phase erstellen wir eine interne Speicherfunktion, indem wir eine Frage- und Antwortdatenbank bereitstellen. Hier können einfache Antworten im Frage- und Antwortstil erstellt werden, die den Benutzern der Anwendung einen Ausgangspunkt bieten. Allerdings gibt es Implementierungen, bei denen jede Runde in der Datenbank gespeichert wird. In dieser Iteration wird der Schwerpunkt stärker auf eine ÜBERWACHTE Methode gelegt. Es muss ein Datenbankeditor bereitgestellt werden. Dies wird jedoch zu einem späteren Zeitpunkt erfolgen; Die Ausführungsreihenfolge lautet „Plugins zuerst“, dann „Frage und Antwort“ und ermöglicht so die Priorisierung der Antworterkennung. Außerdem ist eine Fallback-Antwort erforderlich, um immer dann zu reagieren, wenn die KI keine Antwort erhält.
Eine Zustandsmaschine kann einen Mechanismus zum Halten emotionaler Zustände bereitstellen; In dieser Iteration wurde eine Schnittstelle verwendet, um eine Struktur für emotionale Zustandsobjekte bereitzustellen; Jeder Zustand wird in den Handler geladen; Emotionen werden in jeder Runde des Skripts erkannt und passen die aktuell gehaltenen Emotionen positiv und negativ an, was eine Intensivierung der Emotionen ermöglicht. Hier wird eine generische Reaktion gegeben, wenn sich der emotionale Zustand ändert. Auch andere Staatsformen können mithilfe einer Staatsmaschine von Runde zu Runde übertragen werden; Frühere Programmiermethoden nutzten häufig „wandernde Variablen“, ersetzten jedoch häufig die einzelnen Bundesstaaten durch endliche Quotientenwerte für den emotionalen Skew. IE glücklich = 0,78, SAD 0,23; Diese Technik ermöglicht keine Intensität der Emotionen; Die Intensität der Emotionen wird erhöht, z. B.: „Glücklich“ wird erhöht, wenn in der nächsten Runde „Glücklich“ erkannt wird; aber reduziert, wenn die nächste Emotion einfach neutral ist. bis die Intensität auf den Wert 0 gesunken ist, der den Zustand in „Neutral“ ändern kann.
Die Möglichkeit, das Plugin zu programmieren und zu kompilieren, kann über die Chatbot-Schnittstelle bereitgestellt werden; Hier habe ich eine Tabbed-Schnittstelle zum Erstellen von Plugins bereitgestellt. Die Vorlage, die wir in Stufe 1 implementiert haben, wird verwendet, um dem Benutzer ein Starter-Beispielskript zur Verfügung zu stellen, das er bearbeiten und erweitern kann. SAVE SCRIPT und COMPILE SCRIPT sind vorhanden;
Für jede Tabelle wird außerdem ein Dateneditor zum Bearbeiten der Frage- und Antwortdateien erstellt.
Hier werden wir den Code umgestalten, die Funktionalität anordnen und auf das UserScripting-Framework erweitern. Der Refactoring-Prozess und das Kommentieren ermöglichen eine spätere Bearbeitung und Verfeinerung der Anwendung; sowie dem Benutzer Verständnis vermitteln;
Für die Bereitstellung einer Rich UI ist auch Sprache erforderlich. Allerdings hat sich die Spracherkennung im Laufe der Zeit verbessert; Es wird hauptsächlich für Speech Out hinzugefügt.
Der APP werden einige grafische Verbesserungen und Themen hinzugefügt: (Vielleicht LCARS _ Star Trek Design!)
Für die Bereitstellung und den zentralen Zugriff auf die AI_Contracts-Komponente: Es wurde außerdem beschlossen, die Bibliothek mit NUGET als SpydazWb.AI.Contracts zu zentralisieren. Dies ermöglicht die Zentralisierung weiterer Aktualisierungen für die Plugin-Erstellung und optimale Bereitstellung: Zu diesem Zeitpunkt wurde auch der AI_Contracts-Quellcode aus dem Projekt entfernt und als NUGET-Referenzassembly HINZUGEFÜGT; Das AI_Contracts-Projekt kann jetzt unabhängig von der Benutzeroberfläche und den Plugins entwickelt werden; Plugins können auch als Nuget-Pakete auf einer zentralen Quelle separat von Nuget bereitgestellt werden; dh zentralisierte Website!