Überspringen Sie zu Inhalten

aaron.de

Primäres Menü
  • Über mich
  • Heim
  • 2018
  • August
  • J
  • E.D.D.I – Open Source Chatbot Platform Installation
  • Allgemein

E.D.D.I – Open Source Chatbot Platform Installation

aaron 8. August 2018

Installation
E.D.D.I kann sowohl aus den Quellen als auch als Docker Container installiert werde.  Ich werde die Installation aus den Quellen vornehmen.

Zunächst müssen wir die folgenden Anwendungen installieren:

  • Java SDK in der Version 8
  • git
  • Maven
  • mongoDB community Server

Umgebungsvariablen für Java und Maven setzen:

Pfade für Java, Maven und mongoDB setzen:

Pfade testen:

Quellen via git downloaden:

  • cd <Zielordner>
  • git clone https://github.com/labsai/EDDI.git

Anwendung via Maven bauen:

  • mvn clean install

Damit wären wir mit der Installation durch.

 

Datenbank starten

E.D.D.I benötigt mongoDB. Um mongoDB zu starten, müssen wir zunächst local einen leeren Ordner für die benötigte Datenbank erstellen. Der Standardpfad lautet:

  • C:\data\db

Anschließend kann mongoDB mit dem folgenden Befehl gestartet werden:

  • mongod

 

E.D.D.I starten

Ich werde die Anwendung mit Hilfe von IntelliJ starten. Hierfür muss das Projekt zunächst importiert werden:

 

 

Konfiguration der Umgebung 

VM options:

-DEDDI_ENV=development
-Xbootclasspath/p:D:\Sources\git\EDDI\alpn\alpn-boot-8.1.11.v20170118.jar

Working directory:

%MODULE_WORKING_DIR%

 

E.D.D.I starten

 

E.D.D.I das Sprechen beibringen

Damit E.D.D.I das Sprechen erlernt, muss man Ihm unter anderem einfache Wörter und Sätze (regular dictionary) beibringen. Regular dictionary bestehen sowohl aus einzelne Wörter und die dazugehörigen Rückmeldungen bzw. Antworten, die der Bot bei Eingabe dieser Wörter zurück gibt als auch aus ganzen Sätzen mit den dazugehörigen Antworten. Das folgende Beispiel veranschaulicht den Aufbau von ‚regular dictionary‘:

[codesyntax]

{
    "language" : "en",
    "words" : [
            {
                "word" : "hello",
                "exp" : "greeting(hello)",
                    "frequency" : 0
            }
      ],
    "phrases" : [
            {
                "phrase" : "good afternoon",
                "exp" : "greeting(good_afternoon),language(english)"
            }
      ]
}

[/codesyntax]

Für die Eingabe kann unter anderem die REST Schnittstelle „POST /regulardictionarystore/regulardictionaries“, die E.D.D.I über Swagger zur Verfügung stellt verwendet werden.
Weitere Informationen zu Swagger findet ihr unter anderem auf meiner Seite.

Bei der Erstellung des Eintrags wird für den entsprechenden Eintrag eine eindeutige ID generiert:
Der Eintrag kann anschließend über den folgende REST Endpoint aufgerufen werden:
http://localhost:7070/regulardictionarystore/regulardictionaries/5b69eb53178a9d36482e4a43?version=1
Unter Windows kann Cygwin für die Nutzung von CURL verwendet werden. Hierfür muss jedoch das entsprechende Binary Paket bei der Installation ausgewählt werden.
E.D.D.I kann zusätzlich zu einfachen Wörtern und Ausdrücken ‚regular dictionary‘ sogenannte Verhaltensregeln (Behavior Rules) erlernen. Verhaltensregeln werden in Gruppen unterteilt und werden innerhalb der einzelnen Gruppen sequentiell ausgeführt. Sobald eine Verhaltensregel innerhalb einer Gruppe ausgeführt wird, werden alle anderen Regeln der gleichen Gruppe übersprungen. Eine Verhaltensregel kann weitere Unterbedingungen (sub-conditions) beinhalten.
Der Aufbau sieht exemplarisch wie folgt aus:

[codesyntax]

{  
   "behaviorGroups":[  
      {  
         "name":"Group1",
         "behaviorRules":[
            {  
               "name":"Rule1",
               "actions":[  
                  "Kill Batman"
               ],
               "children":[  
                  {  
                     "type":"inputmatcher",
                     "values":{  
                        "expressions":"greeting(*)",
                        "occurrence":"currentStep"
                     },
                     "children":[  
                        {  

                        }
                     ]
                  }
               ]
            }
         ]
      }
   ]
}

[/codesyntax]

Die einzelnen Bedingungen (children) beinhalten das Feld ‚type‘. Durch ‚type‘ werden aktuell 4 unterschiedliche Arten von Bedingungen voneinander unterschieden.

  • Input Matcher
  • Context Matcher
  • Connector
  • Negation

Für weitere Details zu den Bedingungstypen verweise an dieser Stelle auf die Spezifikation.

 

Einrichtung folgt….. 

Table of Contents

Toggle
  • Über den Autor
      • aaron

Über den Autor

Avatar-Foto

aaron

Administrator

Besuchen Sie die Website Alle Beiträge anzeigen

Post navigation

Previous: CoAP: Zusammenfassung der Spezifikation (high level)
Next: Modbus: Zusammenfassung der Spezifikation (high level)

Verwandte Geschichten

BotFather_BG_Aaron_Kreis
  • Allgemein

Telegram Bot API Tutorial

aaron 15. September 2025
kameras
  • Allgemein

Web Application Firewall (WAF): Ein praktischer Leitfaden

aaron 8. September 2025
AsciiDoc_005
  • Allgemein

AsciiDoc & Kroki: eine bewährte Kombination für klare Softwaredokumentation

aaron 6. September 2025

Sie haben vielleicht verpasst

BotFather_BG_Aaron_Kreis
  • Allgemein

Telegram Bot API Tutorial

aaron 15. September 2025
kameras
  • Allgemein

Web Application Firewall (WAF): Ein praktischer Leitfaden

aaron 8. September 2025
AsciiDoc_005
  • Allgemein

AsciiDoc & Kroki: eine bewährte Kombination für klare Softwaredokumentation

aaron 6. September 2025
Data
  • Allgemein

Datensouveränität als Schlüssel für erfolgreiche KI

aaron 3. September 2025
Impressum & Datenschutz
Copyright © All rights reserved. | MoreNews von AF themes.
Diese Website benutzt Cookies. Wenn du die Website weiter nutzt, gehen wir von deinem Einverständnis aus.