In een van onze klantprojecten heeft Sebastian het Whisper-model van Azure OpenAI gebruikt en was onder de indruk van de nauwkeurigheid. Waarom zou je deze functionaliteit niet breder beschikbaar maken in een Power App? Tot nu toe heeft Sebastian alleen toepassingen gezien waarin het openbare Whisper-model van OpenAI wordt gebruikt. Omdat hij alle data binnen zijn Microsoft Tenant wil houden, besloot hij zijn eigen tutorial te schrijven over het gebruik van de Azure OpenAI-variant. In het eerste deel leidt Sebastian je door het installatieproces, zodat je het zelf kunt proberen. In het volgende deel wordt de door Whisper AI gegenereerde inhoud gekoppeld aan een ander LLM, zoals Azure OpenAI 3.5 of 4, om te werken met de geëxtraheerde Speech-to-Text-gegevens.
Een kort overzicht van wat je nodig hebt:
Azure
- Abonnement
- Resourcegroep
- Azure OpenAI-service
- Geïmplementeerd Azure OpenAI Whisper-model
Power Apps
- Canvas-app
Power Automate
- HTTP-connector
Azure OpenAI Whisper-model
Sebastian gebruikte Azure OpenAI Studio om zijn model te implementeren. Let op dat je eerst een Azure-abonnement, een resourcegroep en de Azure OpenAI-service nodig hebt. Bezoek het Azure OpenAI Studio: https://oai.azure.com/portal
Als je meerdere resourcegroepen hebt, controleer dan rechtsboven of de juiste groep is geselecteerd. Klik vervolgens links op “Deployments”.
Selecteer “Create new deployment”
Kies het “whisper” model en geef een implementatienaam (Deployment name). Houd het Azure OpenAI Studio-venster open, want je hebt later meer informatie nodig.
Power Apps
In de volgende stap ga je verder met Power Apps. In dit deel wil je een ontwikkelings-/debug-app instellen waarmee je je verbinding met het Whisper-model kunt testen. Alle formules kunnen later in verschillende app-scenario’s worden gebruikt. Sebastian begon met een lege canvas-app in tabletmodus. Je kunt echter ook een andere moderne sjabloon gebruiken die je aanspreekt.
In zijn Development-/Debugging-app wil Sebastian een opname rechtstreeks vanuit de Power App verzenden:
Voeg de volgende besturingselementen toe aan je scherm:
- Audio (uit de categorie Media, alleen voor debug-/testdoeleinden)
- Microfoon (uit de categorie Media)
- 2x knoppen (klassiek of modern)
Stel de Media-eigenschap van de Audio-control in op:
Als je deze optie hebt ingesteld, kun je nu je opname beluisteren via de microfoonbediening.
Nu wordt het wat ingewikkelder. Om onze microfooninput/recording naar Power Automate te sturen, moet je de opname van een binair formaat naar Base64 converteren. Hiervoor heb je een paar trucs nodig.
Kies een van je knoppen en wijzig de Text-eigenschap naar bijvoorbeeld:
Stel de tweede knop in op:
Je hebt drie variabelen nodig om enkele aanpassingen aan de tekenreeks te maken. Om de variabelen in te stellen, gebruik je de eerder gemaakte “Extract Data”–knop. In de OnSelect-instelling begin je met:
Hiermee maak je een JSON-tekenreeks van de microfooningang, inclusief de BinaryData die je nodig hebt voor je Base64-tekenreeks. Het resultaat ziet er ongeveer zo uit:
Dit deel moet je nu verwijderen. Uiteindelijk wil je alleen het BASE64STRING-deel zonder extra speciale tekens zoals het laatste ” “.
We beginnen met het splitsen van de tekenreeks door de “, ” tussen data:audio/webm;base64
en de BASE64STRING:
Nu moet je het ” aan het einde van de tekenreeks verwijderen:
De volledige PowerFX van je OnSelect-eigenschap zou er als volgt uit moeten zien:
Ga nu naar Power Automate om het verzoek naar de Azure OpenAI Whisper-service te sturen.
Power Automate
Voordat je de flow maakt, zorg ervoor dat je de volgende informatie bij de hand hebt:
- Azure OpenAI Service API-sleutel
- Eindpunt-URL
- Naam van de implementatie van je Whisper Service
Je kunt de meeste informatie uit de Azure OpenAI Service-resource in Azure halen. Open je resourcegroep, selecteer je Azure OpenAI Service en klik op “Keys and Endpoints” in het gedeelte Resource Management:
Kopieer je KEY 1 en Endpoint. De implementatienaam is de naam die je aan het Whisper-model hebt gegeven in het Azure OpenAI Studio. Je kunt de naam opzoeken onder “Deployments”.
Maak de flow:
Je kunt deze ofwel maken vanuit de app die je al bent begonnen, of vanuit het Flow Maker Portal. Als je kiest voor de tweede optie, maak dan een “Instant”-flow met PowerApps V2 als trigger.
In de PowerApps (V2)-trigger vragen we PowerApps om een tekstinvoer met de naam “base64”, waarin we onze base64-audiogegevens opslaan.
Voeg vervolgens de “Compose”-actie toe en kies de base64-waarde als input:
Nu kun je beginnen met het interessante deel – de “HTTP”-actie of het specifieke verzoek.
Je hebt nu de eerder gebruikte Azure-informatie nodig om je eigen URI te maken. Het formaat is als volgt:
Een voorbeeld:
- Jouw Endpoint is:
https://WhisperDemo.openai.azure.com
- Je implementatienaam is:
WhisperModel
In dit voorbeeld zou je URL er als volgt uitzien:
Voeg 2 headers toe: “api-key” en “Content-Type”. De waarde voor de api-key is de sleutel van je Azure OpenAI-service, en de Content-Type moet “multipart/form-data” zijn.
De JSON-body voor je verzoek zou er als volgt uit moeten zien:
is een functie waarmee we een binaire audiobestand uit onze base64-inhoud opnieuw maken uit de Compose-actie:
We eindigen de flow met “Respond to a PowerApp or flow”. Voeg een tekstuitvoer toe (in Sebastians voorbeeld: WhiserAIanswer) en voeg de tekst van de HTTP-connector uit het venster Dynamische Inhoud toe.
Sla je flow op en ga terug naar je PowerApp.
Power Apps – laatste handelingen
Voeg nu alle onderdelen samen. Voeg eerst je nieuw aangemaakte flow toe in je Power App.
Kies de knop “Send Recording” en stel de OnSelect-eigenschap in op:
Voordat we onze Speech-to-Text-app testen, hebben we een label nodig dat de inhoud van de variabele “varMicWhisperAnswer” weergeeft. Sebastian voegde enkele extra labels toe om zijn verschillende variabelen te debuggen:
Om je app en flow te testen, neem je een bericht op en controleer je je opname via de Media Player. Als je je opname kunt horen, klik dan op de knop “Extract Data” en vervolgens op “Send Recording”. Je zou dan de WhisperAI-uitvoer direct in je app moeten ontvangen.
Dit is slechts het begin van hoe je Speech-to-Text kunt gebruiken met het Whisper-model van Azure OpenAI. We hopen dat we je het proces van integratie van Whisper in je Power Apps duidelijk hebben kunnen uitleggen.
Het blog van Sebastian vind je hier
Zet de AI hype om in waarde
Net als in andere sectoren geldt dus voor de financiële branche: als het om AI en data gaat, is stilstaan geen optie. Hoe gaat jouw bedrijf de AI-hype omzetten naar waarde? In dit whitepaper geven we je concrete handvatten om AI te benutten en laten we je 3 use cases van andere organisaties zien. Tot slot mag ook ethiek niet ontbreken in je AI-strategie; ook daarover lees je meer in dit whitepaper.