ফেসবুকে মেসেঞ্জারে কীভাবে সম্পূর্ণ রক্ষণাত্মক চ্যাটবটটি রেল অন রেলগুলিতে তৈরি করবেন

(এআইপিআই এআই ব্যবহার করে)

সংক্ষিপ্ত বিবরণ

আপনি কীভাবে ফেসবুকে প্ল্যাটফর্মে একটি আবহাওয়া চ্যাটবোট তৈরি করতে পারবেন, তার উপর রবি এবং এপিআই.আই.আই. ব্যবহার করে এটি উদাহরণ

আমরা যে প্রযুক্তি স্ট্যাক ব্যবহার করেছি তা হ'ল

  • সার্ভার ব্যাকএন্ড: রুবেল অন রেল
  • প্রাকৃতিক ভাষা প্রসেসিং প্ল্যাটফর্ম: API.AI
  • ফেসবুক ম্যাসেঞ্জারে মোতায়েন
  • সিঙ্গাপুর জাতীয় পরিবেশ সংস্থা একটি দুর্দান্ত এপিআই সরবরাহ করে (বিনামূল্যে) যা বর্তমান আবহাওয়ার পাশাপাশি পূর্বাভাস দেয়

নমুনা বৈশিষ্ট্য:

(1) যখন ব্যবহারকারী বর্তমান আবহাওয়ার জন্য জিজ্ঞাসা করেন তখন "২ ঘন্টা আউট নাভকাস্ট" ফেরত দিতে সক্ষম

ব্যবহারকারী: "সিঙ্গাপুরে আবহাওয়া কেমন?" বট: "সিঙ্গাপুরের আবহাওয়া" আবহাওয়া} "

ব্যবহারকারী: "সিঙ্গাপুরের আবহাওয়া কেমন?" বট: "সিঙ্গাপুরের আবহাওয়া" আবহাওয়া} "

ব্যবহারকারী: "সিঙ্গাপুরে কি বৃষ্টি হচ্ছে" বট: "সিঙ্গাপুরে আবহাওয়া" আবহাওয়া "}"

আপনি এখানে আবহাওয়া বট চেষ্টা করতে পারেন: ডাব্লুবোট বাই রোবস্টেকহাউস

এপিআই সেটআপ করা হচ্ছে Set

Https://console.api.ai এ যান এবং আপনার জন্য একটি অ্যাকাউন্ট নিবন্ধন করুন। দয়া করে মনে রাখবেন অপি.আইআই এখনও সহযোগিতা সমর্থন করতে পারে না তাই আপনার দলের মধ্যে ভাগ করে নিতে জেনেরিক অ্যাকাউন্ট তৈরি করতে হতে পারে। Https://docs.api.ai/docs/get-st সূত্রটি পড়ুন এবং সেখানে পদক্ষেপগুলি অনুসরণ করুন। তারপরে, আপনার বুদ্ধি অ্যাপ্লিকেশনটির সেটিংসে যান এবং টোকেন আইডি পান।

API.AI এর সাথে রেল অ্যাপগুলিকে একীভূত করুন

ভাগ্যক্রমে আমাদের https://api.ai প্রাকৃতিক ভাষা প্রসেসিং পরিষেবাটিতে একটি দুর্দান্ত রুবি এসডি আছে। আপনি এই মণি সম্পর্কে আরও জানতে পারেন এখানে।

রত্ন 'অপি-আই-রুবি'

বেসিক ব্যবহার

কেবলমাত্র এপিআইআইরবি :: ক্লায়েন্ট কনস্ট্রাক্টরের কাছে সঠিক শংসাপত্রগুলি পাস করুন

ক্লায়েন্ট = এপিআইআইরবি :: ক্লায়েন্ট.নেইউ (: ক্লায়েন্ট_অ্যাক্সেস_ টোকেন => 'আপনার নিজের_সিএলআইসিএসিএএসসিএসএলকিএন')

এর পরে আপনি কমান্ড সহ https://api.ai এ পাঠ্য অনুরোধগুলি প্রেরণ করতে পারেন

প্রতিক্রিয়া = client.text_request 'হ্যালো!'

বা সংজ্ঞায়িত 'ইভেন্ট' এর মাধ্যমে অভিপ্রায় চাওয়ার চেষ্টা করুন:

প্রতিক্রিয়া_জারো = ক্লায়েন্ট.ভেন্যু_পরে 'MY_CUSTOM_EVENT_NAME'; প্রতিক্রিয়া_আপনি = ক্লায়েন্ট.সেন্ট_রেকুয়েস্ট 'এমওয়াই_ইভিভিউইভিটিএইচডি_ডাটাপসপ্পোরপুর', {: প্যারাম 1 => 'মান'} প্রতিক্রিয়া_আটও = ক্লায়েন্ট.ইভেনটি_ইকুইয়েস্ট 'এমওয়াই_ইভিভিডিজিট_ডাটাপ্যাস্পোরপুর', {: কিছু_প্রেম => 'কিছু_মূল্য' =: রিসেটকনেক্সট

আমাদের চ্যাট পরিষেবা ক্লাস

ক্লিনার কোডিংয়ের জন্য, আমি আমাদের একক শ্রেণীর মধ্যেই আমাদের রেলস অ্যাপ্লিকেশন এবং এপিআই.এআইএর মধ্যে সমস্ত সংহতিকে আবৃত করেছি। / পরিষেবাগুলিতে একটি নতুন chat_service.rb ফাইল তৈরি করুন। আমাদের যা করতে হবে তা হল একটি চ্যাট সার্ভিস ক্লাস তৈরি করা এবং এটি ইনিশিয়ালাইজারে, যেখানে আমরা একটি API.AI ক্লায়েন্ট স্থাপন করব

ক্লাস চ্যাটসোর্সির attr_reader: প্রতিক্রিয়া_মেসেজ
  ডিফ ইনিশিয়াল (uid) @client = ApiAiRuby :: ক্লায়েন্ট.নিউ (ক্লায়েন্ট_অ্যাক্সেস_ টোকেন: এএনভি ['এপিআই_এআইসিএলআইসিএসিএএসসিএসএফএসকিএন'], এপিআইসিওশন_আইডি: ইউআইডি) শেষ
  ডিফ এক্সিকিউট (মেসেজ) // কিছুটা লজিক @ অনুগ্রহ করে_ ম্যাসেজ @ রেসপন্স_মেসেজ শেষের শেষে পেতে

এটি করার মাধ্যমে, যখন কোনও ব্যবহারকারীর কাছ থেকে নতুন বার্তা আসে, আমরা কার্যকরভাবে ব্যবহারের পদ্ধতিটির মাধ্যমে কেবল আমাদের আইডি এবং বার্তা আমাদের চ্যাট সার্ভিস ক্লাসে দিতে পারি যার ফলস্বরূপ @ প্রতিক্রিয়া_মেসেজ আসবে

মনে রাখবেন যে আপনার আসলে আপনার এপিআই হওয়া উচিত নয় AIএআইএ অ্যাক্সেস ক্লায়েন্ট অ্যাক্সেস টোকেন বা এটির মতো অন্য কোনও টোকেন যেমন সংস্করণ নিয়ন্ত্রণে রাখার অপেক্ষায় কোডের মধ্যে পড়ে রয়েছে। উত্পাদন এবং পরিবেশের পরিবর্তনশীলগুলির জন্য আপনার সিক্রেটস.আইএমএল বা অ্যাপ্লিকেশন.আইএমএল (ফিগারো ব্যবহার করে) ব্যবহার করা উচিত।

এখানে আমরা কীভাবে সম্পাদন পদ্ধতিটি বাস্তবায়ন করি, দয়া করে নোট করুন যে আমরা এখানে চ্যাট অভিজ্ঞতাটি কাস্টমাইজ করতে ও উন্নত করতে এখানে প্রয়োগ করতে পারি:

Def execute (বার্তা) api_ai_response = @ ग्राहक.text_request (বার্তা) api_ai_response_message = api_ai_response [: ফলাফল] [: পরিপূর্ণতা] [: বক্তৃতা] যদি কর্ম_অনুষ্ঠান @ অভিযোগ_মেসেজ = api_ai_ দায়বদ্ধতা_মেসেজ রিটার্ন শেষ
  কেস ক্রিয়াকলাপ যখন 'জিজ্ঞাসা করল.ওয়েদার' @ ক্রিয়াকলাপ_মেসেজ = অনুসন্ধান_ফরেস্টকাস্ট (এপিআই_আই_সংশ্লিষ্ট [: ফলাফল] [: পরামিতি] [: অবস্থান]) যখন ... # এখানে আরও বাস্তবায়ন শেষ হয়
ডিএফ অনুসন্ধান_ফরাস্টকাস্ট (অবস্থান) WeatherService.search_forecast (অবস্থান) শেষ

দ্রষ্টব্য: আবহাওয়া সেবা আমার পরিষেবা ডিরেক্টরিতে একটি শ্রেণি। এই শ্রেণিটি একটি নির্দিষ্ট স্থান দেওয়া আবহাওয়ার তথ্য আনতে তৃতীয় পক্ষের আবহাওয়া সরবরাহকারীর সাথে সংযোগ স্থাপন করে অ্যাডাপ্টার হিসাবে কাজ করে।

ফেসবুক ম্যাসেঞ্জারের মাধ্যমে রেল অ্যাপগুলিকে একীভূত করুন

ফেসবুক অ্যাপ সেট আপ করুন

বিকাশকারী কনসোলে যান এবং "একটি নতুন অ্যাপ যুক্ত করুন" টিপুন। একটি তৈরির পরে, আপনি দ্রুত শুরুটি এড়িয়ে যেতে পারেন। আপনি এখানে শেষ হবে।

এখান থেকে, আপনি "+ পণ্য যুক্ত করুন" এবং ম্যাসেঞ্জার যুক্ত করতে চাইবেন। আমরা একটি ওয়েবহুক কনফিগার করার পরে, ফেসবুক আমাদের অ্যাপ্লিকেশনটিতে ইউআরএলটি যাচাই করতে চায়।

রেলস অ্যাপ সেট আপ করুন

আমরা ফেসবুক-ম্যাসেঞ্জার মণি ব্যবহার করব। এটি যুক্তিযুক্তভাবে ফেসবুক ম্যাসেঞ্জারের জন্য সেরা রুবি ক্লায়েন্ট।

সূচনা কোডের নীচে যুক্ত করুন যাতে আমাদের রেলস অ্যাপটি মণিটি লোড করতে পারে

# হিমশীতল_ স্ট্রিং_লাইটারাল: সত্য # কনফিগার / ইনিশিয়ালাইজার / ফেসবুক_ম্যাসেঞ্জার.আরবি
রেলস.এনভি.প্রডাকশন না হলে? bot_files = দির [রেলস.রোট.জইন ('অ্যাপ', 'বট', '**', '* .rb')] bots_reloader = অ্যাক্টিভসপোর্ট :: ফাইলআপডেটচেকার.নেইভ (বট_ফায়ালস) do bot_files.each file | ফাইল | প্রয়োজনীয়_ নির্ভরতা ফাইল} শেষ}
  অ্যাকশনডিস্পাচ :: কলব্যাক্স.ট_প্রিয়রে ডট বট_রোলোডার। এক্সেকিউট_এফ_পুষ্ট তারিখ
bot_files.each file | ফাইল | প্রয়োজনীয়_ নির্ভরতা ফাইল} শেষ}

আমাদের বট জন্য প্রাথমিক কোড যোগ করুন

# হিমশীতল_ স্ট্রিং_লাইটারাল: সত্য # অ্যাপ / বট / লিনেন.আরবি
'ফেসবুক / মেসেঞ্জার' প্রয়োজন
ফেসবুক :: ম্যাসেঞ্জার অন্তর্ভুক্ত
ফেসবুক :: ম্যাসেঞ্জার :: সাবস্ক্রিপশন.সউসক্রাইব (অ্যাক্সেস_ টোকেন: এএনভি ['স্বীকৃতি']
বট.অন: ম্যাসেজ দো | ম্যাসেজ | অনুরোধ_মেসেজ = ম্যাসেজ.টেক্সট ইউড = ম্যাসেজ.সেন্ডার ['আইডি'] ব্যবহারকারী.ফাইন্ড_আর_ক্রিয়েট_বি (ইউআইডি: ইউআইডি)
অনুরোধ_মেসেজ.নিল না হলে? chat_service = চ্যাটসোর্স.নিউ (ইউআইডি) chat_service.execute (অনুরোধ_মেসেজ) ফেসবুকম্যাসেঞ্জার সার্ভিস.ডেলিভার (ইউআইডি, চ্যাট_সওয়ারস.সিস্পোনস_মেসেজ) সমাপ্তি

আমার একটি ফেসবুক মেসেজার সার্ভিস ক্লাসও রয়েছে, যার মূল কাজটি প্রেরকের কাছে জবাব দেওয়া, বিতরণ পদ্ধতির মধ্যে আবৃত করা পরিচালনা করা হয়:

# হিমায়িত_ স্ট্রিং_লাইটারাল: সত্য # অ্যাপ / পরিষেবা / ফেসবুক_ম্যাসেঞ্জার_ সার্ভিস.আরবি ক্লাস ফেসবুক ম্যাসেঞ্জার সার্ভিস ক্লাস << সেল্ফ ডিএফ বিতরণ (ইউআইডি, বার্তা) "" deb uid} '"ব্যবহারকারীকে' # {বার্তা} 'প্রেরণ করে
ম্যাসেজ_কন্টেন্ট = {পাঠ্য: বার্তা, তাত্ক্ষণিক উত্তর: দ্রুত_প্রকাশ? দ্রুত_প্রকাশ: শূন্য}
      বট.ডেলিভার শুরু করুন ({প্রাপক: {আইডি: uid}, বার্তা: বার্তা: কনটেন্ট access, অ্যাক্সেস_ টোকেন: এনভি ['অ্যাক্সেসফেসকেন']) রেসকিউ => ই রাখে '[দেবুজ]' + ই.মেসেজের শেষ প্রান্ত শেষ

কনফিগারেশন / অ্যাপ্লিকেশন.আরবিতে যুক্ত করুন যাতে রেলগুলি আমাদের বট ফাইলগুলি সম্পর্কে জানতে পারে

# স্বতঃ লোড / বট এবং এর উপ-ডিরেক্টরিগুলি
config.paths.add File.join ("অ্যাপ", "বট"), গ্লোব: ফাইল.জইন ("**", "*। আরবি") কনফিগারেশন.আউটলোয়াদ_প্যাথস + = দির [রেলস.রোট.জাইন ("অ্যাপ্লিকেশন) "," বট "," * ")]

একটি শেষ জিনিস / বট জন্য রুট আপডেট করা হয়

# কনফিগারেশন / রুট.আরবি
Rails.application.routes.draw মাউন্ট ফেসবুক :: ম্যাসেঞ্জার :: সার্ভার, এ: "বট" শেষে

এছাড়াও, নীচের জন্য env ভেরিয়েবল সেট করতে ভুলবেন না

অ্যাকসেসফেসকেইন = ভেরিফাইস্কেন = অ্যাপ্লিকেশন_এসসিআরইটি =

শেষ করি

এখন যেহেতু আমাদের কার্যকরী বট রয়েছে, আমরা ফেসবুকের যে UI উপাদান সরবরাহ করে তা নিয়ে খেলতে পারি। আপনি এখানে তাদের চেক আউট করতে পারেন।

এই পোস্টটি সহ, আমি আশা করি আপনি নিজের জন্য একটি API.AI চ্যাটবোট তৈরি করতে পারেন। এটি মোটামুটি নতুন, সৌভাগ্য হওয়ায় এটি একটি আকর্ষণীয় স্থান!

আপনি এখানে রেলস অ্যাপ্লিকেশনটি খুঁজে পেতে পারেন: https://github.com/duc4nh/wbot-api-ai.git

তথ্যসূত্র

বিশেষ ধন্যবাদ:

  • রেলগুলিতে রুবি দিয়ে কীভাবে একটি ফেসবুক ম্যাসেঞ্জার বট তৈরি করবেন

মূল নিবন্ধ এখানে। সিঙ্গাপুর চ্যাবটস.এসজি আপনার কাছে নিয়ে এসেছিল। চ্যাটবোট বানাতে চান? আমাদের একটি নোট ফেলে দিন!

আরো দেখুন

পোস্টের অধীনে থাকা মন্তব্যের সংখ্যার সাথে ইনস্টাগ্রাম আমাদের যে মন্তব্য দেখায় তার মধ্যে কেন পার্থক্য রয়েছে?সূচনাপ্রাপ্তরা ইনস্টাগ্রাম 2018/19 এ গাইড করে। আপনার কি ইনস্টাগ্রাম টিপস ভাগ করতে ইচ্ছুক?ইনস্টাগ্রাম মডেল সোমার রে বা জিমেনা কর্ডোবার কয়েকটি চমকপ্রদ ছবি কী কী?লোকেরা কেন আমার ইনস্টাগ্রাম পোস্ট পছন্দ করে না?ইনস্টাগ্রাম তাদের অ্যাকাউন্ট মুছে ফেলবে?আমি এমন কাউকে চাই না যে আমার সাথে পরিচিতি বা আমার স্বীকৃতি ছাড়াই তাদের নাম্বার ছাড়াই হোয়াটসঅ্যাপে আমার সাথে যোগাযোগ করবে। আমার কি করা উচিৎ?ইনস্টাগ্রামে 'অ্যাকশন ব্লক' এড়ানোর উপায় কী? ইনস্টাগ্রামে 'অ্যাকশন ব্লক' কিসের ট্রিগার করতে পারে?আমি কীভাবে আমার 50 কে + ইনস্টাগ্রাম অ্যাকাউন্ট বিক্রি করব?