An open API service indexing awesome lists of open source software.

https://github.com/just-ai/jaicf-kotlin

Kotlin framework for conversational voice assistants and chatbots development
https://github.com/just-ai/jaicf-kotlin

alexa alexa-skill chatbot chatbot-framework conversational-agents conversational-ai conversational-bots google-actions google-assistant kotlin kotlin-library ktor-server voice voice-assistant

Last synced: 11 months ago
JSON representation

Kotlin framework for conversational voice assistants and chatbots development

Awesome Lists containing this project

README

          

[![JAICF](https://github.com/just-ai/jaicf-kotlin/raw/master/docs/assets/images/header.png)](https://just-ai.com/en/jaicf)

JAICF is a comprehensive enterprise-level framework from [Just AI](https://just-ai.com) for conversational voice assistants and chatbots development using [Kotlin-based DSL](https://help.jaicf.com/Scenario-DSL).


[![Twitter URL](https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Fgithub.com%2Fjust-ai%2Fjaicf-kotlin)](https://twitter.com/intent/tweet?text=Try%20JAICF%20-%20a%20Kotlin%20framework%20for%20conversational%20voice%20assistants%20and%20chatbots%20development&url=https://github.com/just-ai/jaicf-kotlin&via=JustAIglobal)
[![Build Status](https://travis-ci.org/just-ai/jaicf-kotlin.svg?branch=master)](https://travis-ci.org/just-ai/jaicf-kotlin)
[![Download](https://img.shields.io/maven-central/v/com.just-ai.jaicf/core?label=latest-release)](https://search.maven.org/search?q=jaicf)
[![GitHub License](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](https://github.com/just-ai/jaicf-kotlin/blob/master/LICENSE)
[![](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
[![Awesome Kotlin Badge](https://kotlin.link/awesome-kotlin.svg)](https://github.com/KotlinBy/awesome-kotlin)

```kotlin
val HelloWorldScenario = Scenario {
state("main") {
activators {
event(AlexaEvent.LAUNCH)
intent(DialogflowIntent.WELCOME)
regex("/start")
}

action {
reactions.run {
sayRandom("Hi!", "Hello there!")
say("How are you?")
telegram?.image("https://somecutecats.com/cat.jpg")
}
}
}
}
```
```kotlin
repositories {
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib-jdk8"))
implementation("com.just-ai.jaicf:core:$jaicfVersion")
}
```
[Or using Maven configuration](https://help.jaicf.com/Installing#maven)

**The latest version is** ![](https://img.shields.io/github/v/release/just-ai/jaicf-kotlin?color=%23000&label=&style=flat-square)

## Key features

* Provides [Kotlin-based DSL](https://help.jaicf.com/Scenario-DSL) for writing context-aware dialogue scenarios in declarative style.
* Connects to any [voice and text channels](https://help.jaicf.com/Channels) like [Amazon Alexa](https://help.jaicf.com/Alexa), [Google Actions](https://help.jaicf.com/Google-Actions), [Yandex Alice](https://help.jaicf.com/Yandex-Alice), [Slack](https://help.jaicf.com/Slack), [Facebook Messenger](https://help.jaicf.com/Facebook-Messenger) and [others](https://help.jaicf.com/Channels).
* Works with any [NLU engines](https://help.jaicf.com/Natural-Language-Understanding) like [Dialogflow](https://help.jaicf.com/Dialogflow), [Rasa](https://help.jaicf.com/Rasa) or [CAILA](https://help.jaicf.com/Caila).
* Enables developer to create dialogue scenarios that work [simultaneously in multiple platforms](https://help.jaicf.com/Channels#multi-channel-support) without any restrictions of platform-related features.
* Contains a [JUnit-based test suite](https://help.jaicf.com/Testing) to automate dialogue scenarios testing.
* Being a Kotlin app, JAICF driven bot can use any [Kotlin](https://kotlinlang.org/docs/reference/) or Java features and third-party libraries.
* Can be ran and deployed to [any environment](https://help.jaicf.com/Environments) using [Ktor](https://help.jaicf.com/Ktor) or [Spring Boot](https://help.jaicf.com/Spring-Boot).
* [Embeddable](https://help.jaicf.com/Android) to the Android-powered devices.

## How to start using

Please visit [JAICF documentation](https://help.jaicf.com) for [Quick Start](https://help.jaicf.com/Quick-Start) and detailed explanations of how to start using this framework in your projects.

## Examples

Here are some [examples](examples) you can find helpful to dive into the framework.

## Contributing

Please see [the contribution guide](CONTRIBUTING.md) to learn how you can be involved in JAICF development.

## Community

You're welcome to [join a Slack community](https://join.slack.com/t/jaicf/shared_invite/zt-duq07hx2-w_c71O8BnKDCIqhSXflRjA) to share your ideas or ask questions regarding the JAICF usage.

## Licensing

JAICF is under [Apache 2.0](LICENSE) license meaning you are free to use and modify it without the need to open your project source code.