Awesome
page_type: sample languages:
- csharp
- javascript
- html
- java
- python products:
- azure description: "LUIS allows your application to understand what a person wants in their own words." urlFragment: cognitive-services-language-understanding
Language Understanding (LUIS) Samples
Welcome to the Language Understanding (LUIS) samples repository. LUIS allows your application to understand what a person wants in their own words. LUIS uses machine learning to allow developers to build applications that can receive user input in natural language and extract meaning from it.
Create your Azure LUIS service
Use the Deploy to Azure
button to quickly create an Azure LUIS service. You get one free LUIS service per account. The free service has a sku of F0
. The basic tier has a sku of S0
.
Examples by language
Example | CSharp | Java | Node.js | Javascript | Python | PHP | Ruby | JSON | GO |
---|---|---|---|---|---|---|---|---|---|
Create and customize a LUIS app (Authoring) | ✔ | ||||||||
Predict user utterances (Runtime) | REST, SDK | REST | REST | REST | REST | ||||
Build app programmatically | REST, SDK | ✔ | |||||||
Upload utterances from query log | ✔ | ||||||||
Upload utterances from exported app | ✔ | ||||||||
Quickstarts: Change model | |||||||||
Quickstarts: Analyze text | |||||||||
Azure function to LUIS endpoint | ✔ | ||||||||
Backup all apps in Subscription | ✔ | ||||||||
Add list entity | ✔ | ||||||||
*Notes app sample | ✔ | ||||||||
App model definition - Bookflight | ✔ | ||||||||
App model definition - Colors | ✔ | ||||||||
App model definition - IoT | ✔ | ||||||||
Phrase lists | ✔ | ||||||||
Bing Spell Check | ✔ | ||||||||
Azure function with application insights | ✔ | ||||||||
Download query log asynchronously | ✔ | ||||||||
Get region from app ID and subscription key | ✔ | ✔ | |||||||
*Bot Integration sample - hotel finder | ✔ | ✔ | |||||||
Bot Integration sample - HomeAutomation | ✔ | ✔ | |||||||
Bot Integration sample - HomeAutomation & Application Insights | ✔ | ✔ | |||||||
Bot Integration sample - <br>Study Bot - Csharp, Node | ✔ | ✔ |
* = example demonstrates complete cycle: create, train, publish, query
Examples by usage
Example | Demonstrates |
---|---|
Create and customize a LUIS app (Authoring) | Uses the LUIS SDK to create then customize an app |
Predict user utterances (Runtime) | Uses the LUIS SDK to show utterance relevancy and intent scores |
Build app programmatically | Authoring API |
Upload utterances from query log | Authoring API |
Upload utterances from exported app | Authoring API |
Add an utterance to app model | Authoring API |
Send utterance to endpoint | Endpoint API, Public app |
Azure function to LUIS endpoint | Endpoint API |
Backup all apps in Subscription | Authoring API |
Notes app sample | Create-Train-Publish-Query, Prebuilt domain |
App model definition - Bookflight | Hierarchical entity, Composite entity, List entity, datetimeV2 prebuilt entity, number prebuilt entity, upload labeled utterance |
App model definition - Colors | Phrase list feature |
App model definition - IoT | Prebuilt domain |
Phrase lists | Phrase list feature, Hierarchical entity, datetimeV2 prebuilt entity, number prebuilt entity |
Bing Spell Check | Public App |
Azure function with application insights | Azure function, Application Insights |
Add list entity | List entity, train, query |
Download query log asynchronously | Authoring API |
Bot Integration sample - hotel finder | Bot Framework SDK, Create-Train-Publish-Query |
Bot Integration sample - HomeAutomation | Web app bot |
Bot Integration sample - HomeAutomation & Application Insights | Web app bot, Application Insights |
Bot Integration sample - <br>Study Bot - Csharp, Node | Web app bot that integrates LUIS, QnA Maker, Bing Spell Check, and Speech Service |
Interactive app
Ask LUIS to turn on the lights in this interactive demonstration.
Healthbot
Tell the Contoso Health bot where you are injured and the bot will recommend remedies.
Intelligent Kiosk
The open-source Intelligent Kiosk Sample version is a collection of apps showcasing workflows and experiences built on top of the Microsoft Cognitive Services. Most of the experiences are hands-free and autonomous, using the human faces in front of a web camera as the main form of input (thus the word "kiosk" in the name).
Install the currently supported Intelligent Kiosk as a Windows 10 app and try out the various apps inside the kiosk, including apps with LUIS.
References
APIs
last updated Oct 2019
Rest API ref docs
Version | Type | By route |
---|---|---|
V3 stable | Prediction | |
V3 preview | Authoring | Routes |
V2 stable | Prediction | |
V2 stable | Authoring | Routes |
SDKs
last updated Feb 13, 2019
Language | Package Manager | Samples | Reference Documentation |
---|---|---|---|
C# | NuGet - authoring<br>NuGet - runtime | Samples | Docs |
Go | SDK - authoring<br>SDK - runtime | - | Docs |
Java | Maven - authoring<br>Maven - runtime | Samples | Docs |
Javascript | NPM - authoring<br>NPM - runtime | Samples | |
Python | PIP | Samples | Docs |
Azure REST API
Azure CLI
Azure RM Powershell
Common HTTP response codes
Bots
- Bot Framework
- BotBuilder v4, Nodejs, .Net. Coming soon: Python & Java
- BotBuilder v4 LUIS libraries: Nodejs NPM package, .Net NuGet package
- Bot Builder Samples
- Bot Builder Tools
Related Services
Dependencies
- Recognizers-Text for prebuilt entities
Azure status
Regional availability: LUIS is part of the AI and Machine Learning section.
Videos
updated Dec 15, 2018
Containers
Video demonstration of LUIS container.
//BUILD 2018
- Azure Friday At Build 2018: Cognitive Services - Language (LUIS)
- Build 2018 AI Show - What’s New with Language Understanding Service
- Build 2018 Session - Bot intelligence, Speech Capabilities, and NLU best practices
- Build 2018 - LUIS Updates
Other videos
- Introduction to LUIS
- Advanced learning with LUIS
- Channel 9 Deep Dive into LUIS and Chatbots
- Conference Buddy Bot - AI Show
LUIS with Bot framework Blog
Courses including LUIS
- Mixed reality: MR and Azure 303: Natural language understanding
Related Microsoft Projects
- Prebuilt entity recognizer
- Azure Code Samples for LUIS
- Universal Language Intelligence Service - Nodejs: A wrapper for the Microsoft LUIS cognitive that provides universal language support (after training) using the Bing Translate API
- Microsoft Cognitive Services control for Microsoft Bot Builder - C# & Nodejs: The cognitive services control makes consuming different Microsoft Cognitive Services easy for bots developed using Microsoft Bot Builder SDK. The control is available for C# and Node.js SDKs.
- Activate Azure with Intelligent Apps - C#: Fabrikam Investment Bank Customer Service uses LUIS
- LUIS Console Application Sample - C#
- Adaptive Cards
- Octobot from the Sandbox
- Microsoft Health Bot
Searching docs
Community Projects
If you find an open-source project or sample using LUIS, submit a PR for the community-projects.md file.
Prediction Routes v3 Stable
- /apps/{appId}/slots/{slotName}/predict [get,post]
- /apps/{appId}/versions/{versionId}/predict [get,post]
Authoring Routes v3 Preview
- /apps/ [post,get]
- /apps/assistants [get]
- /apps/cultures [get]
- /apps/customprebuiltdomains [get,post]
- /apps/customprebuiltdomains/{culture} [get]
- /apps/domains [get]
- /apps/import [post]
- /apps/usagescenarios [get]
- /apps/{appId} [get,put,delete]
- /apps/{appId}/azureaccounts [post,get,delete]
- /apps/{appId}/endpoints [get]
- /apps/{appId}/permissions [get,post,delete,put]
- /apps/{appId}/publish [post]
- /apps/{appId}/publishsettings [get,put]
- /apps/{appId}/querylogs [get]
- /apps/{appId}/settings [get,put]
- /apps/{appId}/versions [get]
- /apps/{appId}/versions/import [post]
- /apps/{appId}/versions/{versionId}/ [get,put,delete]
- /apps/{appId}/versions/{versionId}/clone [post]
- /apps/{appId}/versions/{versionId}/closedlists [get,post]
- /apps/{appId}/versions/{versionId}/closedlists/{clEntityId} [get,put,patch,delete]
- /apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists [post]
- /apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId} [delete,put]
- /apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles [get,post]
- /apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/compositeentities [get]
- /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children [post]
- /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children/{cChildId} [delete]
- /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles [get,post]
- /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/customprebuiltdomains [post]
- /apps/{appId}/versions/{versionId}/customprebuiltdomains/{domainName} [delete]
- /apps/{appId}/versions/{versionId}/customprebuiltentities [post,get]
- /apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles [get,post]
- /apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/customprebuiltintents [post,get]
- /apps/{appId}/versions/{versionId}/customprebuiltmodels [get]
- /apps/{appId}/versions/{versionId}/entities [post,get]
- /apps/{appId}/versions/{versionId}/entities/{entityId} [get,delete,patch]
- /apps/{appId}/versions/{versionId}/entities/{entityId}/children [post]
- /apps/{appId}/versions/{versionId}/entities/{entityId}/roles [get,post]
- /apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/entities/{entityId}/suggest [get]
- /apps/{appId}/versions/{versionId}/example [post]
- /apps/{appId}/versions/{versionId}/examples [post,get]
- /apps/{appId}/versions/{versionId}/examples/{exampleId} [delete]
- /apps/{appId}/versions/{versionId}/export [get]
- /apps/{appId}/versions/{versionId}/features [get]
- /apps/{appId}/versions/{versionId}/hierarchicalentities [get]
- /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId} [get,patch,delete]
- /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId} [get,patch,delete]
- /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles [get,post]
- /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/intents [post,get]
- /apps/{appId}/versions/{versionId}/intents/{intentId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/intents/{intentId}/patternrules [get]
- /apps/{appId}/versions/{versionId}/intents/{intentId}/suggest [get]
- /apps/{appId}/versions/{versionId}/listprebuilts [get]
- /apps/{appId}/versions/{versionId}/models [get]
- /apps/{appId}/versions/{versionId}/models/{modelId}/examples [get]
- /apps/{appId}/versions/{versionId}/patternanyentities [get,post]
- /apps/{appId}/versions/{versionId}/patternanyentities/{entityId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist [get,post]
- /apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles [get,post]
- /apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/patternrule [post]
- /apps/{appId}/versions/{versionId}/patternrules [get,put,post,delete]
- /apps/{appId}/versions/{versionId}/patternrules/{patternId} [put,delete]
- /apps/{appId}/versions/{versionId}/patterns [post,get]
- /apps/{appId}/versions/{versionId}/patterns/{patternId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/phraselists [post,get]
- /apps/{appId}/versions/{versionId}/phraselists/{phraselistId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/prebuilts [post,get]
- /apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles [get,post]
- /apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId} [get,delete]
- /apps/{appId}/versions/{versionId}/regexentities [get,post]
- /apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles [get,post]
- /apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/regexentities/{regexEntityId} [get,put,delete]
- /apps/{appId}/versions/{versionId}/settings [get,put]
- /apps/{appId}/versions/{versionId}/suggest [delete]
- /apps/{appId}/versions/{versionId}/train [post,get]
- /azureaccounts [get]
- /package/{appId}/slot/{slotName}/gzip [get]
- /package/{appId}/versions/{versionId}/gzip [get]
Authoring Routes v2 Stable
- /apps/ [post,get]
- /apps/assistants [get]
- /apps/cultures [get]
- /apps/customprebuiltdomains [post,get]
- /apps/customprebuiltdomains/{culture} [get]
- /apps/domains [get]
- /apps/import [post]
- /apps/usagescenarios [get]
- /apps/{appId} [delete,get,put]
- /apps/{appId}/azureaccounts [post,get,delete]
- /apps/{appId}/endpoints [get]
- /apps/{appId}/permissions [post,get,delete,put]
- /apps/{appId}/publish [post]
- /apps/{appId}/publishsettings [get,put]
- /apps/{appId}/querylogs/ [get]
- /apps/{appId}/querylogsasync/ [get,post]
- /apps/{appId}/settings [get,put]
- /apps/{appId}/versions [get]
- /apps/{appId}/versions/import [post]
- /apps/{appId}/versions/{versionId}/ [delete,get,put]
- /apps/{appId}/versions/{versionId}/assignedkey [put,get]
- /apps/{appId}/versions/{versionId}/clone [post]
- /apps/{appId}/versions/{versionId}/closedlists [post,get]
- /apps/{appId}/versions/{versionId}/closedlists/{clEntityId} [delete,get,patch,put]
- /apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists [post]
- /apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId} [delete,put]
- /apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles [post,get]
- /apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/compositeentities [post,get]
- /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children [post]
- /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children/{cChildId} [delete]
- /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles [post,get]
- /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/customprebuiltdomains [post]
- /apps/{appId}/versions/{versionId}/customprebuiltdomains/{domainName} [delete]
- /apps/{appId}/versions/{versionId}/customprebuiltentities [post,get]
- /apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles [post,get]
- /apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/customprebuiltintents [post,get]
- /apps/{appId}/versions/{versionId}/customprebuiltmodels [get]
- /apps/{appId}/versions/{versionId}/entities [post,get]
- /apps/{appId}/versions/{versionId}/entities/{entityId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/entities/{entityId}/roles [post,get]
- /apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/entities/{entityId}/suggest [get]
- /apps/{appId}/versions/{versionId}/example [post]
- /apps/{appId}/versions/{versionId}/examples [post,get]
- /apps/{appId}/versions/{versionId}/examples/{exampleId} [delete]
- /apps/{appId}/versions/{versionId}/export [get]
- /apps/{appId}/versions/{versionId}/externalKeys [get,put]
- /apps/{appId}/versions/{versionId}/externalKeys/{keyType} [delete]
- /apps/{appId}/versions/{versionId}/features [get]
- /apps/{appId}/versions/{versionId}/hierarchicalentities [post,get]
- /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children [post]
- /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles [post,get]
- /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/intents [post,get]
- /apps/{appId}/versions/{versionId}/intents/{intentId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/intents/{intentId}/patternrules [get]
- /apps/{appId}/versions/{versionId}/intents/{intentId}/suggest [get]
- /apps/{appId}/versions/{versionId}/listprebuilts [get]
- /apps/{appId}/versions/{versionId}/models [get]
- /apps/{appId}/versions/{versionId}/patternanyentities [post,get]
- /apps/{appId}/versions/{versionId}/patternanyentities/{entityId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist [post,get]
- /apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles [post,get]
- /apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/patternrule [post]
- /apps/{appId}/versions/{versionId}/patternrules [post,delete,get,put]
- /apps/{appId}/versions/{versionId}/patternrules/{patternId} [delete,put]
- /apps/{appId}/versions/{versionId}/patterns [post,get]
- /apps/{appId}/versions/{versionId}/patterns/{patternId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/phraselists [post,get]
- /apps/{appId}/versions/{versionId}/phraselists/{phraselistId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/prebuilts [post,get]
- /apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles [post,get]
- /apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId} [delete,get]
- /apps/{appId}/versions/{versionId}/regexentities [post,get]
- /apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles [post,get]
- /apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/regexentities/{regexEntityId} [delete,get,put]
- /apps/{appId}/versions/{versionId}/settings [get,put]
- /apps/{appId}/versions/{versionId}/suggest [delete]
- /apps/{appId}/versions/{versionId}/train [get,post]
- /azureaccounts [get]
- /externalKeys [post,get]
- /externalKeys/{externalKeyValue} [delete]
- /package/{appId}/slot/{slotName}/gzip [get]
- /package/{appId}/versions/{versionId}/gzip [get]
- /programmatickey [put]
- /subscriptions [post,get,put]
- /subscriptions/{subscriptionKey} [delete]
Route map generated with swagger-tools.
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.