Ich entwickle einen Chat-Bot mit Python, Sellerie und dem MS-Bot-Framework. Ich möchte kleine Dialoge wie folgt hinzuzufügen:Wie man den Kontext/Zustand in einem Chat-Bot verwaltet?
Benutzer: Hallo
User: Bestellen Sie mich Pommes.
Bot: ok. Adresse?
Benutzer: xyz, Zustand, 82288
Bot: Verstanden. Ich werde Pommes für Sie bestellen.
Hier, wie kann ich vorübergehend speichern Pommes darauf zugreifen, nachdem der Benutzer gibt mir die Adresse?
Auch ich denke, es sollte für meinen Anwendungsfall akzeptabel sein, zu vergessen, was die Bestellung war, wenn der Benutzer nicht für 2-3 Minuten reagiert. Also, ich kann auch eine Zeitüberschreitung für die gespeicherte Variable haben.
Ich dachte an die Verwendung von Redis. Ich denke da an in einem redis db etwa wie folgt zu speichern:
{
'conversationId':['orderitem':'fries','address':'state, pincode']
}
im Grunde ein Schlüssel, Wert-Paar mit key = ConversationId und value = 'bestellen, Adresse'.
Also, sieht das eine gute Option aus?
Es ist eine gute Wahl redis zu verwenden, aber für eine bessere Praxis hat diese im Auge: 1. verwenden Sie json bilden ats zum Speichern von Daten. 2. Sie sollten auch eine Zeitüberschreitung für Redis-Daten haben. Es ist also gut, die Benutzerdaten in einer Datei zu speichern, wenn Zeitüberschreitungen verloren gehen. Dann können Sie ihren Status abrufen, wenn der Benutzer wieder zurückkehrt. Auf diese Weise verlieren Sie niemals die Benutzerstatus. – tashakori