Megosztás a következőn keresztül:


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á Power App. Az AI-modell előrejelzés a 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ímke vezérlőelembe exportálhatja, 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

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

Feljegyzés

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

  1. Alkalmazás létrehozása. További információ: Teljesen üres vászonalapú alkalmazás létrehozása.

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

    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 AI Builder modellt egy 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ó: Teljesen üres vászonalapú alkalmazás létrehozása.

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

  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ást környezetek közötti áthelyezésekor manuálisan kell újra hozzáadnia az alkalmazáshoz az új környezetben.

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

  5. Ismételje meg az előző lépés 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és 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ére.

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

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

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

  10. Előzetes verzió alkalmazáshoz válassza a Lejátszás gomb a képernyő jobb felső sarkában.

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

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

    Példa a francia nyelv felismerésére.

  12. Hasonlóképpen próbáljon ki más nyelvű szöveget. Ha például beírja guten tag az észlelt nyelvet, az észlelt nyelvet de értékre módosítja a német nyelv esetében.

Ajánlott eljárások

  • Próbálja meg elindítani a modell előrejelzés olyan egyedi műveletekből, mint a Kattintás egy gomb használatával a szövegbevitel OnChange művelete helyett a kreditek hatékony használatának AI Builder biztosítása érdekében.

  • 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 kimeneteket globális változóba mentheti. A modelleredmény mentése után az alkalmazás más nyelvét használva két különböző címkében jelenítheti meg az azonosított nyelvet és annak megbízhatósági pontszám.

    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ásával jelennek meg. Az alábbi példák az angol nyelv modellneveit mutatják be (en).

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 a predict igével lesz meghívva. Egy nyelvészlelési modell például szöveget fogad bemenetként, és visszaadja a lehetséges nyelvek táblázatát 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 } } ] }