Triển Khai Rasa Chatbot Trên Trang Web, Tích Hợp Trí Tuệ Nhân Tạo Rasa Để Làm Web Chatbot
“Chát bớt” nên có chân thành và ý nghĩa khi nó được expose ra ngoài một Front End nào đó như: web UI, Facebook, Slack, Twitter tốt Zalo… bây giờ chúng ta vẫn từng bước tò mò cách liên kết RASA với Messenger để với lên các Fanpage mang lại hoành nhé.
Các chúng ta cũng có thể xem lại 04 bài về RASA mình đã viết để biết phương pháp cài đặt, xây dừng “chát bớt” tại đây:
Bài này sẽ không nói lại bí quyết train model, giải pháp xây dựng, setup nữa mà công ty yếu triệu tập vào việc kết nối với facebook messenger nhé. Những nền tảng khác ví như Slack, Twiiter tuyệt Zalo làm cho tương tự chúng ta nha!
Đây sẽ là 1 trong những bài hơi dài, gồm đa phần nên chúng ta chịu cực nhọc đọc hết, đừng nản haha!
Phần 1 – Tổng quan cách triển khai RASA cùng với Messenger
Trước lúc đi sâu vào cụ thể thì ta khám phá tổng quan đã, để các bạn nắm được công việc cần thiết đã, đi chi tiết sau.
Đại khái công việc sẽ như sau:
Bước 1: cài đặt RASABước 2: thiết kế kịch bản chat chit mang lại model, kiến thiết actions (lên mạng đem tin, vào DB lấy tài liệu hay làm gì đấy tùy).Bước 3: Train model cho ngon miệng cành đào, test bằng shell ngon không còn đi.Bước 4: Tạo ứng dụng trên Facebook Developer, lấy thông tin App Scecret, Page Token đưa về lưu vào RASABước 5: Chạy http hệ thống RASA bằng lệnh rasa run để mở API webhook Bước 6: thiết đặt phần mượt Ngrok để expose được dòng API kia ra ngoài Internet (để thằng Facebook nó còn được gọi mình)Bước 7: Nhập showroom callback (sinh ra từ bỏ thằng Ngrok) vào Facebook Developer dể nó kiểm tra.Bước 8: Xong! Ngồi chat thử với giảm và tận hưởng thành trái thôi.
Rồi, tạm bợ thế, đưa ra tiết bọn họ sẽ bên nhau đi trong các phần sau. Chú ý bài này đi từ cách 4 nhé, quá trình 1,2,3 thì xem lại các bài trước nha những bạn!
Phần 2 – Đăng ký thông tin tài khoản Facebook Developer cùng tạo tiện ích “Chát bớt”
Bây giờ đồng hồ để rất có thể làm được 1 con sút thì các bạn phải tất cả một Fanpage cùng một tài khoản Developer nhé.
Cách tạo ra Fanpage chúng ta tham khảo tại đây. Các bạn nào chần chừ Fanpage là gì thì hỏi chị Gúc Gờ nhé.
Bây giờ là thông tin tài khoản Facebook Developer. Chúng ta truy cập: http://developers.facebook.com và tiếp nối theo gợi ý tại đây nhằm tạo thông tin tài khoản nhé. Cũng đối chọi giản, lựa chọn Đăng ký kết rồi sản xuất 1 cái ứng dụng với thương hiệu bất kì, ví dụ: “App Chat Mì AI” chẳng hạn.
Sau khi đăng ký xong, các bạn nhấp chuột Create tiện ích để chế tác một ứng dụng mới:
Điền thông tin về tên app và thư điện tử contact, ví dụ như ‘Mì AI Chat App’ và add gmail của chúng ta đi mang đến dễ:
Sau đó dấn Create tiện ích ID với nhập captchar ví như cần.
Sau kia facebook dev nó chuyển mình sang hành lang cửa số mới, click chọn Messenger với bấm nút setup nhé:
Một screen mới xuất hiện thêm với vô vàn tin tức nhức hết cả mắt, nhưng lại kệ nó đi, kéo xuống phần Access Token với bấm “Add Remove Pages” để chọn chiếc Fanpage mình vừa tạo sống trên (ví dụ ở đây mình lựa chọn page yêu Ngân Hàng) :
Rồi, do đó là bọn họ đã tạo được App Chát bớt, đã links app đó với Fanpage và nói một cách đơn giản là cái con bớt của họ sẽ làm trách nhiệm nhận và trả lời tin nhắn cho chiếc Fanpage kia. Dễ nắm bắt chứ những bạn.
Phần 3 – cấu hình Facebook Messenger vào RASA
Bây giờ chúng ta thực hiện 03 việc như sau:
Việc máy nhất: rước Acesss Token, các bạn nhấn vào nute Generate Token sinh hoạt hình bên trên và sau đó nhấn tick, copy Accesss Token ra một chỗ, lưu tạm kia đã.
Việc đồ vật hai: các bạn lấy phầm mềm Secret. Bấm chuột menu bên trái, chọn Settings, lựa chọn Basic và ngó quý phái bên yêu cầu sẽ thấy ô app Secret, nhận Show và copy, cũng lưu giữ ra 1 chỗ, để đó đã.
Việc vật dụng ba: các bạn chọn 1 đoạn text tùy ý (ví dụ: “mybot”, “abc123”,”12345a ”…) để gia công mã soát sổ cho webhook. Ở trên đây mình chọn là “mybot” nhé. Cũng giữ ra 1 chỗ để đó, sẽ dùng sau.
Sau khi đã sở hữu 3 thông tin trên các bạn tìm đến thư mục rasa (sau khi vẫn rasa init nhé, nếu chưa chắc chắn thì hiểu lại những bài trước theo link trên đầu bài bác nhé) cùng tìm file credentials.yml. Sau đó chúng ta mở ra, uncomment phần facebook và tiền vào thông tin như sau:
Phần 4 – cài đặt phần mềm Ngrok
Bây giờ chúng ta gặp vụ việc như sau, khi các bạn chạy hệ thống RASA tại laptop của các bạn thì nó đã mở cổng tại địa chỉ
http://localhost:5005Mà mở ở chiếc cổng localhost:5005 như này thì làm thế nào mà Facebook nó ngồi bên Mỹ nó gọi service của chúng ta được. Vị đó bọn họ cần 1 dòng tool nhằm nối từ cái máy của chúng ta ra một showroom ngoài Internet với Facebook có thể gọi được, chính là Ngrok (có nhiều cái khác, mình thích cái này vị nhanh gọn).
Để nắm rõ hơn chúng ta xem sơ đồ bên dưới:
Rồi, hiện nay các bạn vào trang https://ngrok.com/, sở hữu về ứng dụng tùy vào hệ quản lý điều hành nhé. Đại khái sau đó bọn họ sẽ có một cái file ngrok để chạy nhé (nếu là window thì thêm đuôi .exe nhé)
Lưu loại file ngrok kia vào thư mục làm sao tiện thao tác làm việc nhé những bạn. Tạm nhằm đó đã, quý phái phần tiếp theo!
Phần 5 – Start RASA, nhảy Ngrok và soát sổ kết nối
Bây giờ bản thân assume là các bạn đã chế tạo ra kịch phiên bản này, sẽ train thành công theo những bài trước rồi và chúng ta chỉ phải làm một việc là kết nối model chát sút với Facebook thôi nha.
Các bạn chạy lệnh sau để start server RASA tại localhost:
rasa run --endpoints endpoints.yml --credentials credentials.yml Sau lúc chạy ngừng đợi một cơ hội các các bạn sẽ thấy thông báo Starting Rasa vps on http://localhost:5005 là thành công rồi. Bởi vậy em RASA sẽ mở cổng sinh sống 5005 ngóng anh facebook chọc ( cơ mà anh ko chọc được bởi anh sinh hoạt xa quá =)) ).
Tiếp theo nhờ anh Ngrok nào! chúng ta chuyển vào thư mục cất file ngrok, mở command line lên với gõ lệnh (quên, nếu là Mac giỏi Linux thì chạy lệnh sudo chmod +x ngrok trước cho chắc nhé) :
ngrok http 5005Đợi một lúc đã thấy thông báo connected như screen bên dưới:
Các bạn để ý sẽ thấy 2 chiếc Forwarding, đó chính là địa chỉ mà anh Ngrok nó phơi em RASA ra phía bên ngoài internet cho anh Facebook nó chọc nhé (ý là kết nối RASA cùng với Messenger ấy haha) . Có cả showroom HTTP với HTTPS, chúng ta quan trung ương đến loại HTTPS thôi nhé.
Bây giờ các bạn mở trình để mắt tới web lên cùng gõ cái showroom https vào, ví dụ như trên hình là https://cd30965a.ngrok.io, nếu truy vấn được là chúng ta đã mapping thành công xuất sắc rồi. Còn ko thì lên group post và hỏi nhé Group trao đổi, phân chia sẻ: https://facebook.com/groups/miaigroup .
Thế là dứt phần kết nối, tiếp nào!
Phần 6 – kết nối Facebook Messenger vào địa chỉ public Ngrok
Bài này dài vãi đề xuất không những bạn? lâu năm nhưng rất thú vị và xong xuôi là làm cho được luôn luôn nên nỗ lực nhé, chỉ còn 1 đoạn này nữa thôi là kết nối được Rasa cùng với Messenger rồi!
Bây giờ tìm về http://developers.facebook.com và chọn vào cái Facebook phầm mềm mà ta sản xuất ra, ví dụ Mi AI Chat App, chọn Messenger, lựa chọn Settings. Chúng ta tìm mang lại phần Webhook và chọn showroom Callback URL:
Nhập vào add ngrok và thêm đuôi chính xác như hình (từ đoạn webhooks….), bên dưới thì nhập chiếc đoạn mã soát sổ mà các bạn đã nghĩ về ra ở trên, ở đây là “mybot”.
Sau đó dìm Verity & Save là okie. Nếu gần như thứ cấu hình chuẩn thì sẽ pass, còn nếu có lỗi thì post lên Group trao đổi, phân tách sẻ: https://facebook.com/groups/miaigroup nhé.
Sau khi địa chỉ xong Webhook thì chúng ta chọn nút Edit vào hình dưới với tick vào 2 dòng là messages cùng message_postbacks với Save lại:
Bây tiếng các bạn có thể dùng nick Facebook tạo nên cái Fanpage để vào chat thí nghiệm với “chát bớt” rồi đó.
Các các bạn hãy truy vấn Fanpage các bạn đã tạo, chat và đánh giá xem kịch bản hoạt động xuất sắc không? Chat ổn ko nhé!
Như vậy chúng ta đã kết nối RASA với messenger, vấn đề public chatbot cho người khác dùng mình vẫn nói tiếp tại vị trí 2 vì bài xích này vẫn dài vượt rồi. Chúc các bạn thành công!
Youtube:http://bit.ly/miaiyoutube
Tuần trước mình gồm tham gia vào một trong những dự án của công ty, trong những nhiệm vụ của chính mình đó tạo nên sự một trợ lý chatbot, sau một thời gian khám phá và được sự suppor thân mật của anh Phạm Hữu quang đãng thì lúc này mình xin chia sẻ một số kinh nghiệm của chính mình với RASA - một NLU framework hỗ trợ chúng tôi tạo ra chatbot với phương châm giúp các bạn cũng có thể nhanh giường sử dụng.
I. Introduction
Rasa là một trong những nền tảng chabot bao gồm : - Natural Language Unit (NLU) - The Rasa chip core Dialogue Engine - Rasa X Trước tiên mình xin lý giải một số thuật ngữ sẽ tiến hành nhắc lại những lần trong bài viết này tương tự như việc bài viết liên quan sau này: 1. Rasa NLU - một thư viện nhằm hiểu ngôn ngữ tự nhiên (NLU) tiến hành phân một số loại ý định cùng trích xuất thực thể từ đầu vào của người dùng và giúp bot hiểu hồ hết gì người dùng đang nói. 2. Rasa Core - một size chatbot với quản lý hội thoại , lấy nguồn vào có cấu tạo từ NLU. NLU và chip core là hòa bình và tín đồ ta có thể sử dụng NLU mà lại không phải Core, và ngược lại.3. Rasa X : là một trong những tool giúp bọn họ xây dựng, cải thiện và triển khai mã sản phẩm chatbot vừa tạo.4. Intent: RASA cần biết người dùng muốn gì, vì chưng vậy cần phân biệt ý định của họ. Ví dụ: người dùng nói rằng : "Tôi mong muốn đặt bàn cho 2 tín đồ tối nay tại nhà hàng ABC" thì intent ở đây là việc để bàn.
5. Entity: thực thể là nhằm trích xuất thông tin từ trên đầu vào của tín đồ dùng. Như ví dụ làm việc trên thì entity sinh sống đây chính là thời gian và địa điểm đặt bàn
6. Stories : Câu chuyện xác định sự shop giữa người tiêu dùng và chatbot theo intent và action được triển khai bởi bot. Giống hệt như trong ví dụ như trên, bot bao gồm ý định đặt bàn và những thực thể như địa điểm, thời hạn và điều ấy sẽ thực hiện hành động tiếp theo từ bot.
7. Action: hành động về cơ phiên bản là các hoạt động được thực hiện bởi bot hoặc yêu ước thêm một số cụ thể để tất cả được toàn bộ các thực thể hoặc tích hợp với một số API hoặc truy vấn cơ sở tài liệu để nhấn / lưu một vài thông tin.
II. Rasa Natural Language Understanding (NLU)
Như vẫn tóm tắt về NLU làm việc trên, chúng ta cần dạy con bot của chúng ta để nó rất có thể hiểu những thông điệp của bọn họ trước. Vì chưng vậy, chúng tôi phải đào tạo quy mô NLU với các đầu vào sinh sống định dạng văn bản đơn giản và trích xuất dữ liệu có cấu trúc. Họ sẽ dành được điều này bằng cách xác định intent và cung ứng một vài ba cách tín đồ dùng hoàn toàn có thể thể hiện nay chúng.Để thao tác làm việc này, họ cần nắm rõ hơn về nlu.md file nlu.md file : Nó đựng dữ liệu giảng dạy về mặt nguồn vào của người dùng cùng với vấn đề ánh xạ các intent và entity có trong mỗi câu. Nó gồm thêm các ví dụ không giống nhau mà chúng ta cung cấp, góp cho kỹ năng của bot đang trở nên giỏi hơn. Câu hỏi bạn tạo ra nhiều tài liệu train và nhiều mẫu mã cho bé bot thì độ đúng đắn của nó càng cao.Ví dụ:
trong intent: check_balance tất cả thấy (source_account) ở chỗ này có nghĩa entity chính là source_account có giá trị là saving. Regex rất có thể hiểu đơn giản khi entity chúng ta muốn bắt là số smartphone hay số thông tin tài khoản thì có thể xét các các số từ bỏ 0-9 và 5 giá chỉ trị liên tục chẳng hạn. Chúng ta có thể bài viết liên quan trên doc của rasa hoặc hoàn toàn có thể thử test theo link tiếp sau đây để phát âm hơn: https://regex101.com/Và bây giờ chúng ta cũng có thể bấm " rasa train nlu" để train mô hình nlu với file config bạn cũng có thể để mặc định hoặc sửa đổi để phù hợp với yêu thương cầu của chính bản thân mình ( vào doc của rasa có lý giải rất rõ nhé
Actions trả về có thể là utter_ hoặc action_ cùng với text là nội dung nhỏ bot sẽ vấn đáp bạn khi nó bắt vào intent và bạn có thể thêm button hoặc image theo responses. Bạn cũng có thể xem ví dụ dưới đây để làm rõ hơn:
tiếp theo sau là stories.md
cùng với *greet_happy đó là intent còn utter_greet_happy là hành động mà các bạn định nghĩa con bot sẽ vấn đáp khi nó bắt được intent đó.Và Rasa cũng cung ứng bạn việc bạn có thể tự custom action của chính bản thân mình trong file action.py . Ngoài ra Rasa X còn cung cấp bạn bài toán train model, quan niệm entities với hầu hết trường phù hợp nó bắt không nên intent vì chưng trong dữ liệu của người tiêu dùng chưa đủ. Sau thời điểm set up hầu như thứ vẫn xong hiện thời bạn chỉ cần gõ rasa train rồi tiếp đến rasa x và tận hưởng thành quả thôi.