Microsoft Luis.ai API Golang package
Go
Switch branches/tags
Nothing to show
Latest commit 82ca1a1 Mar 30, 2017 @kkdai Fixed test
Permalink
Failed to load latest commit information.
images
.gitignore
.travis.yml
LICENSE
README.md
client.go
doc.go
luis.go
luis_test.go
parameters.go
response.go
url.go

README.md

LUIS.ai 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

APP_KEY

Login and go to LUIS key page https://www.luis.ai/home/keys

You can see the API_KEY in "My Keys".

APP_ID

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

Installation

go get github.com/kkdai/luis

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 == "" {
		return
	}

	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.

Contribute

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

License

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