NLPCraft library allows you build advanced free-form natural language interface to any public or private data sources like databases, REST services, IoT devices, voice assistants, chatbots, etc.
NLPCraft is the core module in DataLingvo enterprise-grade cloud-based service and has been in development since 2013. It has been enhanced as a highly functional standalone NLP system and opened to the community in 2019.
How does it work?
You start by defining a model with a simple Data Model API using any JVM-based language like Java, Scala, Groovy, etc. For a particular data source, a model-as-a-code specifies how to interpret user input (e.g. intents), how to query or control this data source, and how to format the final result back.
Once your model is defined you will need to deploy it into a NLPCraft Data Probe - an application that connects to NLPCraft Server. Its purpose is to host user data models. You can have multiple data probes and each data probe can host multiple data models. Data probes are typically deployed in DMZ or close to your private data sources.
Once your model is defined and deployed, you can start NLPCraft Server and use its REST API to ask natural language questions and get results back from your configured data source.
Apache 2.0 License with Commons Clause.
Here's what you will need to get started with NLPCraft:
- Java SE Runtime Environment (JRE) ver. 8 or later installed.
- Latest Git and Maven.
Clone this project to a local folder:
$ mkdir nlpcraft
$ cd nlpcraft
$ git clone https://github.com/vic64/nlpcraft.gitCopyright (C) 2013-2019 DataLingvo Inc. All Rights Reserved.
