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
- Host: GitHub
- URL: https://github.com/just-ai/jaicf-kotlin
- Owner: just-ai
- License: apache-2.0
- Created: 2020-03-12T15:31:05.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-21T14:04:55.000Z (over 1 year ago)
- Last Synced: 2024-10-21T22:36:46.770Z (over 1 year ago)
- Topics: alexa, alexa-skill, chatbot, chatbot-framework, conversational-agents, conversational-ai, conversational-bots, google-actions, google-assistant, kotlin, kotlin-library, ktor-server, voice, voice-assistant
- Language: Kotlin
- Homepage: https://help.jaicf.com
- Size: 25.5 MB
- Stars: 241
- Watchers: 13
- Forks: 39
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[](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).
[](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)
[](https://travis-ci.org/just-ai/jaicf-kotlin)
[](https://search.maven.org/search?q=jaicf)
[](https://github.com/just-ai/jaicf-kotlin/blob/master/LICENSE)
[](CONTRIBUTING.md)
[](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** 
## 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.