What Is NLPCraft

Apache NLPCraft® is an open source library for adding natural language Interface to any applications. Based on semantic modelling it allows rapid implementation and requires no model training or pre-existing text corpora.

Define a semantic model and intents to interpret user input using any JVM-based language like Java, Scala, Groovy or Kotlin. Deploy the model and use REST API to explore the data using natural language.

Natural Language

Natural Language Interface (NLI) enables users to explore any type of data sources using natural language augmenting existing UI/UX with fidelity and simplicity of a familiar spoken language.

There is no learning curve, no special rules or UI to master, no cumbersome syntax or terms to remember - just a natural language that your users already speak.

Key Features

Semantic Modeling

Advanced semantic modelling and intent-based matching enables deterministic natural language understanding without requiring deep learning training or pre-existing text corpora.

Any Data Source

Any data source, device, or service - public or private. From databases and SaaS systems, to smart home devices, voice assistants and chatbots.

English Focused

NLPCraft focuses on processing English language delivering the ease of use and unparalleled comprehension for the language spoken by more than a billion people.


REST API and Java-based implementation natively support world's largest ecosystem of development tools, programming languages and services.


Model-as-a-code convention natively supports any system development life cycle tools and frameworks in Java eco-system.

Out-Of-The-Box Integration

NLPCraft natively integrates with 3rd party libraries for base NLP processing and named entity recognition:

How It Works

There are three main software components:

Data model specifies how to interpret user input, how to query a data source, and how to format the result back. Developers use model-as-a-code approach to build models using any JVM language like Java, Scala, Groovy or Kotlin.

Data probe is a DMZ-deployed application designed to securely deploy and manage data models. Each probe can manage multiple models and you can have many probes.

REST server provides REST endpoint for user applications to securely query data sources using NLI via data models deployed in data probes.

Latest News

Announcing Apache NLPCraft 0.6.2. 
Announcing the 1st release of the Apache NLPCraft. 

Apache NLPCraft is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects.

While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. Licensed under the Apache License, Version 2.0. Apache NLPCraft, Apache, the Apache feather, and the Apache NLPCraft project logo are either trademarks or registered trademarks of the Apache Software Foundation.