Zum Inhalt springen

aaron.de

Primäres Menü
  • Über mich
  • Startseite
  • 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

aaron

Administrator

Besuchen Sie die Website Alle Beiträge anzeigen

Beitragsnavigation

Zurück: CoAP: Zusammenfassung der Spezifikation (high level)
Weiter: Modbus: Zusammenfassung der Spezifikation (high level)

Verwandte Geschichten

ComfiUI_WAN22
  • Allgemein

Lokale Video- und Bild-Produktion: Ein Workflow mit n8n, Google Sheets und ComfyUI

aaron 10. Januar 2026 0
ProfDrCarrot_800x540
  • Allgemein

Vibe Coding: Ein KI-generierter Telegram Desktop Client

aaron 28. Dezember 2025 0
Realisierung_der_RAG_Strategien
  • Allgemein

Vibe Coding: LLM-gestützte Entwicklung einer RAG-Pipeline in wenigen Stunden (PoC)

aaron 21. Dezember 2025 0

Das hast du vielleicht versäumt

ComfiUI_WAN22
  • Allgemein

Lokale Video- und Bild-Produktion: Ein Workflow mit n8n, Google Sheets und ComfyUI

aaron 10. Januar 2026 0
ProfDrCarrot_800x540
  • Allgemein

Vibe Coding: Ein KI-generierter Telegram Desktop Client

aaron 28. Dezember 2025 0
Realisierung_der_RAG_Strategien
  • Allgemein

Vibe Coding: LLM-gestützte Entwicklung einer RAG-Pipeline in wenigen Stunden (PoC)

aaron 21. Dezember 2025 0
ultralytics
  • Allgemein

Personentracking mit Ultralytics & YOLO11

aaron 3. Dezember 2025 0
Impressum & Datenschutz
Impressum & Datenschutz
Copyright © All rights reserved. | MoreNews von AF themes.