Використання моделей AI Builder у Power Apps
Використовуючи Power Fx формули з базовим кодуванням з відкритим вихідним кодом, ви можете додати більш потужні та гнучкі інтеграції моделей штучного інтелекту у свій Power App. Формули прогнозу моделі штучного інтелекту можна інтегрувати з будь-якими елементами керування в програмі Canvas. Наприклад, можна визначити мову тексту в елементі керування введенням тексту та вивести результати до елемента керування міткою, як це видно з розділу Використання моделі з елементами керування нижче.
Вимоги
Для використання Power Fx в AI Builder моделях необхідно мати:
Доступ до Microsoft Power Platform середовища з базою даних.
AI Builder ліцензія (пробна або платна). Щоб дізнатися більше, перейдіть до розділу AI Builder Ліцензування.
Виберіть модель у програмах canvas
Щоб використовувати модель Power Fx штучного інтелекту, вам потрібно буде створити програму для полотна, вибрати елемент керування та призначити вирази для властивостей керування.
Нотатка
Список моделей, які AI Builder ви можете споживати, дивіться в розділі Моделі штучного інтелекту та бізнес-сценарії. Ви також можете використовувати моделі, вбудовані вмашинне Microsoft Azure навчання, з функцією bring your own model .
Створити програму. Більше інформації: Створіть програму для створення порожнього полотна з нуля.
Виберіть Дані >Додати дані>Моделі штучного інтелекту.
Виберіть одну або кілька моделей, які потрібно додати.
Якщо ви не бачите свою модель у списку, можливо, у вас немає дозволів на її Power Apps використання. Зверніться до адміністратора, щоб вирішити цю проблему.
Використовуйте модель з елементами керування
Тепер, коли ви додали модель штучного інтелекту до своєї програми полотна, давайте подивимося, як викликати AI Builder модель з елемента керування.
У наведеному нижче прикладі ми створимо програму, яка визначатиме мову, введену користувачем у додатку.
Створити програму. Більше інформації: Створіть програму для створення порожнього полотна з нуля.
Виберіть Дані >Додати дані>Моделі штучного інтелекту.
Знайдіть і виберіть Модель штучного інтелекту для визначення мови.
Нотатка
Вам доведеться знову додавати модель до програми вручну в новому середовищі, коли ви переміщуєте програму між середовищами.
Виберіть + пункт із лівої панелі, а потім виберіть пункт Керування введенням тексту.
Повторіть попередній крок, щоб додати елемент керування «Текстова мітка ».
Перейменуйте текстову мітку на Мова.
Додайте ще одну текстову мітку поруч із міткою "Мова".
Виберіть текстову мітку, додану в попередньому кроці.
Введіть наведену нижче формулу в рядок формул для властивості Текст текстової підписки .
'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} } |
Приклади
Кожна модель викликається за допомогою дієслова predict. Наприклад, модель визначення мови приймає текст як вхідні дані та повертає таблицю можливих мов, упорядковану за оцінкою цієї мови. Оцінка вказує на те, наскільки модель впевнена у своєму прогнозі.
Вхідні дані | Вихідні дані |
---|---|
'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 } } ] } |