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
웹후크를 수신하려면 메시징 플랫폼을 구성해야 합니다.
- WhatsApp 구성
- 텔레그램 구성
- 메신저 구성
아래 코드는 Ruby on Rails의 Controller
클래스와 동일한 Context
클래스를 나타냅니다.
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"
: "Hello" 또는 "Hi"와 같은 인사말 메시지입니다. 이전에 NLP 엔진에서 생성되고 훈련되었습니다.postback"featured_products"
: 이전 차단 인텐트 "인사말"에서 응답으로 전송된 "제품 보기" 버튼의 클릭 이벤트입니다.keyword ["stop", "quit"]
: 구체적으로 두 개의 키워드 "stop" 또는 "quit"입니다.everything_else
: 위에 나열된 블록의 실행 기준과 특성이 일치하지 않는 모든 메시지입니다.블록 작동 방식을 더 잘 이해하고 전체 목록을 보려면 다음 링크(https://docs.kogno.io/contexts/blocks)를 확인하세요.
코그노와 함께 대화형 애플리케이션을 개발하시면 본 프로젝트에 많은 기여를 하실 수 있으며, 버그를 발견하시면 신고해 주시기 바랍니다.
여러분도 우리만큼 열정이 있다면 버그를 수정하고 더 많은 통합을 추가하고 더 많은 기능을 만들어 우리와 함께 코딩해 보세요.
Kogno는 MIT 라이센스에 따라 출시됩니다.
자세히 알아보기
http://docs.kogno.io에서 전체 설명서를 읽어보세요.
또한, 코그노(Kogno)로 작성된 항공권 예약 데모 앱의 소스코드를 다운로드 받으실 수 있습니다.