ডায়ালগ প্রবাহের সাথে কীভাবে চ্যাটবট তৈরি করবেন অধ্যায় 4 - পূরণের জন্য বাহ্যিক এপিআই

এই অধ্যায়ে আমরা একটি "স্টক ট্র্যাকার" বট তৈরি করি যা বাহ্যিক ওয়েবসাইট থেকে নির্দিষ্ট টিকার তথ্য পুনরুদ্ধার করতে RESTFUl API গুলি ব্যবহার করে। [আপনি যদি জারগানগুলি না বুঝতে পারেন তবে চিন্তা করবেন না আমরা তাদের সমাধান করব]]

অধ্যায় 1: চ্যাটবট সম্পর্কে জ্ঞান বোঝা এবং সংলাপ প্রবাহের পরিবেশ স্থাপন করা

দ্বিতীয় অধ্যায়: ডায়ালগফ্লোয়ের বিল্ডিং ব্লকগুলি বোঝা

অধ্যায় 3: একটি ট্রিপপ্লানার বট তৈরি করতে লিনিয়ার, ট্রেলিং এবং ননলাইনার ডায়ালগগুলি ব্যবহার করা

পরিপূরণের জন্য বাহ্যিক এপিআই ব্যবহার করুন

মডিউলটির ওভারভিউ:

  • ক্রিয়াগুলি সম্পূর্ণ করার জন্য একটি পাঠ্য প্রতিক্রিয়ার চেয়ে বেশি প্রয়োজন requires
  • ওয়েবহুকগুলির সাহায্যে ক্রিয়া সম্পাদন করুন [ওয়েবহুকগুলি কেবল এইচটিটিপি কলব্যাক যা পোস্টের অনুরোধের মাধ্যমে জানানো যেতে পারে]
  • ফায়ারবেসের জন্য ক্লাউড ফাংশন সহ হোস্ট কোড
  • অন্যান্য বাহ্যিক এন্ডপয়েন্টগুলি যেমন এডাব্লুএস ল্যাম্বডাসও কাজ করবে

সারাংশ:

পরিপূর্ণতা

কোডটি কার্যকর করা যা ব্যবহারকারীর অভিপ্রায়টি পূরণ করার জন্য ব্যবহারকারী দ্বারা অনুরোধ করা ক্রিয়া সম্পাদন করে।

কোডের জন্য, আমাদের ডাটাবেস আপডেট করার প্রয়োজন হতে পারে

কোডটি উত্পন্ন হওয়ার পরে, ব্যবহারকারীকে পাঠানো টেক্সসের প্রতিক্রিয়াটির একটি প্রতিক্রিয়া তৈরি হয়। ঘুরেফিরে এটি এজেন্টকে (বট) প্রেরণ করা হয়, যা পরিবর্তে সেই অ্যাপটিতে প্রেরণ করা হয় যার সাথে ব্যবহারকারী আপনার এজেন্টের সাথে যোগাযোগ করেছে।

... ..

উদাহরণ:

আমরা বাইরের উত্স থেকে অ্যাপলের শেয়ারের দাম পাব।

ইন্টারনিও প্ল্যাটফর্ম

ভারতীয় বাজারের একটি বিকল্প হতে পারে: https://kite.trade/startups

সাইন ইন করুন এবং আপনার অ্যাকাউন্টে যান। এটি আপনার এপিআই অ্যাক্সেস কীগুলি খুঁজে পাওয়া উচিত

এপিআই এক্সপ্লোরার:

https://intrinio.com/api-explorer?formula=historical_data&values=eyJpZGVudGlmaWVyIjoiQUFQTCIsIml0ZW0iOiICLZzZXF1ZW5jZSI6MH0%3D

ডকুমেন্টেশন

http://docs.intrinio.com/#intr Productions

পরীক্ষা:

https://api.intrinio.com/historical_data?uthorfier=AAPL&item=open_price&start_date=2018-07-12&end_date=2018-07-12

একটি প্রম্পট আপনার ব্যবহারকারী নাম এবং পাসওয়ার্ড জিজ্ঞাসা করবে। আমার অ্যাকাউন্ট পৃষ্ঠাতে যান এবং এর মতো একটি JSON প্রতিক্রিয়া পান।

ডেমো

  • ফায়ারবেসের জন্য ক্লাউড ফাংশন সহ স্টক মার্কেট ট্র্যাকারের পরিপূরণ সেট আপ করুন।
  • বাহ্যিক এপিআইগুলিতে অ্যাক্সেস পাওয়ার জন্য ব্লেজ পে ব্যবহার করুন

পদক্ষেপ 1: ফ্লো কথোপকথনে একটি নতুন এজেন্ট সেট আপ করুন

পদক্ষেপ 2: সত্তা সেট আপ করুন

পদক্ষেপ 3: অভিপ্রায়

পরিপূর্ণতা:

'কঠোর ব্যবহার'; কন্সট ফাংশন = প্রয়োজনীয় ('ফায়ারবেস-ফাংশন'); // কনস্ট্যান্ট {WebhookClient require = প্রয়োজন ('ডায়ালগফ্লো-পরিপূরণ'); // কনস্ট {কার্ড, পরামর্শ} = প্রয়োজন ('ডায়লগ প্রবাহ পরিপূর্ণতা'); //process.env.DEBUG = 'ডায়ালগফ্লো: ডিবাগ'; // লাইব ডিবাগিং বিবৃতিগুলি সক্ষম করে এক্সপোর্ট করে। ট্রাম্প চুষে ফেলে ";

এটি একটি ত্রুটি ঘটবে

ওয়েবহুক কল ব্যর্থ হয়েছে। ত্রুটি: ওয়েবহুক JSON প্রতিক্রিয়া পার্স করতে অক্ষম: ক্ষেত্র: বার্তায় google.cloud.dialogflow.v2.WebhookResponse খুঁজে পাওয়া যায় নি।

এটি কারণ ভাষা এবং প্রদর্শনের পাঠ্যটি ডায়ালগফ্লোয়ের 2 সংস্করণে "পরিপূর্ণতা পাঠ্য" দ্বারা প্রতিস্থাপন করা হয়েছে।

>

গেটস্টকপ্রাইস অভিপ্রায় অন্তর্ভুক্তির হিসাবে ওয়েবহুক সক্ষম করুন

এখন আমাদের একটি নির্দিষ্ট ক্রিয়াটির নামকরণ নিশ্চিত করা দরকার যা ওয়েবহুকের সময় ডাকা হবে।

ক্রিয়াকলাপটির ক্রিয়া এবং পরামিতি বিভাগে সেট করুন:

কোড:

আউটপুট:

আপনার মুখোমুখি হতে পারে কিছু ত্রুটি:

  1. ব্লেজ পেতে আপগ্রেড করুন
ত্রুটি: বিলিং অ্যাকাউন্টটি কনফিগার করা হয়নি। বাহ্যিক নেটওয়ার্ক অ্যাক্সেসযোগ্য নয় এবং কোটা গুরুতরভাবে সীমাবদ্ধ। এই বিধিনিষেধগুলি অপসারণ করতে বিলিং অ্যাকাউন্টটি কনফিগার করুন

২. সম্পত্তি ক্রিয়া পড়া যায় না

শুরুতেই লিখেছেন

চলুন পদক্ষেপ = অনুরোধ.body.result.action;

এবং এই ত্রুটি পেয়েছে:

TypeError: অপরিজ্ঞাত সম্পত্তি 'ক্রিয়াকলাপ' রফতানিতে পড়তে পারবেন না ial /https.js 26:47) /var/tmp/worker/worker.js:684:7 এর আওতায় /var/tmp/worker/worker.js:668:9 এর অধীনে _কোবাইনেডটিক্যালব্যাক (অভ্যন্তরীণ / প্রক্রিয়া / পরবর্তী_টিক.জেএস: 73৩:)) প্রক্রিয়াধীন _

তবে শিরোনাম এবং অনুরোধের সংখ্যা মুদ্রণের ফলে ডায়ালগফ্লো ভি 2 জিনিসগুলিকে কিছুটা পরিবর্তন করেছে।

ক্যোয়ারী পাঠ্য: response "প্রতিক্রিয়াআইডি": "b539a7bf-eccc-43a9-9f6b-a1fe6ea41763", "ক্যোয়ারী ফলাফল": T "ক্যোয়ারীটেক্সট": "গতকাল", "ক্রিয়া": "ইনপুট.সেটকপ্রিস", "পরামিতি": date "তারিখ" : "2018-07-18T12: 00: 00 + 05: 30", "সংস্থার নাম": "অ্যাপল", "দামের ধরণ": "উচ্চ"}, "সমস্ত প্রয়োজনীয় প্যারামপ্রেসেন্টস": সত্য, "পরিপূর্ণতা সংক্রান্ত তথ্য": [Text "পাঠ্য": text "পাঠ্য": [""]}], "অভিপ্রায়": name "নাম": "প্রকল্পগুলি / স্টকট্র্যাকার -২২f৮ এফ / এজেন্ট / অভিপ্রায় / cc সিটিসিসিসিএফ -২7171-4a60-83ce-868d6eea03a0", "প্রদর্শন নাম": "গেটস্টকপ্রিস" " -823e-de2bde1716f9 "}

"ক্যোয়ারী" এর পরিবর্তে "ক্যোয়ারী ফলাফল" যুক্ত করুন

চলুন ক্রিয়া = অনুরোধ.body.Queryresult.action;

সারসংক্ষেপ:

এই অধ্যায়ে আমরা কী শিখলাম? আমরা আমাদের বট ব্যবহারকারীর চাহিদা বিশ্লেষণ করতে ব্যবহার করেছি এবং ফায়ারবেসে হোস্ট ক্লাউড ফাংশন তৈরি করতে ডায়ালগফ্লোটির পরিপূর্ণতা মডিউলটি ব্যবহার করেছি যা একটি তৃতীয় পক্ষের ওয়েবসাইট থেকে একটি রিস্টল এপিআই এর মাধ্যমে ডেটা টেনে নিয়ে ব্যবহারকারীকে প্রেরণ করে ফিরে আসতে পারে।

অপেক্ষা করুন, কিন্তু আমরা কি সত্যিই এটি করেছি? এখন অবধি আমরা কোনও বাহ্যিক পরিবেশে বট বিতরণ / মোতায়েন করি নি, এটি স্ল্যাক বা টুইটারে থাকুক, যাতে ব্যবহারকারী সত্যই আমাদের বটের সাথে ইন্টারেক্ট করতে পারেন।

পরবর্তী অধ্যায়ে আমরা আমাদের অ্যাপ্লিকেশনকে স্ল্যাক চ্যানেলে সংহত / স্থাপন / বিতরণ করব এবং ব্যবহারকারীদের আমাদের চ্যাটবোটের সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করব।

তথ্যসূত্র:

বহুানীদর্শন পাঠ্যক্রম জনানী রবি দ্বারা

গুগলের ডায়ালগ প্রবাহের ডকুমেন্টেশন

এই গল্পটি মিডিয়ামের বৃহত্তম উদ্যোক্তা প্রকাশনার স্টার্টআপে বৈশিষ্ট্যযুক্ত ছিল, তারপরে 351,974 জনেরও বেশি লোক এসেছে।

এখানে আমাদের শীর্ষ গল্প সাবস্ক্রাইব।