Share via


Alkalmazás kiterjesztése előrejelzési futtatókörnyezetben

Fontos

A LUIS 2025. október 1-jén megszűnik, és 2023. április 1-től nem hozhat létre új LUIS-erőforrásokat. Javasoljuk, hogy a LUIS-alkalmazásokat a beszélgetési nyelv megértésére migrálja, hogy kihasználhassa a terméktámogatás és a többnyelvű képességek előnyeit.

Az alkalmazás sémája (modellek és funkciók) betanítása és közzététele az előrejelzési végponton történik. Ez a közzétett modell az előrejelzési futtatókörnyezetben használatos. A felhasználó kimondott szövegével együtt új információkat is átadhat az előrejelzési futtatókörnyezetnek az előrejelzés kiegészítéséhez.

Két előrejelzési futásidejű sémamódosítás:

Külső entitások

A külső entitások lehetővé teszik a LUIS-alkalmazás számára az entitások azonosítását és címkézését a futtatókörnyezetben, amely funkcióként használható a meglévő entitások számára. Ez lehetővé teszi, hogy saját különálló és egyéni entitáselszívókat használjon, mielőtt lekérdezéseket küldene az előrejelzési végpontnak. Mivel ez a lekérdezés-előrejelzési végponton történik, nem kell újratanítást végeznie és közzétennie a modellt.

Az ügyfélalkalmazás saját entitáselszívót biztosít az egyező entitások kezelésével és a megfelelő entitás kimondott szövegében található hely meghatározásával, majd az adatok kéréssel való elküldésével.

A külső entitások olyan mechanizmust jelentenek, amellyel bármilyen entitástípust kiterjeszthet, miközben a rendszer továbbra is jelként használja őket más modellekre.

Ez olyan entitások esetében hasznos, amelyek csak lekérdezés-előrejelzési futtatókörnyezetben érhetők el adatokkal. Ilyen típusú adatok például folyamatosan módosítják az adatokat, vagy felhasználónként adottak. Egy LUIS-partner entitást kiterjeszthet külső adatokkal a felhasználó partnerlistájából.

A külső entitások a V3 szerzői API részét képezik.

Az entitás már létezik az alkalmazásban

A végpontkérés POST törzsében átadott külső entitás értékének entityName már léteznie kell a betanított és közzétett alkalmazásban a kérés időpontjában. Az entitás típusa nem számít, minden típus támogatott.

Beszélgetés első bekapcsolása

Fontolja meg egy csevegőrobot beszélgetésének első kimondott szövegét, amelyben a felhasználó a következő hiányos információkat adja meg:

Send Hazem a new message

A csevegőrobottól a LUIS-nak küldött kérés továbbíthat információkat a POST törzsben Hazem , így az közvetlenül megegyezik a felhasználó egyik névjegyével.

    "externalEntities": [
        {
            "entityName":"contacts",
            "startIndex": 5,
            "entityLength": 5,
            "resolution": {
                "employeeID": "05013",
                "preferredContactType": "TeamsChat"
            }
        }
    ]

Az előrejelzési válasz magában foglalja azt a külső entitást az összes többi előrejelzett entitással együtt, mert a kérésben van definiálva.

Második turn in conversation

A csevegőrobot következő felhasználói kimondottszövege egy homályosabb kifejezést használ:

Send him a calendar reminder for the party.

Ebben a beszélgetésben a kimondott szöveg a hivatkozásként Hazemszolgálhim. A beszélgetési csevegőrobot a POST törzsében megfeleltetheti him az első kimondott szövegből kinyert entitásértéknek. Hazem

    "externalEntities": [
        {
            "entityName":"contacts",
            "startIndex": 5,
            "entityLength": 3,
            "resolution": {
                "employeeID": "05013",
                "preferredContactType": "TeamsChat"
            }
        }
    ]

Az előrejelzési válasz magában foglalja azt a külső entitást az összes többi előrejelzett entitással együtt, mert a kérésben van definiálva.

Meglévő modell-előrejelzések felülbírálása

A preferExternalEntities beállítástulajdonság azt határozza meg, hogy ha a felhasználó olyan külső entitást küld, amely átfedésben van egy azonos nevű előrejelzett entitással, a LUIS kiválasztja a modellben átadott vagy meglévő entitást.

Vegyük például a lekérdezést today I'm free. A LUIS datetimeV2-ként észleli today a következő választ:

"datetimeV2": [
    {
        "type": "date",
        "values": [
            {
                "timex": "2019-06-21",
                "value": "2019-06-21"
            }
        ]
    }
]

Ha a felhasználó elküldi a külső entitást:

{
    "entityName": "datetimeV2",
    "startIndex": 0,
    "entityLength": 5,
    "resolution": {
        "date": "2019-06-21"
    }
}

Ha a beállítás falseértéke, a preferExternalEntities LUIS olyan választ ad vissza, mintha a külső entitás nem lett volna elküldve.

"datetimeV2": [
    {
        "type": "date",
        "values": [
            {
                "timex": "2019-06-21",
                "value": "2019-06-21"
            }
        ]
    }
]

Ha a beállítás trueértéke, a preferExternalEntities LUIS a következő választ adja vissza:

"datetimeV2": [
    {
        "date": "2019-06-21"
    }
]

Resolution (Osztás)

Az opcionálisresolution tulajdonság az előrejelzési válaszban tér vissza, lehetővé téve a külső entitáshoz társított metaadatok átadását, majd a válaszban való visszaszolgáltatását.

Az elsődleges cél az előre összeállított entitások kiterjesztése, de ez nem korlátozódik az adott entitástípusra.

A resolution tulajdonság lehet szám, sztring, objektum vagy tömb:

  • "Dallas"
  • {"text": "value"}
  • 12345
  • ["a", "b", "c"]

Dinamikus listák

A dinamikus listák lehetővé teszik egy már a LUIS alkalmazásban már meglévő betanított és közzétett lista entitás kiterjesztését.

Ezt a funkciót akkor használja, ha a lista entitásértékeit rendszeresen módosítania kell. Ez a funkció lehetővé teszi egy már betanított és közzétett lista entitás kiterjesztését:

  • A lekérdezés-előrejelzési végpont kérésének időpontjában.
  • Egyetlen kérelem esetén.

A lista entitás üres lehet a LUIS alkalmazásban, de léteznie kell. A LUIS-alkalmazás listaentitása nem változik, de a végpont előrejelzési képessége ki van terjesztve, hogy legfeljebb 2 listát tartalmazzon körülbelül 1000 elemet tartalmazó listával.

Dinamikus lista JSON-kérelem törzse

Küldje el a következő JSON-törzset egy új, szinonimákat tartalmazó allistának a listához való hozzáadásához, és előrejelezheti a szöveg listaentitását a LUISlekérdezés-előrejelzési POST kéréssel:

{
    "query": "Send Hazem a message to add an item to the meeting agenda about LUIS.",
    "options":{
        "timezoneOffset": "-8:00"
    },
    "dynamicLists": [
        {
            "listEntity*":"ProductList",
            "requestLists":[
                {
                    "name": "Azure AI services",
                    "canonicalForm": "Azure-Cognitive-Services",
                    "synonyms":[
                        "language understanding",
                        "luis",
                        "qna maker"
                    ]
                }
            ]
        }
    ]
}

Az előrejelzési válasz tartalmazza azt a listás entitást az összes többi előrejelzett entitással együtt, mivel az a kérelemben van definiálva.

Következő lépések