Recreating a Technical Keynote Demo: Chatbot

Share on facebook
Share on print
Share on email

สิ่งหนึ่งที่ฉันมักจะชอบหลังจากเห็น ATM คือได้นั่งลงและหาวิธีที่พวกเขาสร้างการสาธิตด้านเทคนิคของพวกเขาและที่สำคัญคือคิดว่าฉันจะทำอย่างไรได้บ้าง

หมายเหตุ: บทความนี้ไม่เป็นวิธีที่ Aruba เลือกที่จะแก้ปัญหาเหล่านี้ในการสาธิตของพวกเขา แต่เป็นเพียงตัวแทนการสาธิตด้วยวิธีง่ายๆ ในการทำให้คนสามารถสร้างฟังก์ชันการทำงานที่คล้ายกันโดยคำแนะนำสั้นๆง่ายๆ

Keynote ปีนี้แสดงให้เห็นว่า Partha Narasimhan ดำเนินกิจการ บริษัท Alpine Orange Superfoods (AOS) ซึ่งเป็นบริษัทที่ใช้ในการสาธิตไม่มีตัวตนจริงๆ ด้วยความช่วยเหลือจาก chatbot ในการดำเนินงานโครงสร้างพื้นฐานด้วย Aruba เขาแสดงให้ดูทุกอย่างตั้งแต่ onboarding contractor ถึงการใช้งาน ClearPass สำหรับการเข้าถึงแบบไร้สายสำหรับ guest

เรามาดูวิธีที่เราจะทำตามเขาโดยใช้เครื่องมือง่ายๆ

ChatBot กับ Native Language Processing (NLP)

นี่เป็นบอตที่คุณสามารถโต้ตอบได้ด้วยวิธีธรรมชาติ สามารถเข้าใจได้ว่าผู้ใช้ต้องการจะทำอะไร ร้องขอข้อมูลเพิ่มเติม และเรียกระบบอื่นๆเพื่อดำเนินการ

การเชื่อมต่อกับ ClearPass API:

เราจำเป็นต้องมีวิธีให้บอทคุยกับ ClearPass ยกเว้นแต่ว่าเซิร์ฟเวอร์ ClearPass ของคุณสามารถเข้าถึงอินเทอร์เน็ตได้ คุณอาจต้องหาวิธีจัดการเชื่อมต่อ chatbot กับเซิร์ฟเวอร์ ClearPass

การเรียก ClearPass เพื่อสร้างผู้ใช้ Guest:

จากนั้นเราจำเป็นต้องเรียก ClearPass เพื่อสร้าง guest

การส่งการแจ้งเตือนไปยังผู้ใช้พร้อมกับ credentials :

ในที่สุดแล้วเราต้องการวิธีแจ้งผู้ใช้ว่าข้อมูลประจำตัวของพวกเขาถูกสร้างขึ้นเสร็จแล้ว

ส่วนประกอบที่ใช้ในการสร้าง:

Chat Engine ที่รองรับ NLP: DialogFlow.com

NGROK เพื่อจัดการกับการเชื่อมต่อกับเครื่อง python ของฉัน: ngrok.com

Python และ Flask เพื่อจัดการกับ Webhook ที่เข้ามา

Python กับ Request library เพื่อเรียกใช้ ClearPass API

ClearPass ที่มี Twilio setup สำหรับ SMS Gateway เพื่อส่ง SMS

ขั้นตอนที่ 1: กำหนดสิ่งที่เราต้องการส่งให้ ClearPass

ขั้นตอนแรกที่เราต้องทำคือกำหนดข้อมูลที่เราต้องการให้ ClearPass เพื่อสร้าง guest ให้เข้าไปดู API Explorer แล้วเราค้นหาได้ใน ClearPass Guest > Administration > API Services > API Explorer > GuestManager > Guest > POST / guest จะมีข้อมูลบอกทราบว่าเราต้องการรับข้อมูลอะไร (หรือกดลิงค์นี้ https://clearpassfqdn/api-docs)

JakeSnyder_pic1.png

สำหรับจุดประสงค์ของเรา เราจำเป็นต้องมีชื่อผู้ใช้อีเมล อีเมลล์ enabled role เบอร์โทรศัพท์ และรหัสผ่านผู้เข้าชม และค่า auto_send_sms

ขั้นตอนที่ 2: การตั้งค่า chatbot

บริษัท AOS ใช้ Facebook Messenger โต้ตอบกับ ClearPass แต่เนื่องจากฉันไม่ค่อยใช้แพลตฟอร์มนี้ ฉันจะทำงานกับ Slack แทน ตอนนี้เราต้องการแพลตฟอร์มเพื่อพูดคุยกับ Slack และจัดการโต้ตอบแทนเรา ฉันจะใช้ DialogFlow (ชื่อเดิมคือ API.ai) ทำให้เราสามารถกำหนด Intents (สิ่งที่ผู้ใช้ต้องการทำ) และ prompt ที่จำเป็นต้องแจ้งเพื่อรับข้อมูลที่จำเป็นจากผู้ใช้ DiagFlow ช่วยให้ไม่ต้องเขียน code มากด้วย

ต่อมาสอนให้ระบบรู้ว่าผู้ใช้ต้องการสร้าง guest วลีการฝึกสอนเหล่านี้จะช่วยให้ DialogFlow กำหนดสิ่งที่ฉันต้องการจะทำเพื่อ “intent” ในการสร้างผู้ใช้ ClearPass แบบ guest

JakeSnyder_pic2.png

จากนั้นระบุสิ่งที่ต้องทำให้เสร็จ ฉันต้องการทราบว่าข้อมูลใดที่จะส่งไป ClearPass ฉันสงสัยว่า “enabled” จะเป็นจริงเสมอเมื่อเรากำลังทำงานจริงๆ แล้วฉันก็เดาถูก เราต้องการเพียงแค่ ชื่อ นามสกุล อีเมลและหมายเลขโทรศัพท์

ให้ทำการกำหนดพารามิเตอร์เหล่านี้และใส่บางตัวเลือก เพื่อรับข้อมูลอื่นๆจากผู้ใช้จนครบ

JakeSynder_pic3.png

เมื่อได้ข้อมูลเหล่านี้แล้ว เรามาเจาะลึกเข้าไปใน Slack กัน โชคดีที่ DialogFlow มี integration กับ Slack อยู่แล้วดังภาพ

JakeSynder_pic4.png

ต่อมาเราเริ่มทดลองบอทได้เพื่อดูว่า prompt ผู้ใช้งานได้ถูกต้องหรือไม่JakeSynder_pic5.png

เมื่อทำงานได้ตามต้องการแล้วบอทจะรู้ว่าจะคุยกับฉันอย่างไร รับข้อมูลไปแล้วส่งต่อไปที่ ClearPass Server

ต่อมาให้ดูการใช้ DialogFlow เพื่อพูดคุยกับเซิร์ฟเวอร์ ClearPass ของฉัน วิธีง่ายๆในการทำคือการทำให้เซิร์ฟเวอร์ ClearPass ของฉันสามารถเข้าถึงอินเทอร์เน็ตได้ เราจะทำเช่นนี้ในลักษณะที่ไม่สร้างปัญหาด้านความปลอดภัยข้อมูลให้ได้ ทางเลือกหนึ่งคือการสร้างเว็บแอ็พพลิเคชันเพื่อรับโพสต์และทำให้เป็น public แต่ติดปัญหาที่ว่าห้องทำงานของฉันที่บ้านไม่มี public IP address

ขั้นตอนที่ 3: การเชื่อมต่อ Cloud กับบริการในสถานที่

Ngrok เป็นบริการ cloud tunneling เหมาะกับการใช้งานนี้เพื่อส่งข้อมูลออกไปผ่าน tunnel จากเครื่อง Linux ของเราที่ URL หนึ่งผ่าน cloud

Ngrok มีบัญชีฟรีให้เราสามารถใช้ publicURL สำหรับชี้ไป DialogFlow ได้ เป็นหลักสร้างอุโมงค์จาก URL นั้นไปยังเครื่อง pythonใน LAN ของเรา ฉันเพียงแต่จะต้องเปลี่ยน URL ทุกครั้งที่เปิดใช้งาน

นี่คือผลลัพธ์จาก ngrok บน Mac ของฉัน ใช้งานที่พอร์ต 5000

JakeSynder_pic6.png

ตอนนี้เราก็มี tunnel มาที่เครื่อง python แล้ว ต่อมาเราต้องสร้าง service ที่คอยรับ webhook push จาก DialogFlow

JakeSynder_pic7.png

ฉันจะสร้างเว็บไซต์ง่ายๆด้วย python โดยใช้ Flask library คอยรับ post จาก DialogFlow กับข้อมูลที่เก็บรวบรวมมาได้จากผู้ใช้งานและส่งต่อไปที่ ClearPass

ฉันเริ่มต้นด้วยโค้ดตัวอย่างบางส่วนจากที่นี่: https://bitbucket.org/atlassianlabs/webhook-listener/src

นี่เป็น listener ง่ายๆสำหรับ web hook ฉันได้แก้ไขเพื่อดำเนินการตามข้อมูลที่ได้รับมาจาก HTTP post จาก DialogFlow

สำหรับ route/webhook มีโค้ดตามนี้:

@app.route(“/webhook”, methods=[“GET”, “POST”])

def tracking():

“””Endpoint for receiving webhook from bitbucket.”””

if request.method == “POST”:

data = request.get_json()

#Parse the data coming from DialogFlow

processed_data = parse_Chatbot(data)

#Using the processed data, create a ClearPass User

results = create_ClearPassUser(processed_data, ClearPass_auth_token)

print(results)

print(str(results.text))

print “Webhook received!”

my_response = {}

my_response[‘displayText’] = “User has been created, they should receive an SMS with their login”

return json.dumps(my_response)

ต่อไปคือฟังก์ชัน parse_Chatbot ที่ถูกเรียกใช้เพื่อผ่านข้อมูลที่ได้รับมาจาก DialogFlow แล้วไปทำการแปลงเป็น JSON request เพื่อส่งต่อไปที่ ClearPass

def parse_Chatbot(my_data):

#Create a dictionary to put all the of the values into

process_data = {}

#Create a username from the first and last names and append a unique number to the end

process_data[‘username’] = my_data[‘result’][‘parameters’][‘FirstName’] + my_data[‘result’][‘parameters’][‘LastName’] + str(randint(1000, 9999))

process_data[’email’] = my_data[‘result’][‘parameters’][‘Email’]

process_data[‘visitor_phone’] = my_data[‘result’][‘parameters’][‘Phone’]

process_data[‘enabled’] = True

process_data[‘role_id’] = “2”

process_data[“auto_send_sms”] = “1”

process_data[‘password’] = str(randint(1000,9999))

print(json.dumps(process_data))

return process_data

ต่อมาเราได้ตั้งชื่อผู้ใช้ รหัสผ่าน หมายเลขโทรศัพท์ role และข้อมูลเฉพาะอื่นๆบางส่วน โดยตรงจากเอกสารคู่มือของ ClearPass API สำหรับชื่อผู้ใช้ฉันใช้ชื่อและนามสกุลเต็มพร้อมกับหมายเลข 4 หลัก รหัสผ่านเป็นเพียงตัวเลข 4 หลัก

หมายเหตุ: ค่าเหล่านี้บางส่วนไม่ปรากฏในคู่มือ แต่ฉันได้ค้นหาจาก airheads community https://community.arubanetworks.com/t5/AAA-NAC-Guest-Access-BYOD/Creating-guest-accounts-through-REST-API-do-not-trigger-email-or/ta-p/313108

ต่อมาฉันยังกำหนดฟังก์ชันที่เรียกให้ ClearPass เพื่อสร้างผู้ใช้ด้วยข้อมูลที่ฉันได้รับมา aruba_Post เป็น generic function เพื่อโพสต์ข้อมูลลงในเซิร์ฟเวอร์ ClearPass และมีฟังก์ชัน create_ClearPassUser เรียกฟังก์ชันนี้เพื่อโพสต์ข้อมูลไปที่ /guest API

def aruba_Post(url_extention, payload, my_auth_token):

requests.packages.urllib3.disable_warnings()

my_session = requests.Session()

my_req_url = “https://” + ClearPass_fqdn + url_extention

print(my_req_url)

print(payload)

headers = {‘Authorization’: my_auth_token, ‘Cache-Control’: “no-cache”, ‘Content-Type’: “application/json”}

response = my_session.post(my_req_url, headers=headers, data=payload, verify=False)

return response

def create_ClearPassUser(my_data, my_auth_token):

requests.packages.urllib3.disable_warnings()

headers = {‘Authorization’: my_auth_token, ‘Cache-Control’: “no-cache”}

response = aruba_Post(“/api/guest”, json.dumps(my_data), ClearPass_auth_token)

print(str(response.status_code))

print(str(response.text))

return response

จากนั้นนำทั้งหมดมารวมเข้าด้วยกัน แล้วลองแชทกับ slack บอท คราวนี้บอทจะเรียกใช้ Flask แอปพลิเคชันที่เขียนขึ้น

เราสามารถตรวจสอบหน้าสถานะ NGROK และดูว่ามีการส่งข้อมูลให้เราจริงๆ:

JakeSynder_pic8.png

JakeSynder_pic9.png

จะเห็นได้ว่าเราได้สร้างการสาธิตแบบพื้นฐานที่เห็นใน technology keynote ของ Aruba ได้แล้ว เราสามารถพัฒนาต่อไปเพื่อเพิ่มฟังก์ชันการทำงานเพิ่มเติม เช่น ตรวจสอบว่าผู้ใช้มีอยู่แล้วหรือไม่ หรือให้รีเซ็ตรหัสผ่านเป็นต้น

สุดท้ายนี้ สิ่งหนึ่งที่ต้องจำไว้คือเป้าหมายของฉันไม่ใช่การทำตาม Aruba chatbot ที่ใช้ในการสาธิต แต่เป้าหมายของฉันคือการสร้าง chatbot ง่ายๆที่ผู้ใช้ทั่วไปสามารถทำได้โดยไม่ต้องเขียนโปรแกรมมากมาย

Source : https://blogs.arubanetworks.com/solutions/technical/recreating-a-technical-keynote-demo-chatbot/

However, because the playback of the PPT requires manual control, the presenter was limited to the computer. Although the Test Software advent of the laser pointer made up for this shortcoming, when writing and drawing were needed, it still needed to be operated by the computer. These one-sided understandings have led to a shortage of supporting resources in various universities. This is most intuitively reflected in the severe reduction in the number of basic computer courses in universities and the lack of sufficient teachers. Some schools have only offered courses and distributed teaching materials to students without giving them classes. Take the exam directly. For a computer software, there must be a certain degree of organization and procedure in its creative process. Therefore, when designing software, the division of staff is also very orderly, and their operations are very precise. In the development of modern science and technology, computer technology, as an important cornerstone, brings good convenience to people’s work and study. The intention is to improve students’ software technology design ability by instilling knowledge about software technology Study Guide Book for students. However, under the software technology professional teaching guided by this teaching concept, students cannot feel the important position 640-916 exam topics of their own subjects in the learning process, which not only reduces the Students’ learning interest may even cause students to hate learning software technology knowledge. Combining self-evaluation and peer-evaluation has become a long-term mechanism in the classroom, and students will have a certain understanding passforsure and understanding of their learning strategies, efforts, and learning effects. So far, pdf free download 2019 the development of software engineering technology in China has entered a new stage. With the continuous improvement and improvement of software engineering technology, the technology level is getting higher and higher, and the technical means are becoming more and more mature. However, the computer grade test has a certain guiding effect on computer teaching. In order to promote the improvement of computer teaching and teaching efficiency, it is necessary to perfect the current computer grade test, actively play the guiding role of the computer grade test, and solve the problems reflected in the examination process. , Change teaching strategies, thereby promoting the innovative development of computer teaching. A few computers need regular access to PDF each VLAN network, and each IP address in the VLAN should be allocated. Not only that, in terms of ensuring network security, multiple methods can be used for security precautions and various technical means. This also VCE to PDF promotes the creation of a secure network environment. Technology convergence should be the trend of computer network security technology development. In order to ensure the security of the computer operation, the technicians have PMP Training set up a confidential program that can encrypt the data and information stored in the computer. The encrypted data and information can only be obtained through legal and formal means, which improves the security exam questions pdf of information. Reliability and reliability, as well as user-friendly operation, is a very flexible security measure. And with the help of materials in life. In fact, the database is like a working warehouse, which stores many items, and needs to be able to register and provide query and inventory services. Analysis of students’ needs for computer majors By conducting a questionnaire survey among students, it was found that most students like elective courses in appreciation, while not many students like computer elective courses. Along with the Exam prep Free development of cloud computing technology, the data network transmission system is more scientific, but the low-risk resistance capability in the face of an increasingly complex social environment has gradually surfaced. In response to this, the data center network security under SDN technology is carried out. Corresponding analysis can promote the development and update of modern network information technology. Enterprise managers also do not pay enough attention to network security issues, management is not in place, leading to threats or damage to various information of the enterprise, and adversely affect the development of the enterprise. In the past long 400-101 Exam Pdf daily English learning, we learned that according to the tense, English lessons can be divided into the present tense, the general present tense, the present tense, the future tense and so on. The other is an English major teacher http://www.itcertlearn.com who has a professional English teaching foundation, but is unfamiliar with computer professional knowledge and cannot be able to move the teaching closer to the major. Students are the main body of teaching work, and they have the most say in the teaching quality of the teachers. In addition, discipline competitions, scholarships, deductions, and punishment mechanisms can be established. In the “problem analysis and question exchange” section, students have a process of mutual communication and independent thinking; in the “question and answer and acceptance of large assignments” section, the teacher instructs the teacher to carry out multiple solutions and comment on different solutions based on the submitted assignment , To expand 300-075 Exam the depth and breadth of students’ understanding of the problem. At the same time, the contest’s proposition, evaluation and assessment methods must be worked out with industry and Certification Dumps enterprise experts to ensure that the contest’s proposition is in line with the real application of the enterprise, to ensure that it has a certain practical application value, and properly introduce the enterprise’s evaluation and assessment mechanism for the project to ensure the competition. Corporate elements in process. It can be said that everyday English is the core of the English language, and basic life and communication needs can be described in any occasion or style. People’s every move, every word and every action can be described in everyday English.

NEW ARTICLES

มาใช้แอพมือถือในการจัดการระบบ Wi-Fi

โลกมือถือมาถึงแล้ว จากที่เราเคยต้องนั่งโต๊ะคุยโทรศัพท์
เขียนอีเมล หรือทำสไลด์พรีเซ็นต์ สมาร์ทโฟนมาเปลี่ยนแปลงทุกอย่าง จนวันนี้เราสามารถวิดีโอแชทจากรถยนต์
(ที่ขับเคลื่อนด้วยตัวเอง) แก้ไขเอกสารได้อย่างรวดเร็วบนอุปกรณ์มือถือไปด้วย
แล้วอีกไม่นานการฝากเช็ค การจองตั๋วเดินทาง และติดต่อกับครอบครัวและเพื่อนๆก็จะทำได้ง่ายเช่นเดียวกัน

Read More »

คุณก็สามารถมี Wi-Fi ที่ “Always-On”

เมื่อนักเรียนได้นั่งจิบกาแฟยามบ่ายไปพร้อมกับทำการบ้านไป
พวกเขาต้องการเข้าใช้เครือข่ายได้อย่างง่ายดาย เช่นเดียวกับผู้ป่วยที่นั่งรอพบแพทย์แล้วอยากดูวิดีโอสตรีมฆ่าเวลา
สำหรับพนักงานองค์กร Wi-Fi มีความสำคัญที่ต้องรองรับกิจกรรมทุกอย่างตั้งแต่ระบบแคชเชียร์ไปจนถึงระบบตอกบัตรเข้า-ออก

Read More »

คำถามสำคัญ 8 ข้อที่ต้องถามเมื่อธุรกิจขนาดเล็กเลือกซื้อ Wi-Fi

การดำเนินธุรกิจทุกวันนี้ต้องใช้อินเทอร์เน็ตไร้สาย
พนักงานต้องการอุปกรณ์ที่เชื่อมต่อและทำงานได้ดี ไม่ว่าจะเป็นตอนคิดราคาขาย นับสินค้าคงคลัง
หรือการจ่ายเงินเดือน ลูกค้าและแขกผู้เข้าพักต้องการตรวจสอบราคาห้องพัก (และราคาที่อื่น)
ลูกค้าที่นั่งรอการนัดหมายอยู่อาจต้องการดูวิดีโอสตรีมทางอินเทอร์เน็ต หรือเพียงเปิดโซเชียลมีเดียเพื่อรับข้อมูลล่าสุด

Read More »

5G คืออะไร?

เราได้เห็นสถาปัตยกรรมระบบเครือข่าย 5G กับประโยชน์ต่อองค์กรที่ต้องการใช้ Wi-Fi 5G การทำความเข้าใจ 5G และบทบาทต่อองค์กรช่วยเตรียมการรับเทคโนโลยีที่ล้ำหน้า ข้อจำกัดทางกายภาพ ความพร้อมในเชิงพาณิชย์ และความคาดหวังของตลาด

Read More »

Forrester ยกให้ Aruba เป็นผู้นำคลื่นลูกใหม่

Forrester กล่าวในรายงานล่าสุด The Forrester New Wave™: Wireless Solutions, Q3 2019 – The Eight Solutions That Matter Most And How They Stack Up ยกให้ “Aruba เป็นผู้นำ” เพื่อช่วยให้ทีมงานด้าน infrastructure และ operation เลือกคู่ค้าที่ตอบโจทย์ความต้องการ Wi-Fi ที่เพิ่มขึ้นเรื่อยๆในการเชื่อมต่ออุปกรณ์และโปรโตคอล IoT ที่หลากหลายซึ่งเป็นส่วนหนึ่งของการเปลี่ยนแปลงทางดิจิตอล

Read More »