Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Korzystając z Power Fx, otwartego źródła formuł o niskim kodzie źródłowym, możesz dodać do swoich Power App potężniejsze i bardziej elastyczne integracje modeli AI. Formuły przewidywania modeli AI można zintegrować z dowolnymi elementami sterującymi w aplikacji canvas. Na przykład możesz wykrywać język tekstu w kontrolce wprowadzania tekstu i przekazywać wyniki do kontrolki etykiet, jak to widać w sekcji Użycie modelu z kontrolkami poniżej.
Wymagania
Aby korzystać z Power Fx w modelach AI Builder, musisz mieć:
Dostęp do Środowiska Microsoft Power Platform z bazą danych .
Licencja AI Builder (próbna lub opłacone). Aby dowiedzieć się więcej, wejdź na stronę Licencjonowanie AI Builder.
Wybieranie modelu w aplikacjach kanwy
Aby korzystać z modelu AI z Power Fx, musisz utworzyć aplikację kanwy, wybrać kontrolkę i przypisać wyrażenia do właściwości sterowania.
Uwaga
Aby uzyskać listę modeli AI Builder, z których można korzystać, przejdź do modelu AI i scenariuszy biznesowych. Możesz także korzystać z modeli wbudowanych w Microsoft Azure Uczenie maszynowe z funkcją przynieś własny model.
Utwórz aplikację. Więcej informacji: Tworzenie pustej aplikacji kanwy od początku.
Wybierz kartę Dane>Dodaj dane>Modele AI.
Wybierz jeden lub więcej modeli do dodania.
Jeśli nie widzisz swojego modelu na tej liście, być może nie masz uprawnień do używania go w programie Power Apps. Skontaktuj się z administratorem, aby rozwiązać ten problem.
Użyj modelu w kontrolkach
Teraz, gdy dodałeś model AI do swojej aplikacji kanwy, zobaczmy, jak wywołać model AI Builder z kontrolki.
W poniższym przykładzie zbudujemy aplikację, która potrafi wykryć język wprowadzony przez użytkownika w aplikacji.
Utwórz aplikację. Więcej informacji: Tworzenie pustej aplikacji kanwy od początku.
Wybierz kartę Dane>Dodaj dane>Modele AI.
Wyszukaj i wybierz model AI Wykrywanie języka.
Uwaga
Po przeniesieniu aplikacji między środowiskami będziesz musiał ponownie ręcznie dodać model do aplikacji w nowym środowisku.
Wybierz + z lewego panelu, a następnie wybierz Wprowadzanie tekstu.
Powtórz poprzedni krok, aby dodać kontrolkę Etykieta tekstowa.
Zmień nazwę etykiety tekstowej na Język.
Dodaj kolejną etykietę tekstową obok etykiety "Język".
Wybierz etykietę tekstową dodaną w poprzednim kroku.
W pasku formuły dla właściwości Tekst etykiety tekstowej wpisz następującą formułę.
'Language detection'.Predict(TextInput1.Text).LanguageEtykieta zmienia się na kod języka w zależności od lokalizacji. W tym przykładzie en (angielski).
Zapoznaj się z wersją zapoznawczą aplikacji, wybierając przycisk Odtwarzaj w prawym górnym rogu ekranu.
W polu tekstowym wpisz
bonjour. Zauważ, że poniżej pola tekstowego pojawia się język francuski (fr).
Podobnie, wypróbuj teksty w innym języku. Na przykład wpisanie
guten tagzmienia wykryty język na de dla języka niemieckiego.
Najlepsze rozwiązania
Spróbuj wyzwalać przewidywanie modelu za pomocą pojedynczych akcji, takich jak OnClick przy użyciu przycisku, a nie akcji OnChange przy wprowadzaniu tekstu, aby zapewnić efektywne wykorzystanie kredytów AI Builder.
Aby zaoszczędzić czas i zasoby, zapisz wynik wywołania modelu, aby można go było używać w wielu miejscach. Dane wyjściowe można zapisać w zmiennej globalnej. Po zapisaniu wyników modelu możesz użyć języka w innym miejscu aplikacji, aby pokazać zidentyfikowany język i jego wynik w dwóch różnych etykietach.
Set(lang, 'Language detection'.Predict("bonjour").Language)
Wejście i wyjście według typu modelu
Ta sekcja zawiera dane wejściowe i wyjściowe dla modeli niestandardowych i wstępnie utworzonych według typu modelu.
Modele niestandardowe
| Typ modelu | Składnia | Dane wyjściowe |
|---|---|---|
| Klasyfikacja kategorii | 'Custom text classification model name'.Predict(Text: String, Language?: Optional String) |
{AllClasses: {Name: String, Confidence: Number}[],TopClass: {Name: String,Confidence: Number}} |
| Wyodrębnianie encji | '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, }]} |
| Wykrywanie obiektów | 'Custom object detection model name'.Predict(Image: Image) |
{ Objects: { Name: String, Confidence: Number, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }}[]} |
Wstępnie utworzone modele
Uwaga
Nazwy gotowych modeli są wyświetlane w lokalizacji Twojego środowiska. Poniższe przykłady pokazują nazwy modeli dla języka angielskiego (en).
| Typ modelu | Składnia | Dane wyjściowe |
|---|---|---|
| Czytnik wizytówek | ‘Business card reader’.Predict( Document: Base64 encoded image ) |
{ Fields: { FieldName: { FieldType: "text", Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}} |
| Klasyfikacja kategorii | 'Category classification'.Predict( Text: String,Language?: Optional String, ) |
{ AllClasses: { Name: String, Confidence: Number }[], TopClass: { Name: String, Confidence: Number }} |
| Czytnik dokumentów tożsamości | ‘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 }}}}} |
| Przetwarzanie faktur | ‘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 } } } }[] } }} |
| Wyodrębnianie kluczowych fraz | 'Key phrase extraction'.Predict(Text: String, Language?: Optional String)) |
{ Phrases: String[]} |
| Wykrywanie języka | 'Language Detection'.Predict(Text: String) |
{ Language: String, Confidence: Number} |
| Przetwarzanie paragonów | ‘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 } } } }[] } } } |
| Analiza opinii | '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 } }[]} |
| Rozpoznawanie tekstu | 'Text recognition'.Predict( Document: Base64 encoded image) |
{Pages: {Page: Number,Lines: { Text: String, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }, Confidence: Number }[] }[]} |
| Tłumaczenie tekstu | 'Text translation'.Predict( Text: String, TranslateTo?: String, TranslateFrom?: String) |
{ Text: String, // Translated text DetectedLanguage?: String, DetectedLanguageConfidence: Number} } |
Przykłady
Każdy model jest wywoływany przy użyciu czasownika przewidywania. Na przykład model wykrywania języka przyjmuje tekst jako dane wejściowe i zwraca tabelę możliwych języków uporządkowaną według wyniku tego języka. Wynik wskazuje, jak pewny siebie jest model ze swoim przewidywanie.
| Dane wejściowe | Dane wyjściowe |
|---|---|
'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 } } ] } |