Skip to content

Latest commit

 

History

History
115 lines (76 loc) · 5.84 KB

index.asciidoc

File metadata and controls

115 lines (76 loc) · 5.84 KB

Smarti Guide

Build Status
Smarti is a service component for conversational data. It allows to classify conversation intents, extract entities using natural language components and makes this data actionable via turning it into queries for an extendable set of endpoints. In addition Smarti is able to store conversations and thus suggest similar historic conversation flows for new messages.

This document is written for developers, operators and administrators who like to

  • debug, change and contribute Smarti code,

  • run Smarti on a local machine,

  • deploy Smarti on a server and

  • help Smarti get a better application.

All interested can convince themselves of the documentation quality. And if you caught fire, maybe you will become a Smarti developer very soon ;-)

Important
@all if you find typos, missing sections or if you have any other kind of helpful advice to improve this documentation or Smarti in general, please let us know. Share your thoughts and open an issue right here. The Smarti community will help you along, as fast as possible.

Installation packages are provided for Debian- and RedHat-based systems, and as Docker Image.
All packages are available from the download area. Older versions can be found in the release archive.
Alternatively the application can be started by directly launching the executable jar:

$ java -jar smarti-${smarti-version}-exec.jar

Check out a detailed Smarti Installation Guide including system requirements.

The Smarti Configuration is done on two levels:

  1. Since Smarti is a Java application based on the Spring Framework, global application configurations are made using the application.properties file. Read the Application Configuration section to get an overview of Smarti’s numerous configuration options.

  2. Smarti is a multi-client capable system. Therefore each client has its own configuration. Client configurations can be manage with Smarti’s Admin User Interface. Alternatively, you can also use the client configuration API to manage your client’s configurations.

Through Smarti’s conversational RESTful-API it can be seamlessly integrated into any Chat-based communication platform. To learn how to integrate Smarti into chat applications, read the Conversational API section.

For the time being, Smarti works with Rocket.Chat conversations, where it can be seamlessly integrated via an RC plugin. For more information, see the Rocket.Chat adapter API description.

In some cases, Smarti will not do what you expect it to do. You may have encountered a problem that is already known. In the Smarti Troubleshooting Guide you will find solutions for known problems and learn how to get to the bottom of the cause in an unexpected error situation.

Smarti is a Java-Application based on the Spring Framework. The application uses MongoDB as database and Apache Solr as search engine. After checking out the sources from GitHub and installing the build components (ruby, ruby-sass, ruby-compass) a build can be executed as simple

$ mvn clean install [ -Pdeb | -Prpm ]

Read the Developers Guide to become a Smarti developer.

Smarti is an Open Source project so everyone is encouraged to improve it. Don’t hesitate to report bugs, provide fixes or share new ideas with us. Use the issue tracker or send a pull request. To learn more about contributing and how to become a Smarti commiter, read the Smarti Contribution Guide.

The FAQs are addressing common concerns, questions or objections that might come up to your mind, when get into touch with Smarti development.

The Changelog provides a complete list of changes in older releases.

Free use of this software is granted under the terms of the Apache License Version 2.0. See the License for more details.

Smarti is lead by Redlink and Assistify and was initiated in 2017.