The Azure Code Samples are currently available in English

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 -
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 -
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

SDKs

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|

Azure REST API

Azure CLI

Azure RM Powershell

Common HTTP response codes

Http codes

Bots

Related Services

Dependencies

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

Other videos

LUIS with Bot framework Blog

Courses including LUIS

Related Microsoft Projects

Searching docs

Community Projects

If you find an open-source project or sample using LUIS, submit a PR for the community-projects.md file.

## Authoring Routes

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.

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.