שימוש במודלי AI Builder ב-Power Apps
עם השימוש ב- Power Fx, נוסחאות קוד פתוח בתכנות פשוט, תוכל להוסיף אינטגרציות חזקות וגמישות יותר של מודלים של AI לתוך Power App. ניתן לשלב נוסחאות של מודל חיזוי עם AI עם כל פקד ביישום בד ציור. לדוגמה, אתה יכול לזהות את שפת הטקסט בפקד קלט טקסט ולהוציא את התוצאות לפקד תווית כפי שניתן לראות בקטע השתמש במודל עם פקדים להלן.
כדי להשתמש ב- Power Fx במודלים של AI Builder, צריכות להיות לך:
רשיון AI Builder (גרסת ניסיון או בתשלום). למידע נוסף, עבור אל רישוי AI Builder.
כדי לצרוך מודל AI עם Power Fx, תצטרך ליצור יישום בד ציור, לבחור פקד ולהקצות ביטויים למאפייני הפקד.
הערה
לרשימת מודלים של AI Builder שאתה יכול להשתמש בהם, ראה מודלים של AI ותרחישים עסקיים. אתה יכול גם להשתמש במודלים בנויים מראש ב- Microsoft Azure למידת מכונה עם התכונה הבא מודל משלך.
יצירת יישום. למידע נוסף: צור יישום בד ציור מאפס.
בחר נתונים>הוסף נתונים>מודלי AI.
בחר מודל אחד או יותר להוספה.
אם אינך רואה את המודל ברשימה, ייתכן שאין לך הרשאות להשתמש בו ב- Power Apps. פנה למנהל המערכת כדי לפתור את הבעיה.
כעת, לאחר שהוספת את מודל הבינה המלאכותית ליישום בד הציור שלך, נראה כיצד לקרוא למודל AI Builder מפקד.
בדוגמה הבאה, נבנה אפליקציה שיכולה לזהות את השפה שהזין משתמש באפליקציה.
יצירת יישום. למידע נוסף: צור יישום בד ציור מאפס.
בחר נתונים>הוסף נתונים>מודלי AI.
חפש ובחר במודל AI מסוג זיהוי שפה.
הערה
תצטרך להוסיף ידנית את המודל לאפליקציה שוב בסביבה החדשה לאחר העברת האפליקציה בין סביבות.
בחר + מהחלונית השמאלית ולאחר מכן בחר בפקד קלט טקסט.
חזור על השלב הקודם כדי להוסיף פקד מסוג תווית טקסט.
שנה את תווית הטקסט שיהיה שפה.
הוסף תווית טקסט נוספת ליד התווית "שפה".
בחר בתווית הטקסט שנוספה בשלב הקודם.
הזן את הנוסחה הבאה בשורת הנוסחאות עבור המאפיין טקסט של תווית הטקסט.
'Language detection'.Predict(TextInput1.Text).Language
התווית משתנה לקוד השפה בהתבסס על המקום שלך. בדוגמה זו, en (אנגלית).
הצג את האפליקציה בתצוגה מקדימה על ידי בחירה בלחצן הפעל בפינה השמאלית העליונה של המסך.
בתיבת הטקסט, הזן
bonjour
. שים לב שהשפה הצרפתית (fr) מופיעה מתחת לתיבת הטקסט.באופן דומה, נסה טקסט בשפה אחרת. לדוגמה, הזנת
guten tag
משנה את השפה שזוהתה ל-de עבור השפה הגרמנית.
נסה להפעיל חיזוי מודל מפעולות יחידות כגון OnClick באמצעות לחצן ולא בפעולת OnChange על קלט טקסט כדי להבטיח שימוש יעיל בנקודות זכות של AI Builder.
כדי לחסוך זמן ומשאבים, שמור את התוצאה של קריאה למודל כך שתוכל להשתמש בה במספר מקומות. אתה יכול לשמור פלט במשתנה גלובלי. לאחר שתשמור את תוצאת המודל, תוכל להשתמש בשפה במקום אחר באפליקציה כדי להציג את השפה המזוהה וניקוד המהימנות שלה בשתי תוויות שונות.
Set(lang, 'Language detection'.Predict("bonjour").Language)
סעיף זה מספק קלט ופלט עבור מודלים מותאמים אישית ושנבנו מראש לפי סוג המודל.
סוג מודל | תחביר | פלט |
---|---|---|
סיווג לקטגוריות | 'Custom text classification model name'.Predict(Text: String, Language?: Optional String) |
{AllClasses: {Name: String, Confidence: Number}[],TopClass: {Name: String,Confidence: Number}} |
חילוץ ישויות | '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, }]} |
זיהוי אובייקטים | 'Custom object detection model name'.Predict(Image: Image) |
{ Objects: { Name: String, Confidence: Number, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }}[]} |
הערה
שמות מודלים שנבנו מראש מוצגים בשפה של הסביבה שלך. הדוגמאות הבאות מציגות את שמות המודלים עבור השפה האנגלית (en).
סוג מודל | תחביר | פלט |
---|---|---|
קורא כרטיסי ביקור | ‘Business card reader’.Predict( Document: Base64 encoded image ) |
{ Fields: { FieldName: { FieldType: "text", Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}} |
סיווג לקטגוריות | 'Category classification'.Predict( Text: String,Language?: Optional String, ) |
{ AllClasses: { Name: String, Confidence: Number }[], TopClass: { Name: String, Confidence: Number }} |
קורא מסמכי זיהוי | ‘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 }}}}} |
עיבוד חשבוניות | ‘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 } } } }[] } }} |
חילוץ צירופי מילים מרכזיים | 'Key phrase extraction'.Predict(Text: String, Language?: Optional String)) |
{ Phrases: String[]} |
זיהוי שפה | 'Language Detection'.Predict(Text: String) |
{ Language: String, Confidence: Number} |
עיבוד קבלות | ‘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 } } } }[] } } } |
ניתוח סנטימנט | '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 } }[]} |
זיהוי טקסט | 'Text recognition'.Predict( Document: Base64 encoded image) |
{Pages: {Page: Number,Lines: { Text: String, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }, Confidence: Number }[] }[]} |
תרגום טקסט | 'Text translation'.Predict( Text: String, TranslateTo?: String, TranslateFrom?: String) |
{ Text: String, // Translated text DetectedLanguage?: String, DetectedLanguageConfidence: Number} } |
כל מודל מופעל באמצעות פועל החיזוי. לדוגמה, מודל זיהוי שפה לוקח טקסט כקלט ומחזיר טבלה של שפות אפשריות, מסודרות לפי הניקוד של אותה שפה. הניקוד מציין עד כמה המודל בטוח בתחזית שלו.
קלט | פלט |
---|---|
'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 } } ] } |