Share via


Az AI Builder-modellek használata a Power Apps szolgáltatásban

A nyílt forráskódú, kevés kódolást igénylő képletek használatával Power Fx az AI-modellek hatékonyabb és rugalmasabb integrációit adhatja hozzá a Power App alkalmazáshoz. Az AI-modell előrejelzés képletek integrálhatók a vászonalapú alkalmazás bármely vezérlőjével. Észlelheti például a szöveg nyelvét egy szövegbeviteli vezérlőben, és az eredményeket egy címkevezérlőbe adhatja ki, ahogy az alábbi, Modell használata vezérlőkkel szakaszban látható.

Követelmények

A modellekben Power Fx való használathoz AI Builder a következőkkel kell rendelkeznie:

Modell kiválasztása vászonalapú alkalmazásokban

AI-modell használatához Power Fx létre kell hoznia egy vászonalapú alkalmazást, ki kell választania egy vezérlőt, és kifejezéseket kell hozzárendelnie a tulajdonságok vezérléséhez.

Feljegyzés

A használható modellek listáját AI Builder lásd: AI-modellek és üzleti forgatókönyvek. A beépített Microsoft Azure modelleket is felhasználhatja gépi tanulás a saját modell használata funkcióval.

  1. Alkalmazás létrehozása. További információ: Hozzon létre egy üres vászonalapú alkalmazást a semmiből.

  2. Válassza az Adatok hozzáadása az adatok>AI-modellek> lehetőséget.

    Képernyőkép a modell kiválasztásáról.

  3. Válasszon ki egy vagy több hozzáadni kívánt modellt.

    Ha nem látja a modellt a listában, előfordulhat, hogy nincs engedélye a használatára Power Apps. A probléma megoldásához forduljon a rendszergazdához.

Modell használata vezérlőkkel

Most, hogy hozzáadta az AI-modellt a vászonalapú alkalmazáshoz, nézzük meg, hogyan hívhat meg egy modellt egy AI Builder vezérlőből.

A következő példában egy olyan alkalmazást hozunk létre, amely képes észlelni a felhasználó által az alkalmazásban megadott nyelvet.

  1. Alkalmazás létrehozása. További információ: Hozzon létre egy üres vászonalapú alkalmazást a semmiből.

  2. Válassza az Adatok hozzáadása az adatok>AI-modellek> lehetőséget.

  3. Keresse meg és válassza a Nyelvfelismerési AI-modell lehetőséget.

    Képernyőkép a nyelvfelismerési modellről.

    Feljegyzés

    Az alkalmazás környezetek közötti áthelyezésekor manuálisan kell újra hozzáadnia a modellt az alkalmazáshoz az új környezetben.

  4. Válasszon + a bal oldali ablaktáblában, majd válassza a Szövegbevitel vezérlő lehetőséget .

  5. Ismételje meg az előző lépést a Szövegcímke vezérlőelem hozzáadásához.

  6. Nevezze át a szövegcímkét Nyelv névre.

  7. Adjon hozzá egy másik szöveges címkét a "Nyelv" címke mellé.

    Alkalmazásvezérlők, beleértve a szöveget és mindkét címkevezérlőt.

  8. Jelölje ki az előző lépésben hozzáadott szövegcímkét.

  9. Írja be a következő képletet a szövegcímke Szöveg tulajdonságának szerkesztőlécébe.

    'Language detection'.Predict(TextInput1.Text).Language
    

    A címke a nyelvi kódra változik a területi beállítás alapján. Ebben a példában en ( angol).

    A nyelvi képlet módosítja a címke szövegét.

  10. Az alkalmazás előnézetének megtekintéséhez válassza a képernyő jobb felső sarkában található Lejátszás gombot.

    Tekintse meg az alkalmazás előnézetét.

  11. A szövegmezőbe írja be bonjour. Figyelje meg, hogy a francia nyelv (fr) nyelve megjelenik a szövegmező alatt.

    Példa a francia nyelvfelismerésre.

  12. Hasonlóképpen próbáljon ki más nyelvű szöveget is. A beírás guten tag például az észlelt nyelvet a német nyelv de-jére módosítja.

Ajánlott eljárások

  • A kreditek hatékony felhasználásának biztosítása érdekében próbálja meg elindítani a modell előrejelzés egyes műveletekből, például az OnClick műveletből egy gombbal, nem pedig az OnChange AI Builder művelettel egy szövegbevitelen.

  • Ha időt és erőforrásokat szeretne megtakarítani, mentse a modellhívás eredményét, hogy több helyen is használhassa. A kimenetet globális változóba mentheti. A modell eredményének mentése után az alkalmazás más részén található nyelv használatával két különböző címkén jelenítheti meg az azonosított nyelvet és annak megbízhatósági pontszámát.

    Set(lang, 'Language detection'.Predict("bonjour").Language)
    

Bemenet és kimenet modelltípus szerint

Ez a szakasz az egyéni és előre összeállított modellek bemeneteit és kimeneteit biztosítja modelltípus szerint.

Egyéni modellek

Modell típusa Szintaxis Kimeneti
Kategória-besorolás 'Custom text classification model name'.Predict(Text: String, Language?: Optional String) {AllClasses: {Name: String, Confidence: Number}[],TopClass: {Name: String,Confidence: Number}}
Entitáskeresés 'Custom entity extraction model name’.Predict(Text: String,Language?:String(Optional)) {Entities:[{Type: "name",Value: "Bill", StartIndex: 22, Length: 4, Confidence: .996, }, { Type: "name", Value: "Gwen", StartIndex: 6, Length: 4, Confidence: .821, }]}
Objektumészlelés 'Custom object detection model name'.Predict(Image: Image) { Objects: { Name: String, Confidence: Number, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }}[]}

Előre felépített AI-modellek

Feljegyzés

Az előre összeállított modellnevek a környezet területi beállításaiban jelennek meg. Az alábbi példák az angol nyelv (en) modellneveit mutatják be.

Modell típusa Szintaxis Kimeneti
Névjegykártya-olvasó ‘Business card reader’.Predict( Document: Base64 encoded image ) { Fields: { FieldName: { FieldType: "text", Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}}
Kategória-besorolás 'Category classification'.Predict( Text: String,Language?: Optional String, ) { AllClasses: { Name: String, Confidence: Number }[], TopClass: { Name: String, Confidence: Number }}
Személyazonosító dokumentum olvasója ‘Identity document reader’.Predict( Document: Base64 encoded image ) { Context: { Type: String, TypeConfidence: Number }, Fields: { FieldName: { FieldType: "text", Confidence: Number, Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}}
Számla feldolgozása ‘Invoice processing’.Predict( Document: Base64 encoded image ) { Fields: { FieldName: { FieldType: "text" | "date" | "number", Confidence: Number,Value: { Text: String, [Date: Date] | [Number: Number], BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number } } } }, Tables: { Items: { Rows: { FieldName: { FieldType: "text" | "date" | "number", Confidence: Number, Key: { Name: String, }, Value: { Text: String, [Date: Date] | [Number: Number], BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number } } } }[] } }}
Kulcsszókeresés 'Key phrase extraction'.Predict(Text: String, Language?: Optional String)) { Phrases: String[]}
Nyelvfelismerés 'Language Detection'.Predict(Text: String) { Language: String, Confidence: Number}
Nyugtafeldolgozás ‘Receipt processing’.Predict( Document: Base64 encoded image) { Context: { Type: String, TypeConfidence: Number }, Fields: { FieldName: { FieldType: "text" | "date" | "number", Confidence: Number, Value: { Text: String, [Date: Date] | [Number: Number], BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number } } } }, Tables: {Items: {Rows: {FieldName: { FieldType: "text" | "date" | "number", Confidence: Number, Key: { Name: String, }, Value: { Text: String, [Date: Date] | [Number: Number], BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number } } } }[] } } }
Hangulatelemzés 'Sentiment analysis'.Predict( Text: String, Language?: Optional String ) { Document: { AllSentiments: [ { Name: "Positive", Confidence: Number }, { Name: "Neutral", Confidence: Number }, { Name: "Negative", Confidence: Number } ], TopSentiment: { Name: "Positive" | "Neutral" | "Negative", Confidence: Number } } Sentences: { StartIndex: Number, Length: Number, AllSentiments: [ { Name: "Positive", Confidence: Number }, { Name: "Neutral", Confidence: Number }, { Name: "Negative", Confidence: Number } ], TopSentiment: { Name: "Positive" | "Neutral" | "Negative", Confidence: Number } }[]}
Szövegfelismerés 'Text recognition'.Predict( Document: Base64 encoded image) {Pages: {Page: Number,Lines: { Text: String, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }, Confidence: Number }[] }[]}
Szöveg fordítása 'Text translation'.Predict( Text: String, TranslateTo?: String, TranslateFrom?: String) { Text: String, // Translated text DetectedLanguage?: String, DetectedLanguageConfidence: Number} }

Példák

Minden modell meghívása a predict igével történik. Egy nyelvfelismerési modell például szöveget vesz fel bemenetként, és a lehetséges nyelvek táblázatát adja vissza, az adott nyelv pontszáma szerint rendezve. A pontszám azt jelzi, hogy a modell mennyire magabiztos a előrejelzés.

Adatbevitel Kimeneti
'Language detection'.Predict("bonjour") { Language: “fr”, Confidence: 1}
‘Text Recognition’.Predict(Image1.Image) { Pages: [ {Page: 1, Lines: [ { Text: "Contoso account", BoundingBox: { Left: .15, Top: .05, Width: .8, Height: .10 }, Confidence: .97 }, { Text: "Premium service", BoundingBox: { Left: .15, Top: .20, Width: .8, Height: .10 }, Confidence: .96 }, { Text: "Paid in full", BoundingBox: { Left: .15, Top: .35, Width: .8, Height: .10 }, Confidence: .99 } } ] }

Kapcsolódó információk