Microsoft API Golang package
Switch branches/tags
Nothing to show
Latest commit 82ca1a1 Mar 30, 2017 @kkdai Fixed test for Golang

GitHub license GoDoc Build Status

###Language Understanding Intelligent Service (LUIS)

LUIS lets your app understand language

  • LUIS is in beta and free to use
  • Supported browsers: Internet Explorer 10/11, Chrome

In LUIS you can:

  • Create language understanding models.
  • Use pre-built, world-class models from Bing and Cortana.
  • Deploy your models to an HTTP endpoint.
  • Activate models on any device.

Here is some suggestion and limitation you might want to check before add all you intent. Chinese

How to get APP_ID and APP_KEY


Login and go to LUIS key page

You can see the API_KEY in "My Keys".


Create a new App (if you don't have one) and in the APP dashboard, you can get APP_ID from web URL. It might be 12341be8-8cfb-471c-b05a-636d58cd5678


go get

How to use it

var API_KEY string
var APPID string

func main() {
	APPID = os.Getenv("APP_ID")
	API_KEY = os.Getenv("SUB_KEY")

	if API_KEY == "" {
		fmt.Println("Please export your key to environment first, `export SUB_KEY=12234 && export APP_ID=5678`")

	if API_KEY == "" {

	e := NewLuis(API_KEY, APPID)

	res, err := e.IntelList()

	if err != nil {
		log.Error("Error happen on :", err.Err)
	fmt.Println("Got response:", string(res))
	result := NewIntentListResponse(res)
	fmt.Println("Luis Intent Ret", result)
	//Add utterances
	ex := ExampleJson{ExampleText: "test", SelectedIntentName: "test2"}
	res, err = e.AddLabel(ex)

	//Train it
	res, err = e.Train()

	//Predict it, once you have train your models.
		res, err := e.Predict("test string")

	if err != nil {
		log.Error("Error happen on :", err.Err)
	fmt.Println("Got response:", string(res))
	fmt.Println("Get the best predict result:", GetBestScoreIntent(NewPredictResponse(res)))

	//If you don't have any model
	//Get the best predict result: {None <nil> 0.28}

Implemented APIs

Unimplement APIs (Yet)

Need your help to send your PR.


Please open up an issue on GitHub before you put a lot efforts on pull request. The code submitting to PR must be filtered with gofmt


This package is licensed under MIT license. See LICENSE for details.