Kogno เป็นเฟรมเวิร์กโอเพ่นซอร์สที่ทำงานบนภาษาการเขียนโปรแกรม Ruby สำหรับการพัฒนาแอปพลิเคชันการสนทนา
มันขึ้นอยู่กับสถาปัตยกรรม MVC และได้รับแรงบันดาลใจอย่างมากจาก Rails ดังนั้นหากคุณเคยทำงานกับเฟรมเวิร์กนี้ Kogno จะคุ้นเคยกับคุณเป็นอย่างดี
ปัจจุบันรองรับแพลตฟอร์มการส่งข้อความต่อไปนี้: WhatsApp, Messenger และ Telegram โดยคงรหัสรวมไว้ในแอปพลิเคชันเดียวสำหรับแพลตฟอร์มทั้งหมด
เอกสารฉบับเต็ม
คุณสามารถอ่านเอกสารฉบับเต็มได้ที่ https://docs.kogno.io หรือดำเนินการต่อที่นี่
$ gem install kogno
$ kogno new my_chatbot
my_chatbot
และติดตั้งการอ้างอิง:ต้องติดตั้งไลบรารีการพัฒนา MySQL ก่อนหน้านี้ก่อนที่จะรันคำสั่งต่อไปนี้
$ bundle install
config/database.yml
: adapter : mysql2
pool : 5
username : your_user_name
password : your_password
host : localhost
database : your_database_name
encoding : utf8mb4
collation : utf8mb4_unicode_ci
$ kogno install
$ kogno http start
หากต้องการรับ webhooks คุณต้องกำหนดค่าแพลตฟอร์มการรับส่งข้อความ:
- กำหนดค่า WhatsApp
- กำหนดค่าโทรเลข
- กำหนดค่าเมสเซนเจอร์
โค้ดด้านล่างแสดงถึงคลาส Context
ซึ่งเทียบเท่ากับคลาส Controller
ใน Ruby on Rails:
class MainContext < Conversation
def blocks
intent "greeting" do
@reply . text "Hello!"
@reply . button (
"How can I help you today?" ,
[
{
title : "View Products" ,
payload : "featured_products"
} ,
{
title : "My Cart" ,
payload : "purchases/view_cart"
}
]
)
end
postback "featured_products" do
@reply . text "Alright."
@reply . template "products/featured" , title : "Here is a list of today's featured products."
end
keyword [ "stop" , "quit" ] do
@reply . text "Alright"
@reply . typing 2 . seconds
@reply . text "I'll stop writing you now.."
end
everything_else do
@reply . text "Sorry, but I don't understand what you said."
end
end
end
ในตัวอย่างข้างต้น MainContext
มีความสามารถในการจัดการสถานการณ์ต่อไปนี้:
intent "greeting"
: ข้อความทักทาย เช่น "สวัสดี" หรือ "สวัสดี" ซึ่งก่อนหน้านี้ถูกสร้างและฝึกฝนเกี่ยวกับกลไก NLPpostback"featured_products"
: คลิกกิจกรรมที่ปุ่ม "ดูผลิตภัณฑ์" ที่ถูกส่งมาเป็นการตอบกลับในบล็อกก่อนหน้า "ทักทาย"keyword ["stop", "quit"]
: เฉพาะคำหลักสองคำคือ "stop" หรือ "quit"everything_else
: ข้อความใดๆ ที่มีลักษณะไม่ตรงกับเกณฑ์การดำเนินการของบล็อกที่ระบุไว้ข้างต้นเพื่อทำความเข้าใจวิธีการทำงานของบล็อกให้ดีขึ้นและดูรายการทั้งหมด โปรดตรวจสอบลิงก์ต่อไปนี้ https://docs.kogno.io/contexts/blocks
คุณสามารถมีส่วนร่วมกับโปรเจ็กต์นี้ได้มากมายโดยการพัฒนาแอปพลิเคชันการสนทนากับ Kogno และในกรณีที่คุณพบข้อบกพร่อง โปรดรายงาน
และหากคุณหลงใหลเกี่ยวกับมันเหมือนเรา มาเขียนโค้ดกับเราโดยแก้ไขข้อบกพร่อง เพิ่มการผสานรวม และสร้างคุณสมบัติเพิ่มเติม
Kogno ได้รับการเผยแพร่ภายใต้ใบอนุญาต MIT
เรียนรู้เพิ่มเติม
อ่านเอกสารฉบับเต็มได้ที่ http://docs.kogno.io
นอกจากนี้ คุณยังสามารถดาวน์โหลดซอร์สโค้ดของแอปสาธิตการจองเที่ยวบินที่เขียนด้วยภาษา Kogno ได้