wiki.ziemers.de

ziemer's informatik Wiki

Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:software:beuthbot:database-microservice

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
wiki:software:beuthbot:database-microservice [22.07.2020 18:44]
Tobias Belkner [Technologien]
wiki:software:beuthbot:database-microservice [23.07.2020 12:40] (aktuell)
Tobias Belkner
Zeile 6: Zeile 6:
    - [[[[wiki:software:beuthbot:database-microservice#Technologien|Technologien]]    - [[[[wiki:software:beuthbot:database-microservice#Technologien|Technologien]]
    - [[[[wiki:software:beuthbot:database-microservice#Funktionsweise |Funktionsweise ]]    - [[[[wiki:software:beuthbot:database-microservice#Funktionsweise |Funktionsweise ]]
 +   - [[[[wiki:software:beuthbot:database-microservice#API|API]]
  
  
Zeile 44: Zeile 45:
 </uml> </uml>
  
 +Da dieser Microservice nur eine Route besitzt, über welche der Intent gesendet wird, muss der Microservice dazu in der Lage sein, diesen Intent aufzulösen, sodass die richtige Datenbank-Operation ausgeführt wird. Der Intent kommt ursprünglich von Rasa. Dieser sieht wie folgt aus:
  
 +<code name="json">
 +{
 +   "user": {
 +      "id": 12345,
 +      "telegram-id": 12345,
 +      "nickname": "Al",
 +      "details": {
 +         "home": "Bonn",
 +         "birthday": "23.06.1912",
 +         ...
 +      }
 +   },
 +   "intent":{
 +      "name":"database-set",
 +      "confidence":0.9998944998
 +   },
 +   "entities":[
 +      ...,
 +      {
 +         "start":26,
 +         "end":36,
 +         "value":"krebstiere",
 +         "entity":"allergen",
 +         "confidence":0.9999893608,
 +         "extractor":"CRFEntityExtractor"
 +      },
 +      {
 +         "start":37,
 +         "end":51,
 +         "value":"alergisch bin.",
 +         "entity":"detail-allergic",
 +         "confidence":0,
 +         "extractor":"CRFEntityExtractor"
 +      },
 +      ...
 +   ],
 +   "text":"Merke dir, dass ich gegen Krebstiere alergisch bin.",
 +   ...
 +}
 +</code>
  
 +Durch den Intent, erfährt man, welche Operation ausgeführt werden soll und in den Entities steht drin, was hinzugefügt/gelöscht/ausgelesen werden soll, sowie von welchem User diese Operation ausgeführt werden soll. Die Entity mit dem höchsten Confidence-Score ist die gewollte Anfrage an die Datenbank.
  
 +==== API ====
  
 +=== Request ===
 +<code>
 +POST https://localhost:<PORT>/resolve
 +</code>
 +oder
 +<code>
 +POST https://localhost:<PORT>/database
 +</code>
 +
 +=== Response ===
 +
 +<code>
 +{
 +  answer: {
 +    content: 'Deine Daten:\n' +
 +      '\n' +
 +      'Nickname: **DennySchumann**\n' +
 +      'Vorname: **Denny**\n' +
 +      'Nachname: **Schumann**\n' +
 +      '\n' +
 +      'home: **köln**\n',
 +    history: [ 'intent-resolve' ]
 +  }
 +}
 +</code>
  
wiki/software/beuthbot/database-microservice.1595436299.txt.gz · Zuletzt geändert: 22.07.2020 18:44 von Tobias Belkner