Så här hämtar du en avsikt med REST-API: er

I den här artikeln ska du använda en LUIS-app för att fastställa en användares avsikt från en konversations text. Skicka användarens avsikt som text till pizza-appens HTTP förutsägelse-slutpunkt. Vid slut punkten tillämpar LUIS pizza-appens modell för att analysera den naturliga språk texten, vilket avgör övergripande avsikt och extrahering av data som är relevanta för appens ämnes domän.

I den här artikeln behöver du ett kostnadsfritt LUIS-konto.

Referens dokumentation | Exempel

Förutsättningar

Skapa pizza-app

  1. Välj pizza-app-for-luis-v6.jspå för att öppna filens GitHub-sida pizza-app-for-luis.json .
  2. Högerklicka eller länge knacka på knappen RAW och välj Spara länk som för att spara på pizza-app-for-luis.json din dator.
  3. Logga in på Luis-portalen.
  4. Välj Mina appar.
  5. På sidan Mina appar väljer du + ny app för konversation.
  6. Välj Importera som JSON.
  7. I dialog rutan Importera ny app väljer du knappen Välj fil .
  8. Välj den pizza-app-for-luis.json fil som du laddade ned och välj sedan Öppna.
  9. I fältet Importera ny app dialog namn anger du ett namn för din pizza-app och väljer sedan knappen OK .

Appen kommer att importeras.

Om du ser dialog rutan skapa en effektiv Luis-app stänger du dialog rutan.

Träna och publicera pizza-appen

Sidan avsikter bör visas med en lista över syftet i pizza-appen.

  1. I den övre högra delen av webbplatsen LUIS väljer du knappen träna .

    Knappen Train (Träna)

  2. Träningen är klar när status indikatorn på knappen träna är grön.

För att kunna ta emot en LUIS förutsägelse i en chatt-robot eller något annat klient program måste du publicera appen till förutsägelse slut punkten.

  1. Välj publicera i det övre högra navigerings fältet.

    Skärm bild av LUIS publicera på slut punkts knapp i den övre högra menyn

  2. Välj produktions plats och välj sedan Slutför.

    Skärm bild av LUIS publicera till slut punkt

  3. Välj åtkomst till dina slut punkts-URL: er i meddelandet för att gå till sidan Azure-resurser . Du kommer bara att kunna se URL: erna om du har en förutsägelse resurs som är kopplad till appen. Du kan också hitta sidan Azure-resurser genom att klicka på Hantera.

    Ett meddelande om att appen har publicerats

Din pizza-app är nu redo att användas.

Registrera app-ID, förutsägelse nyckel och slut punkt för förutsägelse för din pizza-app

Om du vill använda den nya pizza-appen behöver du app-ID, förutsägelse nyckel och förutsägelse slut punkt för din pizza-app.

Så här hittar du dessa värden:

  1. Välj Hantera på sidan avsikter .
  2. På sidan program inställningar registrerar du app-ID: t.
  3. Välj Azure-resurser.
  4. På sidan Azure-resurser registrerar du den primära nyckeln. Det här värdet är din förutsägelse nyckel.
  5. Registrera slut punkts-URL: en. Det här värdet är din förutsägelse slut punkt.

Hämta avsikter programmatiskt

Använd C# (.NET Core) för att fråga förutsägelse slut punkten och få ett förutsägelse resultat.

  1. Skapa ett nytt konsol program som riktar sig mot språket C#, med ett projekt-och mappnamn för csharp-predict-with-rest .

    dotnet new console -lang C# -n csharp-predict-with-rest
    
  2. Ändra till den csharp-predict-with-rest katalog som du har skapat och installera det nödvändiga beroendet med det här kommandot:

    cd csharp-predict-with-rest
    dotnet add package System.Net.Http
    
  3. Öppna Program.cs i din favorit-IDE eller-redigerare. Skriv sedan över Program.cs med följande kod:

    //
    // This quickstart shows how to predict the intent of an utterance by using the LUIS REST APIs.
    //
    
    using System;
    using System.Net.Http;
    using System.Web;
    
    namespace predict_with_rest
    {
        class Program
        {
            static void Main(string[] args)
            {
                //////////
                // Values to modify.
    
                // YOUR-APP-ID: The App ID GUID found on the www.luis.ai Application Settings page.
                var appId = "PASTE_YOUR_LUIS_APP_ID_HERE";
    
                // YOUR-PREDICTION-KEY: 32 character key.
                var predictionKey = "PASTE_YOUR_LUIS_PREDICTION_SUBSCRIPTION_KEY_HERE";
    
                // YOUR-PREDICTION-ENDPOINT: Example is "https://westus.api.cognitive.microsoft.com/"
                var predictionEndpoint = "PASTE_YOUR_LUIS_PREDICTION_ENDPOINT_HERE";
    
                // An utterance to test the pizza app.
                var utterance = "I want two large pepperoni pizzas on thin crust please";
                //////////
    
                MakeRequest(predictionKey, predictionEndpoint, appId, utterance);
    
                Console.WriteLine("Press ENTER to exit...");
                Console.ReadLine();
            }
    
            static async void MakeRequest(string predictionKey, string predictionEndpoint, string appId, string utterance)
            {
                var client = new HttpClient();
                var queryString = HttpUtility.ParseQueryString(string.Empty);
    
                // The request header contains your subscription key
                client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", predictionKey);
    
                // The "q" parameter contains the utterance to send to LUIS
                queryString["query"] = utterance;
    
                // These optional request parameters are set to their default values
                // queryString["verbose"] = "true";
                // queryString["show-all-intents"] = "true";
                // queryString["staging"] = "false";
                // queryString["timezoneOffset"] = "0";
    
                var predictionEndpointUri = String.Format("{0}luis/prediction/v3.0/apps/{1}/slots/production/predict?{2}", predictionEndpoint, appId, queryString);
    
                // Remove these before updating the article.
                Console.WriteLine("endpoint: " + predictionEndpoint);
                Console.WriteLine("appId: " + appId);
                Console.WriteLine("queryString: " + queryString);
                Console.WriteLine("endpointUri: " + predictionEndpointUri);
    
                var response = await client.GetAsync(predictionEndpointUri);
    
                var strResponseContent = await response.Content.ReadAsStringAsync();
    
                // Display the JSON result from LUIS.
                Console.WriteLine(strResponseContent.ToString());
            }
        }
    }
    
  4. Ersätt värdena som börjar med YOUR- med dina egna värden.

    Information Syfte
    YOUR-APP-ID Ditt app-ID. Finns på LUIS-portalen, sidan program inställningar för din app.
    YOUR-PREDICTION-KEY Din nyckel för att förutsäga 32-tecknen. Finns på LUIS-portalen, sidan Azure-resurser för din app.
    YOUR-PREDICTION-ENDPOINT URL-slutpunkten för förutsägelse. Finns på LUIS-portalen, sidan Azure-resurser för din app.
    Till exempel https://westus.api.cognitive.microsoft.com/.
  5. Bygg konsol programmet med det här kommandot:

    dotnet build
    
  6. Kör konsolprogrammet. Konsolens utdata visar samma JSON som du såg tidigare i webbläsarfönstret.

    dotnet run
    
  7. Granska det förutsägelse svar som returneras som JSON:

    {"query":"I want two large pepperoni pizzas on thin crust please","prediction":{"topIntent":"ModifyOrder","intents":{"ModifyOrder":{"score":1.0},"None":{"score":8.55E-09},"Greetings":{"score":1.82222226E-09},"CancelOrder":{"score":1.47272727E-09},"Confirmation":{"score":9.8125E-10}},"entities":{"Order":[{"FullPizzaWithModifiers":[{"PizzaType":["pepperoni pizzas"],"Size":[["Large"]],"Quantity":[2],"Crust":[["Thin"]],"$instance":{"PizzaType":[{"type":"PizzaType","text":"pepperoni pizzas","startIndex":17,"length":16,"score":0.9978157,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"Size":[{"type":"SizeList","text":"large","startIndex":11,"length":5,"score":0.9984481,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"Quantity":[{"type":"builtin.number","text":"two","startIndex":7,"length":3,"score":0.999770939,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"Crust":[{"type":"CrustList","text":"thin crust","startIndex":37,"length":10,"score":0.933985531,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}]}}],"$instance":{"FullPizzaWithModifiers":[{"type":"FullPizzaWithModifiers","text":"two large pepperoni pizzas on thin crust","startIndex":7,"length":40,"score":0.90681237,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}]}}],"ToppingList":[["Pepperoni"]],"$instance":{"Order":[{"type":"Order","text":"two large pepperoni pizzas on thin crust","startIndex":7,"length":40,"score":0.9047088,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"ToppingList":[{"type":"ToppingList","text":"pepperoni","startIndex":17,"length":9,"modelTypeId":5,"modelType":"List Entity Extractor","recognitionSources":["model"]}]}}}}
    

    JSON-svaret formaterat för läsbarhet:

    {
      "query": "I want two large pepperoni pizzas on thin crust please",
      "prediction": {
        "topIntent": "ModifyOrder",
        "intents": {
          "ModifyOrder": {
            "score": 1
          },
          "None": {
            "score": 8.55e-9
          },
          "Greetings": {
            "score": 1.82222226e-9
          },
          "CancelOrder": {
            "score": 1.47272727e-9
          },
          "Confirmation": {
            "score": 9.8125e-10
          }
        },
        "entities": {
          "Order": [
            {
              "FullPizzaWithModifiers": [
                {
                  "PizzaType": [
                    "pepperoni pizzas"
                  ],
                  "Size": [
                    [
                      "Large"
                    ]
                  ],
                  "Quantity": [
                    2
                  ],
                  "Crust": [
                    [
                      "Thin"
                    ]
                  ],
                  "$instance": {
                    "PizzaType": [
                      {
                        "type": "PizzaType",
                        "text": "pepperoni pizzas",
                        "startIndex": 17,
                        "length": 16,
                        "score": 0.9978157,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ],
                    "Size": [
                      {
                        "type": "SizeList",
                        "text": "large",
                        "startIndex": 11,
                        "length": 5,
                        "score": 0.9984481,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ],
                    "Quantity": [
                      {
                        "type": "builtin.number",
                        "text": "two",
                        "startIndex": 7,
                        "length": 3,
                        "score": 0.999770939,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ],
                    "Crust": [
                      {
                        "type": "CrustList",
                        "text": "thin crust",
                        "startIndex": 37,
                        "length": 10,
                        "score": 0.933985531,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ]
                  }
                }
              ],
              "$instance": {
                "FullPizzaWithModifiers": [
                  {
                    "type": "FullPizzaWithModifiers",
                    "text": "two large pepperoni pizzas on thin crust",
                    "startIndex": 7,
                    "length": 40,
                    "score": 0.90681237,
                    "modelTypeId": 1,
                    "modelType": "Entity Extractor",
                    "recognitionSources": [
                      "model"
                    ]
                  }
                ]
              }
            }
          ],
          "ToppingList": [
            [
              "Pepperoni"
            ]
          ],
          "$instance": {
            "Order": [
              {
                "type": "Order",
                "text": "two large pepperoni pizzas on thin crust",
                "startIndex": 7,
                "length": 40,
                "score": 0.9047088,
                "modelTypeId": 1,
                "modelType": "Entity Extractor",
                "recognitionSources": [
                  "model"
                ]
              }
            ],
            "ToppingList": [
              {
                "type": "ToppingList",
                "text": "pepperoni",
                "startIndex": 17,
                "length": 9,
                "modelTypeId": 5,
                "modelType": "List Entity Extractor",
                "recognitionSources": [
                  "model"
                ]
              }
            ]
          }
        }
      }
    }
    

Rensa resurser

När du är färdig med den här snabb starten tar du bort projektmappen från fil systemet.

Nästa steg

Referens dokumentation | Exempel

Förutsättningar

Skapa pizza-app

  1. Välj pizza-app-for-luis-v6.jspå för att öppna filens GitHub-sida pizza-app-for-luis.json .
  2. Högerklicka eller länge knacka på knappen RAW och välj Spara länk som för att spara på pizza-app-for-luis.json din dator.
  3. Logga in på Luis-portalen.
  4. Välj Mina appar.
  5. På sidan Mina appar väljer du + ny app för konversation.
  6. Välj Importera som JSON.
  7. I dialog rutan Importera ny app väljer du knappen Välj fil .
  8. Välj den pizza-app-for-luis.json fil som du laddade ned och välj sedan Öppna.
  9. I fältet Importera ny app dialog namn anger du ett namn för din pizza-app och väljer sedan knappen OK .

Appen kommer att importeras.

Om du ser dialog rutan skapa en effektiv Luis-app stänger du dialog rutan.

Träna och publicera pizza-appen

Sidan avsikter bör visas med en lista över syftet i pizza-appen.

  1. I den övre högra delen av webbplatsen LUIS väljer du knappen träna .

    Knappen Train (Träna)

  2. Träningen är klar när status indikatorn på knappen träna är grön.

För att kunna ta emot en LUIS förutsägelse i en chatt-robot eller något annat klient program måste du publicera appen till förutsägelse slut punkten.

  1. Välj publicera i det övre högra navigerings fältet.

    Skärm bild av LUIS publicera på slut punkts knapp i den övre högra menyn

  2. Välj produktions plats och välj sedan Slutför.

    Skärm bild av LUIS publicera till slut punkt

  3. Välj åtkomst till dina slut punkts-URL: er i meddelandet för att gå till sidan Azure-resurser . Du kommer bara att kunna se URL: erna om du har en förutsägelse resurs som är kopplad till appen. Du kan också hitta sidan Azure-resurser genom att klicka på Hantera.

    Ett meddelande om att appen har publicerats

Din pizza-app är nu redo att användas.

Registrera app-ID, förutsägelse nyckel och slut punkt för förutsägelse för din pizza-app

Om du vill använda den nya pizza-appen behöver du app-ID, förutsägelse nyckel och förutsägelse slut punkt för din pizza-app.

Så här hittar du dessa värden:

  1. Välj Hantera på sidan avsikter .
  2. På sidan program inställningar registrerar du app-ID: t.
  3. Välj Azure-resurser.
  4. På sidan Azure-resurser registrerar du den primära nyckeln. Det här värdet är din förutsägelse nyckel.
  5. Registrera slut punkts-URL: en. Det här värdet är din förutsägelse slut punkt.

Hämta avsikter programmatiskt

Använd Go för att fråga efter förutsägelse slut punkten och få ett förutsägelse resultat.

  1. Skapa en ny fil med namnet predict.go. Lägg till följande kod:

    //
    // This quickstart shows how to predict the intent of an utterance by using the LUIS REST APIs.
    //
    
    package main
    
    // Import dependencies.
    import (
        "fmt"
        "net/http"
        "net/url"
        "io/ioutil"
        "log"
    )
    
    func main() {
    
        //////////
        // Values to modify.
    
        // YOUR-APP-ID: The App ID GUID found on the www.luis.ai Application Settings page.
        var appID = "PASTE_YOUR_LUIS_APP_ID_HERE"
    
        // YOUR-PREDICTION-KEY: Your LUIS authoring key, 32 character value.
        var predictionKey = "PASTE_YOUR_LUIS_PREDICTION_SUBSCRIPTION_KEY_HERE"
    
        // YOUR-PREDICTION-ENDPOINT: Replace with your authoring key endpoint.
        // For example, "https://westus.api.cognitive.microsoft.com/"
        var predictionEndpoint = "PASTE_YOUR_LUIS_PREDICTION_ENDPOINT_HERE"
    
        // utterance for public app
        var utterance = "I want two large pepperoni pizzas on thin crust please"
        //////////
    
        // Call the prediction endpoint.
        endpointPrediction(appID, predictionKey, predictionEndpoint, utterance)
    }
    
    // Calls the prediction endpoint and displays the prediction results on the console.
    func endpointPrediction(appID string, predictionKey string, predictionEndpoint string, utterance string) {
    
        var endpointUrl = fmt.Sprintf("%sluis/prediction/v3.0/apps/%s/slots/production/predict?subscription-key=%s&verbose=true&show-all-intents=true&query=%s", predictionEndpoint, appID, predictionKey, url.QueryEscape(utterance))
    
        response, err := http.Get(endpointUrl)
    
        if err != nil {
            // handle error
            fmt.Println("error from Get")
            log.Fatal(err)
        }
    
        response2, err2 := ioutil.ReadAll(response.Body)
    
        if err2 != nil {
            // handle error
            fmt.Println("error from ReadAll")
            log.Fatal(err2)
        }
    
        fmt.Println("response")
        fmt.Println(string(response2))
    }
    
  2. Ersätt värdena som börjar med YOUR- med dina egna värden.

    Information Syfte
    YOUR-APP-ID Ditt app-ID. Finns på LUIS-portalen, sidan program inställningar för din app.
    YOUR-PREDICTION-KEY Din nyckel för att förutsäga 32-tecknen. Finns på LUIS-portalen, sidan Azure-resurser för din app.
    YOUR-PREDICTION-ENDPOINT URL-slutpunkten för förutsägelse. Finns på LUIS-portalen, sidan Azure-resurser för din app.
    Till exempel https://westus.api.cognitive.microsoft.com/.
  3. Med en kommando tolk i samma katalog som den plats där du skapade filen, anger du följande kommando för att kompilera go-filen:

    go build predict.go
    
  4. Kör Go-programmet från kommandoraden genom att ange följande text i kommandotolken:

    go run predict.go
    
  5. Granska det förutsägelse svar som returneras som JSON:

    response
    {"query":"I want two large pepperoni pizzas on thin crust please","prediction":{"topIntent":"ModifyOrder","intents":{"ModifyOrder":{"score":1.0},"None":{"score":8.55E-09},"Greetings":{"score":1.82222226E-09},"CancelOrder":{"score":1.47272727E-09},"Confirmation":{"score":9.8125E-10}},"entities":{"Order":[{"FullPizzaWithModifiers":[{"PizzaType":["pepperoni pizzas"],"Size":[["Large"]],"Quantity":[2],"Crust":[["Thin"]],"$instance":{"PizzaType":[{"type":"PizzaType","text":"pepperoni pizzas","startIndex":17,"length":16,"score":0.9978157,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"Size":[{"type":"SizeList","text":"large","startIndex":11,"length":5,"score":0.9984481,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"Quantity":[{"type":"builtin.number","text":"two","startIndex":7,"length":3,"score":0.999770939,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"Crust":[{"type":"CrustList","text":"thin crust","startIndex":37,"length":10,"score":0.933985531,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}]}}],"$instance":{"FullPizzaWithModifiers":[{"type":"FullPizzaWithModifiers","text":"two large pepperoni pizzas on thin crust","startIndex":7,"length":40,"score":0.90681237,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}]}}],"ToppingList":[["Pepperoni"]],"$instance":{"Order":[{"type":"Order","text":"two large pepperoni pizzas on thin crust","startIndex":7,"length":40,"score":0.9047088,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"ToppingList":[{"type":"ToppingList","text":"pepperoni","startIndex":17,"length":9,"modelTypeId":5,"modelType":"List Entity Extractor","recognitionSources":["model"]}]}}}}
    

    JSON-svar formaterat för läsbarhet:

    response
    {
      "query": "I want two large pepperoni pizzas on thin crust please",
      "prediction": {
        "topIntent": "ModifyOrder",
        "intents": {
          "ModifyOrder": {
            "score": 1
          },
          "None": {
            "score": 8.55e-9
          },
          "Greetings": {
            "score": 1.82222226e-9
          },
          "CancelOrder": {
            "score": 1.47272727e-9
          },
          "Confirmation": {
            "score": 9.8125e-10
          }
        },
        "entities": {
          "Order": [
            {
              "FullPizzaWithModifiers": [
                {
                  "PizzaType": [
                    "pepperoni pizzas"
                  ],
                  "Size": [
                    [
                      "Large"
                    ]
                  ],
                  "Quantity": [
                    2
                  ],
                  "Crust": [
                    [
                      "Thin"
                    ]
                  ],
                  "$instance": {
                    "PizzaType": [
                      {
                        "type": "PizzaType",
                        "text": "pepperoni pizzas",
                        "startIndex": 17,
                        "length": 16,
                        "score": 0.9978157,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ],
                    "Size": [
                      {
                        "type": "SizeList",
                        "text": "large",
                        "startIndex": 11,
                        "length": 5,
                        "score": 0.9984481,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ],
                    "Quantity": [
                      {
                        "type": "builtin.number",
                        "text": "two",
                        "startIndex": 7,
                        "length": 3,
                        "score": 0.999770939,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ],
                    "Crust": [
                      {
                        "type": "CrustList",
                        "text": "thin crust",
                        "startIndex": 37,
                        "length": 10,
                        "score": 0.933985531,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ]
                  }
                }
              ],
              "$instance": {
                "FullPizzaWithModifiers": [
                  {
                    "type": "FullPizzaWithModifiers",
                    "text": "two large pepperoni pizzas on thin crust",
                    "startIndex": 7,
                    "length": 40,
                    "score": 0.90681237,
                    "modelTypeId": 1,
                    "modelType": "Entity Extractor",
                    "recognitionSources": [
                      "model"
                    ]
                  }
                ]
              }
            }
          ],
          "ToppingList": [
            [
              "Pepperoni"
            ]
          ],
          "$instance": {
            "Order": [
              {
                "type": "Order",
                "text": "two large pepperoni pizzas on thin crust",
                "startIndex": 7,
                "length": 40,
                "score": 0.9047088,
                "modelTypeId": 1,
                "modelType": "Entity Extractor",
                "recognitionSources": [
                  "model"
                ]
              }
            ],
            "ToppingList": [
              {
                "type": "ToppingList",
                "text": "pepperoni",
                "startIndex": 17,
                "length": 9,
                "modelTypeId": 5,
                "modelType": "List Entity Extractor",
                "recognitionSources": [
                  "model"
                ]
              }
            ]
          }
        }
      }
    }
    

Rensa resurser

När du är färdig med den här snabb starten tar du bort filen från fil systemet.

Nästa steg

Referensdokumentation | Exempel

Förutsättningar

Skapa pizzaapp

  1. Välj pizza-app-for-luis-v6.jspå för att öppna filens GitHub-sida pizza-app-for-luis.json .
  2. Högerklicka eller länge knacka på knappen RAW och välj Spara länk som för att spara på pizza-app-for-luis.json din dator.
  3. Logga in på Luis-portalen.
  4. Välj Mina appar.
  5. På sidan Mina appar väljer du + ny app för konversation.
  6. Välj Importera som JSON.
  7. I dialog rutan Importera ny app väljer du knappen Välj fil .
  8. Välj den pizza-app-for-luis.json fil som du laddade ned och välj sedan Öppna.
  9. I fältet Importera ny app dialog namn anger du ett namn för din pizza-app och väljer sedan knappen OK .

Appen kommer att importeras.

Om du ser dialog rutan skapa en effektiv Luis-app stänger du dialog rutan.

Träna och publicera pizza-appen

Sidan avsikter bör visas med en lista över syftet i pizza-appen.

  1. I den övre högra delen av webbplatsen LUIS väljer du knappen träna .

    Knappen Train (Träna)

  2. Träningen är klar när status indikatorn på knappen träna är grön.

För att kunna ta emot en LUIS förutsägelse i en chatt-robot eller något annat klient program måste du publicera appen till förutsägelse slut punkten.

  1. Välj publicera i det övre högra navigerings fältet.

    Skärm bild av LUIS publicera på slut punkts knapp i den övre högra menyn

  2. Välj produktions plats och välj sedan Slutför.

    Skärm bild av LUIS publicera till slut punkt

  3. Välj åtkomst till dina slut punkts-URL: er i meddelandet för att gå till sidan Azure-resurser . Du kommer bara att kunna se URL: erna om du har en förutsägelse resurs som är kopplad till appen. Du kan också hitta sidan Azure-resurser genom att klicka på Hantera.

    Ett meddelande om att appen har publicerats

Din pizza-app är nu redo att användas.

Registrera app-ID, förutsägelse nyckel och slut punkt för förutsägelse för din pizza-app

Om du vill använda den nya pizza-appen behöver du app-ID, förutsägelse nyckel och förutsägelse slut punkt för din pizza-app.

Så här hittar du dessa värden:

  1. Välj Hantera på sidan avsikter .
  2. På sidan program inställningar registrerar du app-ID: t.
  3. Välj Azure-resurser.
  4. På sidan Azure-resurser registrerar du den primära nyckeln. Det här värdet är din förutsägelse nyckel.
  5. Registrera slut punkts-URL: en. Det här värdet är din förutsägelse slut punkt.

Hämta avsikter programmatiskt

Använd Java för att fråga förutsägelseslutpunkten och få ett förutsägelseresultat.

  1. Skapa en ny mapp som ska innehålla Java-projektet, till exempel java-predict-with-rest .

  2. Skapa en underkatalog med lib namnet och kopiera följande java libs till lib -underkatalogen:

  3. Kopiera följande kod för att skapa en klass i en fil som heter Predict.java:

    //
    // This quickstart shows how to predict the intent of an utterance by using the LUIS REST APIs.
    //
    
    import java.io.*;
    import java.net.URI;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.utils.URIBuilder;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    
    // To compile, execute this command at the console:
    //      Windows: javac -cp ";lib/*" Predict.java
    //      macOs: javac -cp ":lib/*" Predict.java
    //      Linux: javac -cp ":lib/*" Predict.java
    
    // To run, execute this command at the console:
    //      Windows: java -cp ";lib/*" Predict
    //      macOs: java -cp ":lib/*" Predict
    //      Linux: java -cp ":lib/*" Predict
    
    public class Predict {
    
        public static void main(String[] args)
        {
            HttpClient httpclient = HttpClients.createDefault();
    
            try
            {
                //////////
                // Values to modify.
    
                // YOUR-APP-ID: The App ID GUID found on the www.luis.ai Application Settings page.
                String AppId = "PASTE_YOUR_LUIS_APP_ID_HERE";
    
                // YOUR-PREDICTION-KEY: Your LUIS authoring key, 32 character value.
                String Key = "PASTE_YOUR_LUIS_PREDICTION_SUBSCRIPTION_KEY_HERE";
    
                // YOUR-PREDICTION-ENDPOINT: Replace this with your authoring key endpoint.
                // For example, "https://westus.api.cognitive.microsoft.com/"
                String Endpoint = "PASTE_YOUR_LUIS_PREDICTION_ENDPOINT_HERE";
    
                // The utterance you want to use.
                String Utterance = "I want two large pepperoni pizzas on thin crust please";
                //////////
    
                // Begin building the endpoint URL.
                URIBuilder endpointURLbuilder = new URIBuilder(Endpoint + "luis/prediction/v3.0/apps/" + AppId + "/slots/production/predict?");
    
                // Create the query string params.
                endpointURLbuilder.setParameter("query", Utterance);
                endpointURLbuilder.setParameter("subscription-key", Key);
                endpointURLbuilder.setParameter("show-all-intents", "true");
                endpointURLbuilder.setParameter("verbose", "true");
    
                // Create the prediction endpoint URL.
                URI endpointURL = endpointURLbuilder.build();
    
                // Create the HTTP object from the URL.
                HttpGet request = new HttpGet(endpointURL);
    
                // Access the LUIS endpoint to analyze the text utterance.
                HttpResponse response = httpclient.execute(request);
    
                // Get the response.
                HttpEntity entity = response.getEntity();
    
                // Print the response on the console.
                if (entity != null)
                {
                    System.out.println(EntityUtils.toString(entity));
                }
            }
    
            // Display errors if they occur.
            catch (Exception e)
            {
                System.out.println(e.getMessage());
            }
        }
    }
    
  4. Ersätt värdena som börjar YOUR- med med dina egna värden.

    Information Syfte
    YOUR-APP-ID Ditt app-ID. Application Inställningar för din app i LUIS-portalen.
    YOUR-PREDICTION-KEY Din förutsägelsenyckel på 32 tecken. Sidan Azure-resurser för din app finns i LUIS-portalen.
    YOUR-PREDICTION-ENDPOINT Slutpunkten för förutsägelse-URL:en. Sidan Azure-resurser för din app finns i LUIS-portalen.
    Till exempel https://westus.api.cognitive.microsoft.com/.
  5. Kompilera Java-programmet från kommandoraden.

    • Om du använder Windows använder du det här kommandot:javac -cp ";lib/*" Predict.java
    • Om du använder macOS eller Linux använder du det här kommandot: javac -cp ":lib/*" Predict.java
  6. Kör Java-programmet från kommandoraden:

    • Om du använder Windows använder du det här kommandot:java -cp ";lib/*" Predict
    • Om du använder macOS eller Linux använder du det här kommandot: java -cp ":lib/*" Predict
  7. Granska förutsägelsesvaret, som returneras som JSON:

    {"query":"I want two large pepperoni pizzas on thin crust please","prediction":{"topIntent":"ModifyOrder","intents":{"ModifyOrder":{"score":1.0},"None":{"score":8.55E-09},"Greetings":{"score":1.82222226E-09},"CancelOrder":{"score":1.47272727E-09},"Confirmation":{"score":9.8125E-10}},"entities":{"Order":[{"FullPizzaWithModifiers":[{"PizzaType":["pepperoni pizzas"],"Size":[["Large"]],"Quantity":[2],"Crust":[["Thin"]],"$instance":{"PizzaType":[{"type":"PizzaType","text":"pepperoni pizzas","startIndex":17,"length":16,"score":0.9978157,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"Size":[{"type":"SizeList","text":"large","startIndex":11,"length":5,"score":0.9984481,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"Quantity":[{"type":"builtin.number","text":"two","startIndex":7,"length":3,"score":0.999770939,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"Crust":[{"type":"CrustList","text":"thin crust","startIndex":37,"length":10,"score":0.933985531,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}]}}],"$instance":{"FullPizzaWithModifiers":[{"type":"FullPizzaWithModifiers","text":"two large pepperoni pizzas on thin crust","startIndex":7,"length":40,"score":0.90681237,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}]}}],"ToppingList":[["Pepperoni"]],"$instance":{"Order":[{"type":"Order","text":"two large pepperoni pizzas on thin crust","startIndex":7,"length":40,"score":0.9047088,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"ToppingList":[{"type":"ToppingList","text":"pepperoni","startIndex":17,"length":9,"modelTypeId":5,"modelType":"List Entity Extractor","recognitionSources":["model"]}]}}}}
    

    JSON-svaret formateras för läsbarhet:

    {
      "query": "I want two large pepperoni pizzas on thin crust please",
      "prediction": {
        "topIntent": "ModifyOrder",
        "intents": {
          "ModifyOrder": {
            "score": 1
          },
          "None": {
            "score": 8.55e-9
          },
          "Greetings": {
            "score": 1.82222226e-9
          },
          "CancelOrder": {
            "score": 1.47272727e-9
          },
          "Confirmation": {
            "score": 9.8125e-10
          }
        },
        "entities": {
          "Order": [
            {
              "FullPizzaWithModifiers": [
                {
                  "PizzaType": [
                    "pepperoni pizzas"
                  ],
                  "Size": [
                    [
                      "Large"
                    ]
                  ],
                  "Quantity": [
                    2
                  ],
                  "Crust": [
                    [
                      "Thin"
                    ]
                  ],
                  "$instance": {
                    "PizzaType": [
                      {
                        "type": "PizzaType",
                        "text": "pepperoni pizzas",
                        "startIndex": 17,
                        "length": 16,
                        "score": 0.9978157,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ],
                    "Size": [
                      {
                        "type": "SizeList",
                        "text": "large",
                        "startIndex": 11,
                        "length": 5,
                        "score": 0.9984481,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ],
                    "Quantity": [
                      {
                        "type": "builtin.number",
                        "text": "two",
                        "startIndex": 7,
                        "length": 3,
                        "score": 0.999770939,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ],
                    "Crust": [
                      {
                        "type": "CrustList",
                        "text": "thin crust",
                        "startIndex": 37,
                        "length": 10,
                        "score": 0.933985531,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ]
                  }
                }
              ],
              "$instance": {
                "FullPizzaWithModifiers": [
                  {
                    "type": "FullPizzaWithModifiers",
                    "text": "two large pepperoni pizzas on thin crust",
                    "startIndex": 7,
                    "length": 40,
                    "score": 0.90681237,
                    "modelTypeId": 1,
                    "modelType": "Entity Extractor",
                    "recognitionSources": [
                      "model"
                    ]
                  }
                ]
              }
            }
          ],
          "ToppingList": [
            [
              "Pepperoni"
            ]
          ],
          "$instance": {
            "Order": [
              {
                "type": "Order",
                "text": "two large pepperoni pizzas on thin crust",
                "startIndex": 7,
                "length": 40,
                "score": 0.9047088,
                "modelTypeId": 1,
                "modelType": "Entity Extractor",
                "recognitionSources": [
                  "model"
                ]
              }
            ],
            "ToppingList": [
              {
                "type": "ToppingList",
                "text": "pepperoni",
                "startIndex": 17,
                "length": 9,
                "modelTypeId": 5,
                "modelType": "List Entity Extractor",
                "recognitionSources": [
                  "model"
                ]
              }
            ]
          }
        }
      }
    }
    

Rensa resurser

När du är klar med den här snabbstarten tar du bort projektmappen från filsystemet.

Nästa steg

Referens dokumentation | Exempel

Förutsättningar

Skapa pizza-app

  1. Välj pizza-app-for-luis-v6.jspå för att öppna filens GitHub-sida pizza-app-for-luis.json .
  2. Högerklicka eller länge knacka på knappen RAW och välj Spara länk som för att spara på pizza-app-for-luis.json din dator.
  3. Logga in på Luis-portalen.
  4. Välj Mina appar.
  5. På sidan Mina appar väljer du + ny app för konversation.
  6. Välj Importera som JSON.
  7. I dialog rutan Importera ny app väljer du knappen Välj fil .
  8. Välj den pizza-app-for-luis.json fil som du laddade ned och välj sedan Öppna.
  9. I fältet Importera ny app dialog namn anger du ett namn för din pizza-app och väljer sedan knappen OK .

Appen kommer att importeras.

Om du ser dialog rutan skapa en effektiv Luis-app stänger du dialog rutan.

Träna och publicera pizza-appen

Sidan avsikter bör visas med en lista över syftet i pizza-appen.

  1. I den övre högra delen av webbplatsen LUIS väljer du knappen träna .

    Knappen Train (Träna)

  2. Träningen är klar när status indikatorn på knappen träna är grön.

För att kunna ta emot en LUIS förutsägelse i en chatt-robot eller något annat klient program måste du publicera appen till förutsägelse slut punkten.

  1. Välj publicera i det övre högra navigerings fältet.

    Skärm bild av LUIS publicera på slut punkts knapp i den övre högra menyn

  2. Välj produktions plats och välj sedan Slutför.

    Skärm bild av LUIS publicera till slut punkt

  3. Välj åtkomst till dina slut punkts-URL: er i meddelandet för att gå till sidan Azure-resurser . Du kommer bara att kunna se URL: erna om du har en förutsägelse resurs som är kopplad till appen. Du kan också hitta sidan Azure-resurser genom att klicka på Hantera.

    Ett meddelande om att appen har publicerats

Din pizza-app är nu redo att användas.

Registrera app-ID, förutsägelse nyckel och slut punkt för förutsägelse för din pizza-app

Om du vill använda den nya pizza-appen behöver du app-ID, förutsägelse nyckel och förutsägelse slut punkt för din pizza-app.

Så här hittar du dessa värden:

  1. Välj Hantera på sidan avsikter .
  2. På sidan program inställningar registrerar du app-ID: t.
  3. Välj Azure-resurser.
  4. På sidan Azure-resurser registrerar du den primära nyckeln. Det här värdet är din förutsägelse nyckel.
  5. Registrera slut punkts-URL: en. Det här värdet är din förutsägelse slut punkt.

Skapa Node.js-projektet

  1. Skapa en ny mapp som ska innehålla Node.js-projektet, till exempel node-predict-with-rest .

  2. Öppna en ny kommando tolk, navigera till mappen som du skapade och kör följande kommando:

    npm init
    

    Tryck på RETUR vid varje uppvarning för att godkänna standardinställningarna.

  3. Installera beroendena genom att ange följande kommandon:

    npm install --save request
    npm install --save request-promise
    npm install --save querystring
    

Hämta avsikter programmatiskt

Använd Node.js för att fråga efter förutsägelse slut punkten och få ett förutsägelse resultat.

  1. Kopiera följande kodfragment till en fil med namnet predict.js :

    //
    // This quickstart shows how to predict the intent of an utterance by using the LUIS REST APIs.
    //
    
    var requestPromise = require('request-promise');
    var queryString = require('querystring');
    
    // Analyze a string utterance.
    getPrediction = async () => {
    
        //////////
        // Values to modify.
    
        // YOUR-APP-ID: The App ID GUID found on the www.luis.ai Application Settings page.
        const LUIS_appId = "PASTE_YOUR_LUIS_APP_ID_HERE";
    
        // YOUR-PREDICTION-KEY: Your LUIS authoring key, 32 character value.
        const LUIS_predictionKey = "PASTE_YOUR_LUIS_PREDICTION_SUBSCRIPTION_KEY_HERE";
    
        // YOUR-PREDICTION-ENDPOINT: Replace this with your authoring key endpoint.
        // For example, "https://westus.api.cognitive.microsoft.com/"
        const LUIS_endpoint = "PASTE_YOUR_LUIS_PREDICTION_ENDPOINT_HERE";
    
        // The utterance you want to use.
        const utterance = "I want two large pepperoni pizzas on thin crust please";
        //////////
    
        // Create query string
        const queryParams = {
            "show-all-intents": true,
            "verbose":  true,
            "query": utterance,
            "subscription-key": LUIS_predictionKey
        }
    
        // Create the URI for the REST call.
        const URI = `${LUIS_endpoint}luis/prediction/v3.0/apps/${LUIS_appId}/slots/production/predict?${queryString.stringify(queryParams)}`
    
        // Send the REST call.
        const response = await requestPromise(URI);
    
        // Display the response from the REST call.
        console.log(response);
    }
    
    // Pass an utterance to the sample LUIS app
    getPrediction().then(()=>console.log("done")).catch((err)=>console.log(err));
    
  2. Ersätt värdena som börjar med YOUR- med dina egna värden.

    Information Syfte
    YOUR-APP-ID Ditt app-ID. Finns på LUIS-portalen, sidan program inställningar för din app.
    YOUR-PREDICTION-KEY Din nyckel för att förutsäga 32-tecknen. Finns på LUIS-portalen, sidan Azure-resurser för din app.
    YOUR-PREDICTION-ENDPOINT URL-slutpunkten för förutsägelse. Finns på LUIS-portalen, sidan Azure-resurser för din app.
    Till exempel https://westus.api.cognitive.microsoft.com/.
  3. Granska det förutsägelse svar som returneras som JSON:

    {"query":"I want two large pepperoni pizzas on thin crust please","prediction":{"topIntent":"ModifyOrder","intents":{"ModifyOrder":{"score":1.0},"None":{"score":8.55E-09},"Greetings":{"score":1.82222226E-09},"CancelOrder":{"score":1.47272727E-09},"Confirmation":{"score":9.8125E-10}},"entities":{"Order":[{"FullPizzaWithModifiers":[{"PizzaType":["pepperoni pizzas"],"Size":[["Large"]],"Quantity":[2],"Crust":[["Thin"]],"$instance":{"PizzaType":[{"type":"PizzaType","text":"pepperoni pizzas","startIndex":17,"length":16,"score":0.9978157,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"Size":[{"type":"SizeList","text":"large","startIndex":11,"length":5,"score":0.9984481,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"Quantity":[{"type":"builtin.number","text":"two","startIndex":7,"length":3,"score":0.999770939,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"Crust":[{"type":"CrustList","text":"thin crust","startIndex":37,"length":10,"score":0.933985531,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}]}}],"$instance":{"FullPizzaWithModifiers":[{"type":"FullPizzaWithModifiers","text":"two large pepperoni pizzas on thin crust","startIndex":7,"length":40,"score":0.90681237,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}]}}],"ToppingList":[["Pepperoni"]],"$instance":{"Order":[{"type":"Order","text":"two large pepperoni pizzas on thin crust","startIndex":7,"length":40,"score":0.9047088,"modelTypeId":1,"modelType":"Entity Extractor","recognitionSources":["model"]}],"ToppingList":[{"type":"ToppingList","text":"pepperoni","startIndex":17,"length":9,"modelTypeId":5,"modelType":"List Entity Extractor","recognitionSources":["model"]}]}}}}
        ```
    
    The JSON response formatted for readability:
    
    ```JSON
    {
      "query": "I want two large pepperoni pizzas on thin crust please",
      "prediction": {
        "topIntent": "ModifyOrder",
        "intents": {
          "ModifyOrder": {
            "score": 1
          },
          "None": {
            "score": 8.55e-9
          },
          "Greetings": {
            "score": 1.82222226e-9
          },
          "CancelOrder": {
            "score": 1.47272727e-9
          },
          "Confirmation": {
            "score": 9.8125e-10
          }
        },
        "entities": {
          "Order": [
            {
              "FullPizzaWithModifiers": [
                {
                  "PizzaType": [
                    "pepperoni pizzas"
                  ],
                  "Size": [
                    [
                      "Large"
                    ]
                  ],
                  "Quantity": [
                    2
                  ],
                  "Crust": [
                    [
                      "Thin"
                    ]
                  ],
                  "$instance": {
                    "PizzaType": [
                      {
                        "type": "PizzaType",
                        "text": "pepperoni pizzas",
                        "startIndex": 17,
                        "length": 16,
                        "score": 0.9978157,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ],
                    "Size": [
                      {
                        "type": "SizeList",
                        "text": "large",
                        "startIndex": 11,
                        "length": 5,
                        "score": 0.9984481,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ],
                    "Quantity": [
                      {
                        "type": "builtin.number",
                        "text": "two",
                        "startIndex": 7,
                        "length": 3,
                        "score": 0.999770939,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ],
                    "Crust": [
                      {
                        "type": "CrustList",
                        "text": "thin crust",
                        "startIndex": 37,
                        "length": 10,
                        "score": 0.933985531,
                        "modelTypeId": 1,
                        "modelType": "Entity Extractor",
                        "recognitionSources": [
                          "model"
                        ]
                      }
                    ]
                  }
                }
              ],
              "$instance": {
                "FullPizzaWithModifiers": [
                  {
                    "type": "FullPizzaWithModifiers",
                    "text": "two large pepperoni pizzas on thin crust",
                    "startIndex": 7,
                    "length": 40,
                    "score": 0.90681237,
                    "modelTypeId": 1,
                    "modelType": "Entity Extractor",
                    "recognitionSources": [
                      "model"
                    ]
                  }
                ]
              }
            }
          ],
          "ToppingList": [
            [
              "Pepperoni"
            ]
          ],
          "$instance": {
            "Order": [
              {
                "type": "Order",
                "text": "two large pepperoni pizzas on thin crust",
                "startIndex": 7,
                "length": 40,
                "score": 0.9047088,
                "modelTypeId": 1,
                "modelType": "Entity Extractor",
                "recognitionSources": [
                  "model"
                ]
              }
            ],
            "ToppingList": [
              {
                "type": "ToppingList",
                "text": "pepperoni",
                "startIndex": 17,
                "length": 9,
                "modelTypeId": 5,
                "modelType": "List Entity Extractor",
                "recognitionSources": [
                  "model"
                ]
              }
            ]
          }
        }
      }
    }
    

Rensa resurser

När du är färdig med den här snabb starten tar du bort projektmappen från fil systemet.

Nästa steg

Referens dokumentation | Exempel

Förutsättningar

Skapa pizza-app

  1. Välj pizza-app-for-luis-v6.jspå för att öppna filens GitHub-sida pizza-app-for-luis.json .
  2. Högerklicka eller länge knacka på knappen RAW och välj Spara länk som för att spara på pizza-app-for-luis.json din dator.
  3. Logga in på Luis-portalen.
  4. Välj Mina appar.
  5. På sidan Mina appar väljer du + ny app för konversation.
  6. Välj Importera som JSON.
  7. I dialog rutan Importera ny app väljer du knappen Välj fil .
  8. Välj den pizza-app-for-luis.json fil som du laddade ned och välj sedan Öppna.
  9. I fältet Importera ny app dialog namn anger du ett namn för din pizza-app och väljer sedan knappen OK .

Appen kommer att importeras.

Om du ser dialog rutan skapa en effektiv Luis-app stänger du dialog rutan.

Träna och publicera pizza-appen

Sidan avsikter bör visas med en lista över syftet i pizza-appen.

  1. I den övre högra delen av webbplatsen LUIS väljer du knappen träna .

    Knappen Train (Träna)

  2. Träningen är klar när status indikatorn på knappen träna är grön.

För att kunna ta emot en LUIS förutsägelse i en chatt-robot eller något annat klient program måste du publicera appen till förutsägelse slut punkten.

  1. Välj publicera i det övre högra navigerings fältet.

    Skärm bild av LUIS publicera på slut punkts knapp i den övre högra menyn

  2. Välj produktions plats och välj sedan Slutför.

    Skärm bild av LUIS publicera till slut punkt

  3. Välj åtkomst till dina slut punkts-URL: er i meddelandet för att gå till sidan Azure-resurser . Du kommer bara att kunna se URL: erna om du har en förutsägelse resurs som är kopplad till appen. Du kan också hitta sidan Azure-resurser genom att klicka på Hantera.

    Ett meddelande om att appen har publicerats

Din pizza-app är nu redo att användas.

Registrera app-ID, förutsägelse nyckel och slut punkt för förutsägelse för din pizza-app

Om du vill använda den nya pizza-appen behöver du app-ID, förutsägelse nyckel och förutsägelse slut punkt för din pizza-app.

Så här hittar du dessa värden:

  1. Välj Hantera på sidan avsikter .
  2. På sidan program inställningar registrerar du app-ID: t.
  3. Välj Azure-resurser.
  4. På sidan Azure-resurser registrerar du den primära nyckeln. Det här värdet är din förutsägelse nyckel.
  5. Registrera slut punkts-URL: en. Det här värdet är din förutsägelse slut punkt.

Hämta avsikt från förutsägelse slut punkten

Använd python för att fråga efter förutsägelse slut punkten och få ett förutsägelse resultat.

  1. Kopiera det här kodfragmentet till en fil med namnet predict.py :

    ########### Python 3.6 #############
    
    #
    # This quickstart shows how to predict the intent of an utterance by using the LUIS REST APIs.
    #
    
    import requests
    
    try:
    
        ##########
        # Values to modify.
    
        # YOUR-APP-ID: The App ID GUID found on the www.luis.ai Application Settings page.
        appId = 'PASTE_YOUR_LUIS_APP_ID_HERE'
    
        # YOUR-PREDICTION-KEY: Your LUIS prediction key, 32 character value.
        prediction_key = 'PASTE_YOUR_LUIS_PREDICTION_SUBSCRIPTION_KEY_HERE'
    
        # YOUR-PREDICTION-ENDPOINT: Replace with your prediction endpoint.
        # For example, "https://westus.api.cognitive.microsoft.com/"
        prediction_endpoint = 'PASTE_YOUR_LUIS_PREDICTION_ENDPOINT_HERE'
    
        # The utterance you want to use.
        utterance = 'I want two large pepperoni pizzas on thin crust please'
        ##########
    
        # The headers to use in this REST call.
        headers = {
        }
    
        # The URL parameters to use in this REST call.
        params ={
            'query': utterance,
            'timezoneOffset': '0',
            'verbose': 'true',
            'show-all-intents': 'true',
            'spellCheck': 'false',
            'staging': 'false',
            'subscription-key': prediction_key
        }
    
    
        # Make the REST call.
        response = requests.get(f'{prediction_endpoint}luis/prediction/v3.0/apps/{appId}/slots/production/predict', headers=headers, params=params)
    
        # Display the results on the console.
        print(response.json())
    
    
    except Exception as e:
        # Display the error string.
        print(f'{e}')
    
  2. Ersätt värdena som börjar med YOUR- med dina egna värden.

    Information Syfte
    YOUR-APP-ID Ditt app-ID. Finns på LUIS-portalen, sidan program inställningar för din app.
    YOUR-PREDICTION-KEY Din nyckel för att förutsäga 32-tecknen. Finns på LUIS-portalen, sidan Azure-resurser för din app.
    YOUR-PREDICTION-ENDPOINT URL-slutpunkten för förutsägelse. Finns på LUIS-portalen, sidan Azure-resurser för din app.
    Till exempel https://westus.api.cognitive.microsoft.com/.
  3. Installera requests beroendet. requestsBiblioteket används för att göra HTTP-förfrågningar:

    pip install requests
    
  4. Kör skriptet med följande konsol kommando:

    python predict.py
    
  5. Granska det förutsägelse svar som returneras som JSON:

    {'query': 'I want two large pepperoni pizzas on thin crust please', 'prediction': {'topIntent': 'ModifyOrder', 'intents': {'ModifyOrder': {'score': 1.0}, 'None': {'score': 8.55e-09}, 'Greetings': {'score': 1.82222226e-09}, 'CancelOrder': {'score': 1.47272727e-09}, 'Confirmation': {'score': 9.8125e-10}}, 'entities': {'Order': [{'FullPizzaWithModifiers': [{'PizzaType': ['pepperoni pizzas'], 'Size': [['Large']], 'Quantity': [2], 'Crust': [['Thin']], '$instance': {'PizzaType': [{'type': 'PizzaType', 'text': 'pepperoni pizzas', 'startIndex': 17, 'length': 16, 'score': 0.9978157, 'modelTypeId': 1, 'modelType': 'Entity Extractor', 'recognitionSources': ['model']}], 'Size': [{'type': 'SizeList', 'text': 'large', 'startIndex': 11, 'length': 5, 'score': 0.9984481, 'modelTypeId': 1, 'modelType': 'Entity Extractor', 'recognitionSources': ['model']}], 'Quantity': [{'type': 'builtin.number', 'text': 'two', 'startIndex': 7, 'length': 3, 'score': 0.999770939, 'modelTypeId': 1, 'modelType': 'Entity Extractor', 'recognitionSources': ['model']}], 'Crust': [{'type': 'CrustList', 'text': 'thin crust', 'startIndex': 37, 'length': 10, 'score': 0.933985531, 'modelTypeId': 1, 'modelType': 'Entity Extractor', 'recognitionSources': ['model']}]}}], '$instance': {'FullPizzaWithModifiers': [{'type': 'FullPizzaWithModifiers', 'text': 'two large pepperoni pizzas on thin crust', 'startIndex': 7, 'length': 40, 'score': 0.90681237, 'modelTypeId': 1, 'modelType': 'Entity Extractor', 'recognitionSources': ['model']}]}}], 'ToppingList': [['Pepperoni']], '$instance': {'Order': [{'type': 'Order', 'text': 'two large pepperoni pizzas on thin crust', 'startIndex': 7, 'length': 40, 'score': 0.9047088, 'modelTypeId': 1, 'modelType': 'Entity Extractor', 'recognitionSources': ['model']}], 'ToppingList': [{'type': 'ToppingList', 'text': 'pepperoni', 'startIndex': 17, 'length': 9, 'modelTypeId': 5, 'modelType': 'List Entity Extractor', 'recognitionSources': ['model']}]}}}}
    

    JSON-svar formaterat för läsbarhet:

    {
      'query': 'I want two large pepperoni pizzas on thin crust please',
      'prediction': {
        'topIntent': 'ModifyOrder',
        'intents': {
          'ModifyOrder': {
            'score': 1.0
          },
          'None': {
            'score': 8.55e-9
          },
          'Greetings': {
            'score': 1.82222226e-9
          },
          'CancelOrder': {
            'score': 1.47272727e-9
          },
          'Confirmation': {
            'score': 9.8125e-10
          }
        },
        'entities': {
          'Order': [
            {
              'FullPizzaWithModifiers': [
                {
                  'PizzaType': [
                    'pepperoni pizzas'
                  ],
                  'Size': [
                    [
                      'Large'
                    ]
                  ],
                  'Quantity': [
                    2
                  ],
                  'Crust': [
                    [
                      'Thin'
                    ]
                  ],
                  '$instance': {
                    'PizzaType': [
                      {
                        'type': 'PizzaType',
                        'text': 'pepperoni pizzas',
                        'startIndex': 17,
                        'length': 16,
                        'score': 0.9978157,
                        'modelTypeId': 1,
                        'modelType': 'Entity Extractor',
                        'recognitionSources': [
                          'model'
                        ]
                      }
                    ],
                    'Size': [
                      {
                        'type': 'SizeList',
                        'text': 'large',
                        'startIndex': 11,
                        'length': 5,
                        'score': 0.9984481,
                        'modelTypeId': 1,
                        'modelType': 'Entity Extractor',
                        'recognitionSources': [
                          'model'
                        ]
                      }
                    ],
                    'Quantity': [
                      {
                        'type': 'builtin.number',
                        'text': 'two',
                        'startIndex': 7,
                        'length': 3,
                        'score': 0.999770939,
                        'modelTypeId': 1,
                        'modelType': 'Entity Extractor',
                        'recognitionSources': [
                          'model'
                        ]
                      }
                    ],
                    'Crust': [
                      {
                        'type': 'CrustList',
                        'text': 'thin crust',
                        'startIndex': 37,
                        'length': 10,
                        'score': 0.933985531,
                        'modelTypeId': 1,
                        'modelType': 'Entity Extractor',
                        'recognitionSources': [
                          'model'
                        ]
                      }
                    ]
                  }
                }
              ],
              '$instance': {
                'FullPizzaWithModifiers': [
                  {
                    'type': 'FullPizzaWithModifiers',
                    'text': 'two large pepperoni pizzas on thin crust',
                    'startIndex': 7,
                    'length': 40,
                    'score': 0.90681237,
                    'modelTypeId': 1,
                    'modelType': 'Entity Extractor',
                    'recognitionSources': [
                      'model'
                    ]
                  }
                ]
              }
            }
          ],
          'ToppingList': [
            [
              'Pepperoni'
            ]
          ],
          '$instance': {
            'Order': [
              {
                'type': 'Order',
                'text': 'two large pepperoni pizzas on thin crust',
                'startIndex': 7,
                'length': 40,
                'score': 0.9047088,
                'modelTypeId': 1,
                'modelType': 'Entity Extractor',
                'recognitionSources': [
                  'model'
                ]
              }
            ],
            'ToppingList': [
              {
                'type': 'ToppingList',
                'text': 'pepperoni',
                'startIndex': 17,
                'length': 9,
                'modelTypeId': 5,
                'modelType': 'List Entity Extractor',
                'recognitionSources': [
                  'model'
                ]
              }
            ]
          }
        }
      }
    }
    

Rensa resurser

När du är färdig med den här snabb starten tar du bort filen från fil systemet.

Nästa steg