@azure/cognitiveservices-luis-runtime

LUISRuntimeClient Library with typescript type definitions for node.js and browser.

Usage no npm install needed!

<script type="module">
  import azureCognitiveservicesLuisRuntime from 'https://cdn.skypack.dev/@azure/cognitiveservices-luis-runtime';
</script>

README

An isomorphic javascript sdk for - LUISRuntimeClient

This package contains an isomorphic SDK for LUISRuntimeClient.

Currently supported environments

  • Node.js version 6.x.x or higher
  • Browser JavaScript

How to Install

npm install @azure/cognitiveservices-luis-runtime

How to use

nodejs - Authentication, client creation and getVersionPrediction prediction as an example written in TypeScript.

Install @azure/ms-rest-azure-js
npm install @azure/ms-rest-azure-js
Sample code
import { CognitiveServicesCredentials } from "@azure/ms-rest-azure-js";
import { LUISRuntimeClient } from "@azure/cognitiveservices-luis-runtime";

let authoringKey = process.env["luis-authoring-key"];
const creds = new CognitiveServicesCredentials(authoringKey);

// check the following link to find your region
// https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-reference-regions
const region = "<your-region>";
const client = new LUISRuntimeClient(creds, "https://" + region + ".api.cognitive.microsoft.com/");

const appId = "<your-app-id>"; // replace this with your appId.
const versionId = "0.1"; // replace with version of your luis application. Initial value will be 0.1

const predictionRequest = {
  query: "testquery",
  options: {
    datetimeReference: new Date(),
    preferExternalEntities: true
  },
  externalEntities: [
    {
      entityName: "testentityName",
      startIndex: 1,
      entityLength: 1,
        score: 0.86,
      resolution: {}
    }
  ],
  dynamicLists: [
    {
      listEntityName: "testlistEntityName",
      requestLists: [
        {
          name: "testname",
          canonicalForm: "testcanonicalForm",
          synonyms: ["testsynonyms"]
        }
      ]
    }
  ]
};
const verbose = true;
const showAllIntents = true;

client.prediction
  .getVersionPrediction(appId, versionId, predictionRequest, { verbose, showAllIntents })
  .then((result) => {
    console.log("The result is:");
    console.log(result);
  })
  .catch((err) => {
    console.error(err);
  });

browser - Authentication, client creation and getVersionPrediction prediction as an example written in JavaScript.

Sample code
  • index.html
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>@azure/cognitiveservices-luis-runtime sample</title>
    <script src="node_modules/@azure/ms-rest-js/dist/msRest.browser.js"></script>
    <script src="node_modules/@azure/cognitiveservices-luis-runtime/dist/cognitiveservices-luis-runtime.js"></script>
    <script type="text/javascript">
      let authoringKey = process.env["luis-authoring-key"];
      const creds = new msRest.ApiKeyCredentials({ inHeader: { 'Ocp-Apim-Subscription-Key': authoringKey } });


      // check the following link to find your region
      // https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-reference-regions
      const region = "<your-region>";
      const client = new Azure.CognitiveservicesLuisRuntime.LUISRuntimeClient(
        creds,
        "https://" + region + ".api.cognitive.microsoft.com/"
      );

      const appId = "<your-app-id>"; // replace this with your appId.
      const versionId = "0.1"; // replace with version of your luis application. Initial value will be 0.1

      const predictionRequest = {
        query: "testquery",
        options: {
          datetimeReference: new Date(),
          preferExternalEntities: true
        },
        externalEntities: [
          {
            entityName: "testentityName",
            startIndex: 1,
            entityLength: 1,
                  score: 0.9,
            resolution: {}
          }
        ],
        dynamicLists: [
          {
            listEntityName: "testlistEntityName",
            requestLists: [
              {
                name: "testname",
                canonicalForm: "testcanonicalForm",
                synonyms: ["testsynonyms"]
              }
            ]
          }
        ]
      };
      const verbose = true;
      const showAllIntents = true;

      client.prediction
        .getVersionPrediction(appId, versionId, predictionRequest, { verbose, showAllIntents })
        .then((result) => {
          console.log("The result is:");
          console.log(result);
        })
        .catch((err) => {
          console.error(err);
        });
    </script>
  </head>
  <body></body>
</html>

Related projects

Impressions