Ontgrendel de Real-Time AI Conversation Co-Pilot voor je telefoon
Ontgrendel de AI-conversatie-copiloot in real-time voor je telefoon. Bouw een krachtig hulpmiddel dat gesprekken in real-time transcribeert en analyseert, en onmiddellijke suggesties en feedback geeft om de communicatie te verbeteren. Verbeter je interviews, vergaderingen en sociale interacties met deze AI-aangedreven assistent.
19 februari 2025

Deze blogpost verkent de potentie van een real-time AI-conversatie-copiloot die kan helpen bij taken zoals sollicitatiegesprekken en gebruikersonderzoek. De auteur toont de ontwikkeling van een web- en mobiele applicatie die geavanceerde spraak-naar-tekst- en taalmodellen gebruikt om onmiddellijke transcriptie- en suggestiemogelijkheden te bieden, waarbij de voordelen van een dergelijk hulpmiddel bij het verbeteren van communicatie en productiviteit worden benadrukt.
Introductie tot de Real-time AI Conversation Co-pilot
Uitdagingen bij het bouwen van Real-time Transcript en Snelle Inferentie
Een Web-based Conversation Co-pilot Demo bouwen
Whisper Kit gebruiken voor een Mobiele Conversation Co-pilot
Conclusie
Introductie tot de Real-time AI Conversation Co-pilot
Introductie tot de Real-time AI Conversation Co-pilot
Bijna een jaar geleden, rond maart 2023, toen ChatGPT net was uitgekomen en het heetste onderwerp in de wereld werd, herinner ik me duidelijk een demo van Arony waarin hij een "Interview Breaker" bouwde - een ChatGPT-tool die je helpt om sollicitatiegesprekken te kraken. Deze week heb ik iets gebouwd dat de "Interview Breaker" heet - een proof of concept gemaakt met ChatGPT om sollicitatiegesprekken te kraken. Het neemt je eerdere ervaring, luistert mee in je gesprek met je interviewer en vertelt je wat je moet zeggen, je op de hoogte brengend van dingen die je misschien niet weet.
Als senior architect prioriteer ik bij het prioriteren van wat ik moet focussen op voor een backend-service, schaalbaarheid. Dit soort tool zal grote schade aanrichten aan het sollicitatieproces. Meestal, wanneer deze grote technologieën opkomen, zoals computers of het internet, veranderen ze alle processen die ervoor waren ontstaan. Dat betekent dat sommige van deze vragen misschien niet meer zinvol zijn om te stellen als we ver in de toekomst kijken.
Ik dacht dat dat een fantastisch idee was, want destijds was ik eigenlijk door een aantal sollicitatiegesprekken aan het gaan, dus ik zou graag een real-time tool hebben die me daarbij kan helpen. Ik heb daadwerkelijk geprobeerd om die prototype te bouwen waarbij het een spraak-naar-tekst-model gebruikte om de transcript te genereren en ook een groot taalmodel gebruikte om antwoorden te genereren, maar die prototype werkte in de praktijk niet goed. Een van de harde vereisten voor die real-time interview- of gespreksbegeleiders is dat ze een lage latentie en real-time moeten zijn. Als het 30-40 seconden zou duren om resultaten te genereren, zou het niet echt werken. Helaas was dat het geval in maart vorig jaar, aangezien zowel het spraak-naar-tekst-model als het grote taalmodel vrij lang deden over het infereren. Dit was in theorie een eenvoudig project, maar in de praktijk erg moeilijk om een bruikbaar product te bouwen.
Echter, een paar maanden later, zag ik een ander product dat een soortgelijk scenario liet zien, maar met bijna real-time prestaties. In de luchtvaartindustrie, zoals in straalmotoren of ruimtevaartuigen, hoe benader je deze uitdagingen?
Uitdagingen bij het bouwen van Real-time Transcript en Snelle Inferentie
Uitdagingen bij het bouwen van Real-time Transcript en Snelle Inferentie
Er zijn twee belangrijke componenten om een real-time gespreksbegeleider te bouwen: real-time transcript en snelle inferentie.
Real-time Transcript
Het bereiken van real-time transcriptie is een van de grootste uitdagingen. Typische spraak-naar-tekst-modellen zoals Whisper zijn niet ontworpen voor streaming scenario's, waarbij audio in kleine stukjes wordt verwerkt in plaats van de hele opname.
Om dit te overwinnen, is een veel voorkomende oplossing om een terugkerende lus te maken die continu kleine audio-chunks (bijv. elke 2-5 seconden) vastlegt, ze naar het spraak-naar-tekst-model stuurt en de kleine transcripten aan elkaar plakt. Deze aanpak vereist optimalisaties om de nauwkeurigheid te verbeteren, zoals het vergelijken van tijdstempels van verbindende woorden om de uiteindelijke transcript te verbeteren.
Gelukkig is de spraak-naar-tekst-technologie snel geëvolueerd, en er zijn nu oplossingen die real-time transcriptie mogelijk maken, zoals het gebruik van ongelooflijk snelle modellen gehost op platforms als Replicate of het direct op mobiele apparaten implementeren van lichtgewicht modellen zoals Whisper Kit.
Snelle Inferentie
De tweede uitdaging is het bereiken van zeer snelle inferentie met het grote taalmodel om suggesties in real-time te genereren. Om dit aan te pakken:
-
Kies een snel en klein taalmodel: Modellen zoals Meteo 7B zijn veel kleiner en sneller dan GPT-4, waardoor snellere antwoordgeneratie mogelijk is met minder rekenkracht.
-
Verminder de invoergrootte: Naarmate het gesprek langer wordt, kan de invoer voor het taalmodel te groot worden. Technieken zoals samenvatting van taalmodellen kunnen worden gebruikt om alleen de relevante informatie te extraheren en de invoergrootte te verminderen.
-
Optimaliseer de uitvoergeneratie: Verdere optimalisaties kunnen worden uitgevoerd om het aantal uitvoertokens te verminderen, zoals het gebruik van prompt engineering-methoden.
Door deze technieken voor real-time transcript en snelle inferentie te combineren, is het mogelijk om een zeer responsieve real-time gespreksbegeleider te bouwen die waardevolle suggesties en ondersteuning kan bieden tijdens gesprekken.
Een Web-based Conversation Co-pilot Demo bouwen
Een Web-based Conversation Co-pilot Demo bouwen
Om een web-gebaseerde gespreksbegeleider-demo te bouwen, zullen we een combinatie gebruiken van Flask (een Python web framework) en Replicate (een platform voor het uitvoeren van open-source AI-modellen).
De belangrijkste componenten zijn:
-
Real-time Transcript: We zullen een snel spraak-naar-tekst-model van Replicate gebruiken om een real-time transcript van het gesprek te genereren. Dit houdt in dat we continu kleine audio-chunks vastleggen, ze naar het spraak-naar-tekst-model sturen en de resultaten aan elkaar plakken.
-
Snelle Inferentie: We zullen een klein, snel taalmodel van Replicate (zoals Minitram) gebruiken om suggesties en antwoorden op basis van de transcript in real-time te genereren. We zullen ook technieken verkennen zoals het verminderen van de invoergrootte en het samenvatten van het gesprek om de snelheid te verbeteren.
De web-app zal de volgende functies hebben:
- Een tekstveld voor de gebruiker om context over het gesprek te geven.
- Een "Record"-knop om de audio-opname te starten en stoppen.
- Een "Get Suggestion"-knop om het taalmodel te activeren en suggesties te krijgen.
- Een real-time weergave van de transcript.
- Een weergave van de gegenereerde suggesties.
Hier is het stapsgewijze proces:
-
Stel de Flask-app op:
- Maak het bestand
app.py
aan en importeer de benodigde bibliotheken, inclusief de Replicate Python SDK. - Definieer de Flask-routes voor de startpagina en het audio-verwerkingspunt.
- Stel de AWS S3-bucket en referenties in voor het tijdelijk opslaan van de audio-opnames.
- Maak het bestand
-
Implementeer de real-time transcript-functionaliteit:
- Gebruik het Replicate Whisper-model om continu audio-chunks vast te leggen en te transcriberen.
- Optimaliseer de transcript door woordgrenzen te verwerken en context tussen chunks te behouden.
-
Implementeer de snelle inferentie-functionaliteit:
- Gebruik het Replicate Minitram (of een soortgelijk klein, snel taalmodel) om suggesties te genereren op basis van de volledige transcript.
- Verken technieken zoals het verminderen van de invoergrootte en het samenvatten van het gesprek om de inferentiesnelheid te verbeteren.
-
Bouw de front-end met HTML en JavaScript:
- Maak het bestand
index.html
aan in detemplates
-map. - Definieer de HTML-structuur met het tekstveld, de opnameknop en de suggestie-weergave.
- Implementeer de JavaScript-logica om de opname, audio-upload en API-aanroepen naar de Flask-backend te verwerken.
- Maak het bestand
-
Test en implementeer de web-app:
- Voer de Flask-app lokaal uit en test de functionaliteit.
- Implementeer de app op een hostingplatform (bijv. Heroku, AWS of je eigen server).
Whisper Kit gebruiken voor een Mobiele Conversation Co-pilot
Whisper Kit gebruiken voor een Mobiele Conversation Co-pilot
Na het zien van de indrukwekkende demo van de web-gebaseerde gespreksbegeleider, besloot ik de mogelijkheden te verkennen om een mobiele versie te bouwen met behulp van het open-source Whisper Kit-framework. Whisper Kit biedt een Swift-pakket dat het mogelijk maakt om het Whisper spraak-naar-tekst-model rechtstreeks op iOS-apparaten te implementeren, waardoor real-time transcriptie met minimale latentie mogelijk wordt.
Om te beginnen, kloonde ik de Whisper Kit GitHub-repository en opende het voorbeeld-project in Xcode. Het project bevat een whisper-ax
-map, die de broncode bevat voor een voorbeeld-iOS-app die het gebruik van de Whisper Kit demonstreert.
In het bestand ContentView.swift
definieerde ik eerst een paar extra toestandsvariabelen om de prompt-invoer en de API-antwoordsamenvatting van het grote taalmodel te verwerken. Vervolgens voegde ik een invoerveld toe voor de gebruiker om de prompt aan te passen, die gebruikt zal worden om context te bieden aan het grote taalmodel.
Vervolgens implementeerde ik de functie getSuggestion()
, die verantwoordelijk is voor het verzenden van de transcript en de prompt naar de Replicate-API om een antwoord van het Mistral-taalmodel te genereren. Deze functie verwerkt de streaming-aard van de Replicate-API, controleert voortdurend de status totdat het antwoord compleet is en werkt vervolgens de API_response_summary
-toestandsvariabele bij met de gegenereerde suggestie.
Tenslotte voegde ik een "Get Suggestion"-knop toe die de functie getSuggestion()
activeert, en toonde ik de API-antwoordsamenvatting onder de real-time transcript.
De resulterende iOS-app stelt gebruikers in staat om een gesprek te starten, de transcript in real-time te zien en onmiddellijke suggesties van het grote taalmodel te ontvangen om het gesprek te ondersteunen. Het gebruik van Whisper Kit voor de spraak-naar-tekst-functionaliteit, gecombineerd met de integratie van de Replicate-API, biedt een naadloze en responsieve gespreksbegeleider-ervaring rechtstreeks op het mobiele apparaat van de gebruiker.
Deze aanpak ontgrendelt nieuwe mogelijkheden voor real-time, contextbewuste conversationele ondersteuning, waardoor gebruikers worden voorzien van intelligente ondersteuning tijdens belangrijke discussies, interviews en sociale interacties. Door gebruik te maken van de nieuwste ontwikkelingen op het gebied van spraakherkenning en grote taalmodellen, kan de mobiele gespreksbegeleider een waardevol hulpmiddel worden voor het verbeteren van communicatie en productiviteit.
Ik kijk er naar uit om deze mobiele gespreksbegeleider-app verder te verfijnen en te polijsten, en ik verheug me erop om hem met de gemeenschap te delen zodra hij klaar is voor release. Laat me weten als je interesse hebt om de app uit te proberen of feedback te geven op de ontwikkeling ervan.
Conclusie
Conclusie
Concluderend, de ontwikkeling van een real-time gespreksbegeleider is een complexe taak die verschillende belangrijke uitdagingen vereist. De belangrijkste uitdagingen zijn:
-
Real-Time Transcript Generatie: Het bereiken van low-latency, nauwkeurige spraak-naar-tekst-transcriptie is cruciaal voor het bieden van real-time feedback. Technieken zoals het gebruik van een streaming spraakherkenningsmodel en het optimaliseren van de verbinding tussen audio-chunks en getranscribeerde tekst zijn essentieel.
-
Snelle Inferentie van Grote Taalmodellen: Het snel genereren van relevante suggesties en antwoorden vereist het gebruik van kleinere, gespecialiseerde taalmodellen die snelle inferentie kunnen bieden. Technieken zoals het verminderen van de invoertoken-grootte en het samenvatten van de gespreksgeschiedenis kunnen helpen de prestaties te verbeteren.
-
Naadloze Integratie: Het combineren van de real-time transcript-generatie en de inferentie van het grote taalmodel in een coherente, gebruiksvriendelijke applicatie is cruciaal voor het bieden van een soepele en effectieve ervaring.
De demonstratie liet zien hoe deze uitdagingen kunnen worden aangepakt met behulp van een combinatie van technologieën, waaronder het Whisper spraak-naar-tekst-model, het Minstrel-taalmodel en het Replicate-platform voor eenvoudige implementatie. De resulterende web- en mobiele applicaties bieden real-time transcriptie en suggestiegeneratie, waardoor het potentieel van deze technologie wordt getoond om verschillende gespreksscenario's, zoals sollicitatiegesprekken, gebruikersonderzoekinterviews en sociale interacties, te verbeteren.
In het algemeen is de ontwikkeling van een real-time gespreksbegeleider een veelbelovend onderzoeks- en ontwikkelingsgebied, met het potentieel om de kwaliteit en effectiviteit van mens-tot-mens-communicatie aanzienlijk te verbeteren.
FAQ
FAQ