Início Rápido: Consultar o ponto de extremidade de previsão V3 com o SDKQuickstart: Query V3 prediction endpoint with SDK

Use o SDK para enviar um enunciado de usuário ao LUIS (Reconhecimento vocal) e receber uma previsão da intenção do usuário.Use the SDK, to send a user utterance to Language Understanding (LUIS) and receive a prediction of the user's intention.

Use a biblioteca de clientes de previsão de LUIS (Reconhecimento Vocal) para .NET com o objetivo de:Use the Language Understanding (LUIS) prediction client library for .NET to:

  • Obter previsão por slotGet prediction by slot
  • Previsão por versãoPrediction by Version

Documentação de referência | Código-fonte da biblioteca | Pacote do runtime de previsão (NuGet) | Exemplos de C#Reference documentation | Library source code | Prediction runtime Package (NuGet) | C# Samples

Pré-requisitosPrerequisites

  • Conta do portal do LUIS (Reconhecimento Vocal) – Crie uma gratuitamenteLanguage Understanding (LUIS) portal account - Create one for free
  • A versão atual do .NET Core.The current version of .NET Core.
  • Uma ID do aplicativo LUIS – use a ID do aplicativo IoT público de df67dcdb-c37d-46af-88e1-8b97951ca1c2.A LUIS app ID - use the public IoT app ID of df67dcdb-c37d-46af-88e1-8b97951ca1c2. A consulta de usuário usada no código de início rápido é específica para esse aplicativo.The user query used in the quickstart code is specific to that app.

ConfigurandoSetting up

Criar uma variável de ambienteCreate an environment variable

Usando sua chave e o nome de seu recurso, crie duas variáveis de ambiente para autenticação:Using your key, and the name of your resource, create two environment variables for authentication:

  • LUIS_PREDICTION_KEY – a chave de recurso para autenticar as solicitações.LUIS_PREDICTION_KEY - The resource key for authenticating your requests.
  • LUIS_ENDPOINT_NAME – o nome do recurso associado à sua chave.LUIS_ENDPOINT_NAME - The resource name associated with your key.

Use as instruções para seu sistema operacional.Use the instructions for your operating system.

setx LUIS_PREDICTION_KEY <replace-with-your-resource-key>
setx LUIS_ENDPOINT_NAME <replace-with-your-resource-name>

Depois de adicionar a variável de ambiente, reinicie a janela do console.After you add the environment variable, restart the console window.

Criar um aplicativo em C#Create a new C# application

Crie um novo aplicativo .NET Core em seu IDE ou editor preferido.Create a new .NET Core application in your preferred editor or IDE.

  1. Em uma janela de console (como cmd, PowerShell ou Bash), use o comando new para criar um novo aplicativo do console com o nome language-understanding-quickstart.In a console window (such as cmd, PowerShell, or Bash), use the dotnet new command to create a new console app with the name language-understanding-quickstart. Esse comando cria um projeto simples em C# do tipo "Olá, Mundo" com um arquivo de origem único: Program.cs.This command creates a simple "Hello World" C# project with a single source file: Program.cs.

    dotnet new console -n language-understanding-quickstart
    
  2. Altere o diretório para a pasta do aplicativo recém-criado.Change your directory to the newly created app folder.

  3. É possível criar o aplicativo com:You can build the application with:

    dotnet build
    

    A saída de compilação não deve conter nenhum aviso ou erro.The build output should contain no warnings or errors.

    ...
    Build succeeded.
     0 Warning(s)
     0 Error(s)
    ...
    

Instalar o SDKInstall the SDK

Dentro do diretório do aplicativo, instale a biblioteca de clientes de runtime de previsão do LUIS (Reconhecimento Vocal) para .NET com o seguinte comando:Within the application directory, install the Language Understanding (LUIS) prediction runtime client library for .NET with the following command:

dotnet add package Microsoft.Azure.CognitiveServices.Language.LUIS.Runtime --version 3.0.0

Se você estiver usando o IDE do Visual Studio, a biblioteca de clientes estará disponível como um pacote baixável do NuGet.If you're using the Visual Studio IDE, the client library is available as a downloadable NuGet package.

Modelo de objetoObject model

O cliente de runtime de previsão do LUIS (Reconhecimento Vocal) é um objeto LUISRuntimeClient que se autentica no Azure, que contém sua chave de recurso.The Language Understanding (LUIS) prediction runtime client is a LUISRuntimeClient object that authenticates to Azure, which contains your resource key.

Depois que o cliente for criado, use-o para acessar a funcionalidade, incluindo:Once the client is created, use this client to access functionality including:

Exemplos de códigoCode examples

Estes snippets de códigos mostram como fazer o seguinte com a biblioteca de clientes de runtime de previsão do LUIS (Reconhecimento Vocal) para .NET:These code snippets show you how to do the following with the Language Understanding (LUIS) prediction runtime client library for .NET:

Adicionar as dependênciasAdd the dependencies

No diretório do projeto, abra o arquivo Program.cs no IDE ou no editor de sua preferência.From the project directory, open the Program.cs file in your preferred editor or IDE. Substitua o código using existente pelas seguintes diretivas de using:Replace the existing using code with the following using directives:

using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Azure.CognitiveServices.Language.LUIS.Runtime;
using Microsoft.Azure.CognitiveServices.Language.LUIS.Runtime.Models;

Autenticar o clienteAuthenticate the client

  1. Crie variáveis para a chave, o nome e a ID do aplicativo:Create variables for the key, name and app ID:

    variáveis para gerenciar sua chave de previsão extraída de uma variável de ambiente chamada LUIS_PREDICTION_KEY.A variables to manage your prediction key pulled from an environment variable named LUIS_PREDICTION_KEY. Se você criou a variável de ambiente depois de iniciar o aplicativo, será necessário fechar e recarregar o editor, o IDE ou o shell em execução para acessar a variável.If you created the environment variable after the application is launched, the editor, IDE, or shell running it will need to be closed and reloaded to access the variable. Os métodos serão criados posteriormente.The methods will be created later.

    Crie uma variável para conter o nome do recurso LUIS_ENDPOINT_NAME.Create a variable to hold your resource name LUIS_ENDPOINT_NAME.

    Crie uma variável para a ID do aplicativo como uma variável de ambiente chamada LUIS_APP_ID.Create a variable for the app ID as an environment variable named LUIS_APP_ID. Defina a variável de ambiente para o aplicativo de IoT público:Set the environment variable to the public IoT app:

    df67dcdb-c37d-46af-88e1-8b97951ca1c2

    // Use Language Understanding (LUIS) prediction endpoint key
    // to create authentication credentials
    // Prediction key must be assigned in LUIS portal
    private static string predictionKey = "REPLACE-WITH-YOUR-ASSIGNED-PREDICTION-KEY";
    
    // Endpoint URL example value = "https://YOUR-RESOURCE-NAME.cognitiveservices.azure.com"
    private static string predictionEndpoint = "https://REPLACE-WITH-YOUR-RESOURCE-NAME.cognitiveservices.azure.com";
    
    // App Id example value = "df67dcdb-c37d-46af-88e1-8b97951ca1c2"
    private static string appId = "REPLACE-WITH-YOUR-LUIS_APP_ID";
    
  2. Crie um objeto ApiKeyServiceClientCredentials com a sua chave e use-o com o ponto de extremidade para criar um objeto LUISRuntimeClient.Create an ApiKeyServiceClientCredentials object with your key, and use it with your endpoint to create an LUISRuntimeClient object.

    static LUISRuntimeClient CreateClient()
    {
        var credentials = new ApiKeyServiceClientCredentials(predictionKey);
        var luisClient = new LUISRuntimeClient(credentials, new System.Net.Http.DelegatingHandler[] { })
        {
            Endpoint = predictionEndpoint
        };
    
        return luisClient;
    
    }
    

Obter uma previsão do runtimeGet prediction from runtime

Adicione o método a seguir para criar a solicitação para o runtime de previsão.Add the following method to create the request to the prediction runtime.

O enunciado do usuário faz parte do objeto PredictionRequest.The user utterance is part of the PredictionRequest object.

O método GetSlotPredictionAsync precisa de vários parâmetros, como a ID do aplicativo, o nome do slot e o objeto de solicitação de previsão, para atender à solicitação.The GetSlotPredictionAsync method needs several parameters such as the app ID, the slot name, the prediction request object to fulfill the request. As outras opções, como detalhada, mostram todas as intenções e log são opcionais.The other options such as verbose, show all intents, and log are optional.

static async Task<PredictionResponse> GetPredictionAsync()
{

    // Get client 
    using (var luisClient = CreateClient())
    {

        var requestOptions = new PredictionRequestOptions
        {
            DatetimeReference = DateTime.Parse("2019-01-01"),
            PreferExternalEntities = true
        };

        var predictionRequest = new PredictionRequest
        {
            Query = "turn on the bedroom light",
            Options = requestOptions
        };

        // get prediction
        return await luisClient.Prediction.GetSlotPredictionAsync(
            Guid.Parse(appId),
            slotName: "production",
            predictionRequest,
            verbose: true,
            showAllIntents: true,
            log: true);
    }
}

Código principal para a previsãoMain code for the prediction

Use o método principal a seguir para vincular as variáveis e os métodos para obter a previsão.Use the following main method to tie the variables and methods together to get the prediction.

static void Main(string[] args)
{

    // Get prediction
    var predictionResult = GetPredictionAsync().Result;

    var prediction = predictionResult.Prediction;

    // Display query
    Console.WriteLine("Query:'{0}'", predictionResult.Query);
    Console.WriteLine("TopIntent :'{0}' ", prediction.TopIntent);

    foreach (var i in prediction.Intents)
    {
        Console.WriteLine(string.Format("{0}:{1}", i.Key, i.Value.Score));
    }

    foreach (var e in prediction.Entities)
    {
        Console.WriteLine(string.Format("{0}:{1}", e.Key, e.Value));
    }

    Console.Write("done");

}

Executar o aplicativoRun the application

Execute o aplicativo com o comando dotnet run do seu próprio diretório de aplicativo.Run the application with the dotnet run command from your application directory.

dotnet run

Limpar os recursosClean up resources

Ao concluir suas previsões, limpe o trabalho deste guia de início rápido excluindo o arquivo program.cs e seus subdiretórios.When you are done with your predictions, clean up the work from this quickstart by deleting the program.cs file and its subdirectories.

Use a biblioteca de clientes de runtime do LUIS (Reconhecimento vocal) para Node.js com o objetivo de:Use the Language Understanding (LUIS) runtime client library for Node.js to:

  • Previsão por slotPrediction by slot
  • Previsão por versãoPrediction by Version

Documentação de referência | Código-fonte da biblioteca | Pacote de Runtime (NPM) | ExemplosReference documentation | Library source code | Runtime Package (NPM) | Samples

Pré-requisitosPrerequisites

  • Recurso de runtime do Reconhecimento vocal: Criar um no portal do AzureLanguage Understanding runtime resource: Create one in the Azure portal
  • Node.jsNode.js
  • Uma ID do aplicativo LUIS – use a ID do aplicativo IoT público de df67dcdb-c37d-46af-88e1-8b97951ca1c2.A LUIS app ID - use the public IoT app ID of df67dcdb-c37d-46af-88e1-8b97951ca1c2. A consulta de usuário usada no código de início rápido é específica para esse aplicativo.The user query used in the quickstart code is specific to that app.

ConfigurandoSetting up

Obtenha sua chave de runtime do LUIS (Reconhecimento vocal)Get your Language Understanding (LUIS) runtime key

Obtenha sua chave de runtime criando um recurso de runtime do LUIS.Get your runtime key by creating a LUIS runtime resource. Mantenha sua chave e o ponto de extremidade da chave para a próxima etapa.Keep your key, and the endpoint of the key for the next step.

Create an environment variable

Using your runtime key, and the runtime endpoint, create environment variables for authentication and access:

  • LUIS_RUNTIME_KEY - The runtime resource key for authenticating your requests.
  • LUIS_RUNTIME_ENDPOINT - The runtime endpoint associated with your key.
  • LUIS_APP_ID - The public LUIS IoT app ID is df67dcdb-c37d-46af-88e1-8b97951ca1c2.
  • LUIS_APP_SLOT_NAME - production or staging

If you intend to use this quickstart to access your own app, you need to take additional steps:

  • Create the app and get the app ID
  • Assign the runtime key to the app in the LUIS portal
  • Test the URL with the browser, that you can access the app

Use the instructions for your operating system.

setx LUIS_RUNTIME_KEY <replace-with-your-resource-key>
setx LUIS_RUNTIME_ENDPOINT <replace-with-your-resource-endpoint>
setx LUIS_APP_ID <replace-with-your-app-id>
setx LUIS_APP_SLOT_NAME <replace-with-production-or-staging>

After you add the environment variables, restart the console window.

Criar um arquivo JavaScript (Node.js)Create a new JavaScript (Node.js) file

Crie um arquivo JavaScript em no IDE ou no editor de sua preferência, denominado luis_prediction.js.Create a new JavaScript file in your preferred editor or IDE, named luis_prediction.js.

Instalar a biblioteca do NPM para o runtime do LUISInstall the NPM library for the LUIS runtime

No diretório do aplicativo, instale as dependências com o seguinte comando:Within the application directory, install the dependencies with the following command:

npm install @azure/cognitiveservices-luis-runtime @azure/ms-rest-js

Modelo de objetoObject model

O cliente de criação do LUIS (Reconhecimento Vocal) é um objeto LUISAuthoringClient que se autentica no Azure, que contém sua chave de criação.The Language Understanding (LUIS) authoring client is a LUISAuthoringClient object that authenticates to Azure, which contains your authoring key.

Depois que o cliente for criado, use-o para acessar a funcionalidade, incluindo:Once the client is created, use this client to access functionality including:

Exemplos de códigoCode examples

Estes snippets de códigos mostram como fazer o seguinte com a biblioteca de clientes de runtime de previsão do LUIS (Reconhecimento vocal):These code snippets show you how to do the following with the Language Understanding (LUIS) prediction runtime client library:

Adicionar as dependênciasAdd the dependencies

No diretório do projeto, abra o arquivo luis_prediction.js no IDE ou no editor de sua preferência.From the project directory, open the luis_prediction.js file in your preferred editor or IDE. Adicione as seguintes dependências:Add the following dependencies:

const msRest = require("@azure/ms-rest-js");
const LUIS = require("@azure/cognitiveservices-luis-runtime");

Autenticar o clienteAuthenticate the client

  1. Crie variáveis para suas informações necessárias do LUIS:Create variables for your own required LUIS information:

    Adicione variáveis para gerenciar sua chave de previsão extraída de uma variável de ambiente chamada LUIS_RUNTIME_KEY.Add variables to manage your prediction key pulled from an environment variable named LUIS_RUNTIME_KEY. Se você criou a variável de ambiente depois de iniciar o aplicativo, será necessário fechar e recarregar o editor, o IDE ou o shell em execução para acessar a variável.If you created the environment variable after the application is launched, the editor, IDE, or shell running it will need to be closed and reloaded to access the variable. Os métodos serão criados posteriormente.The methods will be created later.

    Crie uma variável para conter o nome do recurso LUIS_RUNTIME_ENDPOINT.Create a variable to hold your resource name LUIS_RUNTIME_ENDPOINT.

    const key = "REPLACE-WITH-YOUR-ASSIGNED-PREDICTION-KEY"
    
    const endpoint = "https://REPLACE-WITH-YOUR-RESOURCE-NAME.cognitiveservices.azure.com"
    
  2. Crie uma variável para a ID do aplicativo como uma variável de ambiente chamada LUIS_APP_ID.Create a variable for the app ID as an environment variable named LUIS_APP_ID. Defina a variável de ambiente para o aplicativo de IoT público, df67dcdb-c37d-46af-88e1-8b97951ca1c2 .Set the environment variable to the public IoT app, df67dcdb-c37d-46af-88e1-8b97951ca1c2 . Crie uma variável para definir o slot publicado production.Create a variable to set the production published slot.

    // Use public app ID or replace with your own trained and published app's ID
    // to query your own app
    // public appID = `df67dcdb-c37d-46af-88e1-8b97951ca1c2`
    // with slot of `production`
    const luisAppID = "REPLACE-WITH-YOUR-LUIS_APP_ID"
    
    // `production` or `staging`
    const luisSlotName = "production"
    
  3. Crie um objeto msRest.ApiKeyCredentials com a sua chave e use-o com o ponto de extremidade para criar um objeto LUIS.LUISRuntimeClient.Create an msRest.ApiKeyCredentials object with your key, and use it with your endpoint to create an LUIS.LUISRuntimeClient object.

    const luisRuntimeClient = new LUIS.LUISRuntimeClient(
        new msRest.ApiKeyCredentials({
            inHeader: { "Ocp-Apim-Subscription-Key": key }
        }),
        endpoint
    );
    

Obter uma previsão do runtimeGet prediction from runtime

Adicione o método a seguir para criar a solicitação para o runtime de previsão.Add the following method to create the request to the prediction runtime.

O enunciado do usuário faz parte do objeto predictionRequest.The user utterance is part of the predictionRequest object.

O método luisRuntimeClient.prediction.getSlotPrediction precisa de vários parâmetros, como a ID do aplicativo, o nome do slot e o objeto de solicitação de previsão, para atender à solicitação.The luisRuntimeClient.prediction.getSlotPrediction method needs several parameters such as the app ID, the slot name, and the prediction request object to fulfill the request. As outras opções, como detalhada, mostram todas as intenções e log são opcionais.The other options such as verbose, show all intents, and log are optional.

const predict = async (app_id, slot_name) => {

    const predictionRequest = {
        query: "turn on all lights",
        options: {
            datetimeReference: new Date(),
            preferExternalEntities: false
        },
        externalEntities: [],
        dynamicLists: []
    };
    const verbose = true;
    const showAllIntents = true;

    // Note be sure to specify, using the slot_name parameter, whether your application is in staging or production.
    const predictionResult = await luisRuntimeClient.prediction
        .getSlotPrediction(luisAppID, luisSlotName, predictionRequest, { verbose, showAllIntents });

    console.log(JSON.stringify(predictionResult));
}

Código principal para a previsãoMain code for the prediction

Use o método principal a seguir para vincular as variáveis e os métodos para obter a previsão.Use the following main method to tie the variables and methods together to get the prediction.

const quickstart = async () => {
    await predict();
}

try {
    quickstart();
} catch (error) {
    console.log(error);
}

Executar o aplicativoRun the application

Execute o aplicativo com o comando node luis_prediction.js do seu próprio diretório de aplicativo.Run the application with the node luis_prediction.js command from your application directory.

node luis_prediction.js

O resultado da previsão retorna um objeto JSON:The prediction result returns a JSON object:

{
   "query":"turn on all lights",
   "prediction":{
      "topIntent":"HomeAutomation.TurnOn",
      "intents":{
         "HomeAutomation.TurnOn":{
            "score":0.5375382
         },
         "None":{
            "score":0.08687421
         },
         "HomeAutomation.TurnOff":{
            "score":0.0207554
         }
      },
      "entities":{
         "HomeAutomation.Operation":[
            "on"
         ],
         "$instance":{
            "HomeAutomation.Operation":[
               {
                  "type":"HomeAutomation.Operation",
                  "text":"on",
                  "startIndex":5,
                  "length":2,
                  "score":0.724984169,
                  "modelTypeId":-1,
                  "modelType":"Unknown",
                  "recognitionSources":[
                     "model"
                  ]
               }
            ]
         }
      }
   }
}

Limpar os recursosClean up resources

Ao concluir suas previsões, limpe o trabalho deste início rápido excluindo o arquivo e os subdiretórios dele.When you are done with your predictions, clean up the work from this quickstart by deleting the file and its subdirectories.

Use a biblioteca de clientes de previsão de LUIS (Reconhecimento vocal) para Python com o objetivo de:Use the Language Understanding (LUIS) prediction client library for Python to:

  • Obter previsão por slotGet prediction by slot
  • Obter previsão por versãoGet prediction by version

Documentação de referência | Código-fonte da biblioteca | Pacote do runtime de previsão (PyPi) | ExemplosReference documentation | Library source code | Prediction runtime Package (PyPi) | Samples

Pré-requisitosPrerequisites

  • Conta do portal do LUIS (Reconhecimento Vocal) – Crie uma gratuitamenteLanguage Understanding (LUIS) portal account - Create one for free
  • Python 3.xPython 3.x
  • Uma ID do aplicativo LUIS – use a ID do aplicativo IoT público de df67dcdb-c37d-46af-88e1-8b97951ca1c2.A LUIS app ID - use the public IoT app ID of df67dcdb-c37d-46af-88e1-8b97951ca1c2. A consulta de usuário usada no código de início rápido é específica para esse aplicativo.The user query used in the quickstart code is specific to that app.

ConfigurandoSetting up

Obtenha sua chave de runtime do LUIS (Reconhecimento vocal)Get your Language Understanding (LUIS) runtime key

Obtenha sua chave de runtime criando um recurso de runtime do LUIS.Get your runtime key by creating a LUIS runtime resource. Mantenha sua chave e o ponto de extremidade da chave para a próxima etapa.Keep your key, and the endpoint of the key for the next step.

Create an environment variable

Using your runtime key, and the runtime endpoint, create environment variables for authentication and access:

  • LUIS_RUNTIME_KEY - The runtime resource key for authenticating your requests.
  • LUIS_RUNTIME_ENDPOINT - The runtime endpoint associated with your key.
  • LUIS_APP_ID - The public LUIS IoT app ID is df67dcdb-c37d-46af-88e1-8b97951ca1c2.
  • LUIS_APP_SLOT_NAME - production or staging

If you intend to use this quickstart to access your own app, you need to take additional steps:

  • Create the app and get the app ID
  • Assign the runtime key to the app in the LUIS portal
  • Test the URL with the browser, that you can access the app

Use the instructions for your operating system.

setx LUIS_RUNTIME_KEY <replace-with-your-resource-key>
setx LUIS_RUNTIME_ENDPOINT <replace-with-your-resource-endpoint>
setx LUIS_APP_ID <replace-with-your-app-id>
setx LUIS_APP_SLOT_NAME <replace-with-production-or-staging>

After you add the environment variables, restart the console window.

Criar um arquivo PythonCreate a new python file

Crie um arquivo Python no IDE ou no editor de sua preferência, chamado prediction_quickstart.py.Create a new python file in your preferred editor or IDE, named prediction_quickstart.py.

Instalar o SDKInstall the SDK

Dentro do diretório do aplicativo, instale a biblioteca de clientes de runtime de previsão do LUIS (Reconhecimento vocal) para Python com o seguinte comando:Within the application directory, install the Language Understanding (LUIS) prediction runtime client library for Python with the following command:

python -m pip install azure-cognitiveservices-language-luis

Modelo de objetoObject model

O cliente de runtime de previsão do LUIS (Reconhecimento Vocal) é um objeto LUISRuntimeClient que se autentica no Azure, que contém sua chave de recurso.The Language Understanding (LUIS) prediction runtime client is a LUISRuntimeClient object that authenticates to Azure, which contains your resource key.

Depois que o cliente for criado, use-o para acessar a funcionalidade, incluindo:Once the client is created, use this client to access functionality including:

Exemplos de códigoCode examples

Estes snippets de códigos mostram como fazer o seguinte com a biblioteca de clientes de runtime de previsão do LUIS (Reconhecimento vocal) para Python:These code snippets show you how to do the following with the Language Understanding (LUIS) prediction runtime client library for Python:

Adicionar as dependênciasAdd the dependencies

No diretório do projeto, abra o arquivo prediction_quickstart.py no IDE ou no editor de sua preferência.From the project directory, open the prediction_quickstart.py file in your preferred editor or IDE. Adicione as seguintes dependências:Add the following dependencies:

from azure.cognitiveservices.language.luis.runtime import LUISRuntimeClient
from msrest.authentication import CognitiveServicesCredentials

import datetime, json, os, time

Autenticar o clienteAuthenticate the client

  1. Crie variáveis para suas informações necessárias do LUIS:Create variables for your own required LUIS information:

    Adicione variáveis para gerenciar sua chave de previsão extraída de uma variável de ambiente chamada LUIS_RUNTIME_KEY.Add variables to manage your prediction key pulled from an environment variable named LUIS_RUNTIME_KEY. Se você criou a variável de ambiente depois de iniciar o aplicativo, será necessário fechar e recarregar o editor, o IDE ou o shell em execução para acessar a variável.If you created the environment variable after the application is launched, the editor, IDE, or shell running it will need to be closed and reloaded to access the variable. Os métodos serão criados posteriormente.The methods will be created later.

    Crie uma variável para conter o nome do recurso LUIS_RUNTIME_ENDPOINT.Create a variable to hold your resource name LUIS_RUNTIME_ENDPOINT.

    runtime_key = 'REPLACE-WITH-YOUR-ASSIGNED-PREDICTION-KEY'
    print("runtime_key: {}".format(runtime_key))
    
    runtime_endpoint = 'https://REPLACE-WITH-YOUR-RESOURCE-NAME.cognitiveservices.azure.com'
    print("runtime_endpoint: {}".format(runtime_endpoint))
    
  2. Crie uma variável para a ID do aplicativo como uma variável de ambiente chamada LUIS_APP_ID.Create a variable for the app ID as an environment variable named LUIS_APP_ID. Defina a variável de ambiente para o aplicativo de IoT público, df67dcdb-c37d-46af-88e1-8b97951ca1c2 .Set the environment variable to the public IoT app, df67dcdb-c37d-46af-88e1-8b97951ca1c2 . Crie uma variável para definir o slot publicado production.Create a variable to set the production published slot.

    # Use public app ID or replace with your own trained and published app's ID
    # to query your own app
    # public appID = 'df67dcdb-c37d-46af-88e1-8b97951ca1c2'
    luisAppID = 'REPLACE-WITH-YOUR-LUIS_APP_ID'
    print("luisAppID: {}".format(luisAppID))
    
    # `production` or `staging`
    luisSlotName = 'production'
    print("luisSlotName: {}".format(luisSlotName))
    
  3. Crie um objeto de credenciais com sua chave e use-o com o ponto de extremidade para criar um objeto [LUISRuntimeClientConfiguration]https://docs.microsoft.com/python/api/azure-cognitiveservices-language-luis/azure.cognitiveservices.language.luis.runtime.luisruntimeclientconfiguration?view=azure-python().Create a credentials object with your key, and use it with your endpoint to create an [LUISRuntimeClientConfiguration]https://docs.microsoft.com/python/api/azure-cognitiveservices-language-luis/azure.cognitiveservices.language.luis.runtime.luisruntimeclientconfiguration?view=azure-python() object.

    # Instantiate a LUIS runtime client
    clientRuntime = LUISRuntimeClient(runtime_endpoint, CognitiveServicesCredentials(runtime_key))
    

Obter uma previsão do runtimeGet prediction from runtime

Adicione o método a seguir para criar a solicitação para o runtime de previsão.Add the following method to create the request to the prediction runtime.

O enunciado do usuário faz parte do objeto prediction_request.The user utterance is part of the prediction_request object.

O método get_slot_prediction precisa de vários parâmetros, como a ID do aplicativo, o nome do slot e o objeto de solicitação de previsão, para atender à solicitação.The get_slot_prediction method needs several parameters such as the app ID, the slot name, and the prediction request object to fulfill the request. As outras opções, como detalhada, mostram todas as intenções e log são opcionais.The other options such as verbose, show all intents, and log are optional. A solicitação retorna um objeto PredictionResponse.The request returns a PredictionResponse object.

def predict(app_id, slot_name):

    request = { "query" : "turn on all lights" }

    # Note be sure to specify, using the slot_name parameter, whether your application is in staging or production.
    response = clientRuntime.prediction.get_slot_prediction(app_id=app_id, slot_name=slot_name, prediction_request=request)

    print("Top intent: {}".format(response.prediction.top_intent))
    print("Sentiment: {}".format (response.prediction.sentiment))
    print("Intents: ")

    for intent in response.prediction.intents:
        print("\t{}".format (json.dumps (intent)))
    print("Entities: {}".format (response.prediction.entities))

Código principal para a previsãoMain code for the prediction

Use o método principal a seguir para vincular as variáveis e os métodos para obter a previsão.Use the following main method to tie the variables and methods together to get the prediction.

predict(luisAppID, luisSlotName)

Executar o aplicativoRun the application

Execute o aplicativo com o comando python prediction_quickstart.py do seu próprio diretório de aplicativo.Run the application with the python prediction_quickstart.py command from your application directory.

python prediction_quickstart.py

O console de início rápido exibe a saída:The quickstart console displays the output:

Top intent: HomeAutomation.TurnOn
Sentiment: None
Intents:
        "HomeAutomation.TurnOn"
Entities: {'HomeAutomation.Operation': ['on']}

Limpar os recursosClean up resources

Ao concluir suas previsões, limpe o trabalho deste início rápido excluindo o arquivo e os subdiretórios dele.When you are done with your predictions, clean up the work from this quickstart by deleting the file and its subdirectories.

Próximas etapasNext steps