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.
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
.
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 - Study Bot - Csharp, Node |
✔ | ✔ |
* = example demonstrates complete cycle: create, train, publish, query
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 - Study Bot - Csharp, Node |
Web app bot that integrates LUIS, QnA Maker, Bing Spell Check, and Speech Service |
Ask LUIS to turn on the lights in this interactive demonstration.
Tell the Contoso Health bot where you are injured and the bot will recommend remedies.
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.
- Authoring model API V2 docs
- Analyze utterance
- API authoring routes last updated Dec 03, 2018
last updated Feb 13, 2019
Language | Package Manager | Samples | Reference Documentation |
---|---|---|---|
C# | NuGet - authoring NuGet - runtime |
Samples | Docs |
Go | SDK - authoring SDK - runtime |
- | Docs |
Java | Maven - authoring Maven - runtime |
Samples | Docs |
Javascript | NPM - authoring NPM - runtime |
Samples | |
Python | PIP | Samples | Docs |
- 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
- Recognizers-Text for prebuilt entities
Regional availability: LUIS is part of the AI and Machine Learning section.
updated Dec 15, 2018
Video demonstration of LUIS container.
- 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
- Introduction to LUIS
- Advanced learning with LUIS
- Channel 9 Deep Dive into LUIS and Chatbots
- Conference Buddy Bot - AI Show
- Mixed reality: MR and Azure 303: Natural language understanding
- 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
If you find an open-source project or sample using LUIS, submit a PR for the community-projects.md file.
Bold items = updated as of Dec 3, 2018
This items are used to assign a LUIS resource key to an application without using the LUIS portal.
- /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.
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.