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:
Hozzáférés adatbázissal Microsoft Power Platform rendelkező környezethez.
AI Builder licenc (próbaverzió vagy fizetett). További információt a licencelés oldalon talál AI Builder .
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.
Alkalmazás létrehozása. További információ: Teljesen üres vászonalapú alkalmazás létrehozása.
Válassza az Adatok>lehetőséget: Adatok>AI-modelljeinek hozzáadása.
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.
Alkalmazás létrehozása. További információ: Teljesen üres vászonalapú alkalmazás létrehozása.
Válassza az Adatok>lehetőséget: Adatok>AI-modelljeinek hozzáadása.
Keresse meg és válassza a Nyelvfelismerési AI-modell lehetőséget .
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.
Válasszon + a bal oldali ablaktáblából, majd válassza a Szövegbevitel vezérlő lehetőséget .
Ismételje meg az előző lépés Szövegcímke vezérlőelem hozzáadásához .
Nevezze át a szövegcímkét Nyelv névre.
Adjon hozzá egy másik szöveges címkét a "Nyelv" címke mellé.
Jelölje ki az előző lépés hozzáadott szövegcímkét.
Í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).
Előzetes verzió alkalmazáshoz válassza a Lejátszás gomb a képernyő jobb felső sarkában.
Írja be a szövegmezőbe
bonjour
. Figyelje meg, hogy a francia nyelv nyelve (fr) megjelenik a szövegmező alatt.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 } } ] } |