सबसे अच्छा तरीका है फेसबुक बॉट चैट में उपयोगकर्ताओं से उत्तर स्टोर करने के लिए?

वोट
4

क्लाउडिया जे एस और योजना का उपयोग कर एडब्ल्यूएस लैम्ब्डा पर होस्टिंग पर एक फेसबुक दूत बॉट का निर्माण।

मैं उपयोगकर्ता प्रश्नों की एक श्रृंखला पूछना चाहता हूँ।

एक उपयोगकर्ता एक जवाब के साथ प्रतिक्रिया करते हैं, मैं को बचाने के लिए है कि बाद के लिए की जरूरत है और एक बार मैं सभी जानकारी की आवश्यकता है, मैं एक समारोह के लिए जवाब पारित करेंगे।

इस जानकारी को बचाने के लिए सबसे अच्छा तरीका क्या है?

मैं इस तरह के redis के रूप में कुछ कैशिंग परत में सोच रहा था, बल्कि इसलिए कि रैम में संग्रहित है मैं इसे खो देंगे जब lamda सर्वर बंद हो जाता है। MongoDB जाहिरा तौर पर ओवरहेड्स जब जोड़ने का एक बहुत है, लेकिन कम से कम लगातार हो जाएगा।

शायद सिर्फ एक सरल सर्वर?

कैसे अन्य सभी को यह क्या करता है? मुझे लगता है कि वहाँ एक सरल उपाय है कि मुझे याद आ रही है की तरह।

13/09/2016 को 05:47
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
5

मैं पहली बार के बारे में हिस्सा जवाब देंगे मैं इसे कैसे कर रहा हूँ मैं एक MongoDB उपयोग कर रहा हूँ:। मैं विचारों आप का उल्लेख के साथ toyed, लेकिन जल्दी ही कारण के साथ में स्मृति समाधान (Memcached, Redis) बाहर पार कर गया। मेरे अंतिम समाधान या तो एक संबंधपरक DB या MongoDB की तरह एक NoSQL करने के लिए नीचे आया था। ईमानदारी से कहूं तो अपने प्रोजेक्ट के पैमाने पर, मैं मजबूती के साथ डीबी प्रकार के बीच प्रदर्शन की तुलना के बारे में नहीं सोचा था।

मेरी विशेष सुविधा के साथ "रोडमैप," मैं एक अधिक "OOP" शैली दृष्टिकोण जब स्पष्ट रूप से एक उपयोगकर्ता वर्ग, धन्यवाद मोंगो की सामान्यीकृत संरचना करने के लिए परिभाषित करने के लिए बिना उपयोगकर्ता "वस्तु" के साथ काम कर मोंगो साथ जाने का फैसला किया। मैं एक ही MySQL के लिए किया जा सकता है समझ में, भी, सिर्फ इतना है कि प्रसंस्करण jsonडेटा अधिक "वस्तु की तरह" मेरे लिए है और flask, यानी user = getUserFromMongo, जो मुझे अजगर में एक dict तो मैं सिर्फ कर सकते हैं देता है user['first_name']। कोड belows के इस सादगी समझा जाएगा:

MongoDB के साथ बातचीत (किसी भी तरह इस महसूस की तरह ... एसक्यूएल रेल में सरल डेटाबेस बातचीत के लिए आदेश लिखने के लिए होने नहीं था)

MongoDB पर मेरे उपयोगकर्ता ऑब्जेक्ट डेटा उपयोगकर्ता

अंत में, के रूप में कैसे मैं उपयोगकर्ता इनपुट का प्रबंधन , मैं की Wit.ai की अवधारणा को अपनाया context। मैं कैसे वे यह वास्तव में पता नहीं है, लेकिन एक contextमेरे लिए बातचीत उद्देश्य के प्रकार है कि चल रहा है है। मैं इसे एक ढेर की तरह उपयोग करते हैं, और जैसे ही वर्तमान संदर्भ में किया जाता है, इसे बंद उपयोगकर्ता के संदर्भ डेटा पॉप। हर संदेश बॉट प्राप्त करता है के लिए, कार्यक्रम वर्तमान संदर्भ मिलता है और प्रवाह निर्देशित करेंगे। जब भी एक अज्ञात त्रुटि उत्पन्न होती है (से निपटने अपवाद), सबसे अधिक संभावना उपयोगकर्ता कुछ बॉट नहीं समझती कह रहा है क्योंकि, मैं स्पष्ट contextडेटा भी।

MongoDB के बारे में अच्छा हिस्सा मैं आकार दे सकते हैं वह यह है कि contextहालांकि मैं चाहता हूँ और सिर्फ एक वस्तु के रूप में यह व्यवहार करते हैं। एक साधारण से एक की तरह है {name: yelp-search, stage:ask-for-user-location}, और मुझे लगता है जटिल भी है कि संरचना पर बनाया जा सकता है। बेशक, के ढेर कार्यान्वयन contextजटिल अतीत संदर्भ में जटिल बातचीत के साथ सौदा नहीं करता है।

मैं Github पर अपने प्रोजेक्ट डाल अगर आप इसे पर एक नज़र लेना चाहते हैं।

15/09/2016 को 20:17
का स्रोत उपयोगकर्ता

वोट
3

मैं भी इस्तेमाल किया है chatbot के लिए mysql , लेकिन मैं का इस्तेमाल किया है NodeJS कि app.For बैकएंड के लिए mysql मॉड्यूल बहुत मददगार होगा।

आप की जरूरत है उपयोगकर्ताओं की वर्तमान स्थिति की दुकान सवाल जवाब सत्र के लिए है और यह भी इस सवाल का जवाब खुद की दुकान उपयोगकर्ता से और आप एक बनाने की जरूरत है या स्विच करता है, तो-और कुछ-यदि यह मामला स्विच (राज्य) के रूप में अपनी स्थिति के आधार पर उपयोगकर्ता के लिए सवाल पूछ के लिए और स्विच के मामलों में सिर्फ यह है अद्यतन हालत आप chatbot की घटना वस्तु में उपयोगकर्ता के फेसबुक आईडी है , ताकि आप अपने राज्य और विभिन्न तालिका में प्रश्न-उत्तर के साथ व्यक्तिगत रूप प्रत्येक उपयोगकर्ता के डाटा स्टोर कर सकते हैं।

जैसे झंडे को परिभाषित करने के लिए {1,2,3}

उपयोगकर्ता के राज्य तो शुरुआत उसे जैसे सवाल -1 केवल के लिए पूछने में 1 हो जाएगा, और जवाब-1 के रूप में इस की दुकान, आप इसे ऐसा कर सकते हैं राज्य की जाँच है, और इस अद्यतन स्थिति के बाद से 2।

इसलिए, इस तरह से आप अपने राज्य के अनुसार प्रत्येक व्यक्ति के छात्र सवाल पूछने और उसे जवाब कर सकते हैं।

मैं सही ढंग से ऊपर ही किया है।

उम्मीद है कि यह आप के लिए मददगार होगा।

16/09/2016 को 09:38
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more