API's voor data en AI
Wat zijn API's?
API staat voor " application programming interface".
APi's zijn manieren of technieken om 2 stukken software met elkaar te laten "
communiceren". Hierdoor kan je taken automatiseren. Zaken die je vroeger met de hand deed of met specifieke stukken software, kan je
automatiseren.
Een voorbeeld: Stel je hebt een boekhandel en je wil voor elk boek op je website een productbeschrijving geven. Daarvoor ga je zelf op internet op zoek naar informatie over het boek dat je wil verkopen. Of... je leverancier bezorgt je een Excelbestand met daarin data over elk boek dat hij heeft geleverd. Om die gegevens toe te voegen aan je webshop, moet je die tekst kopiëren en plakken vanaf een andere site of uit de Excel. Daarnaast moet je de tekst ook een beetje "herschrijven" om niet beschuldigd te worden van plagiaat.
Je gebruikt dus wel software, maar je moet nog steeds veel "manueel" werk doen.
Met API's kan je dit proces automatiseren.
- Je kan nu een eigen app (laten) bouwen, die dit werk automatiseert. Je bouwt een app die zelf op zoek gaat naar de correcte data voor elk boek dat je gaat verkopen en die gegevens automatisch toevoegt aan je site. Het enige wat je nog moet doen is die nieuwe app een foto geven van je boek.
- Je kan jouw app nu laten spreken met online API's Voor datatoepassingen zijn er ruwweg 2 soorten API's: data-api's + AI-api's.
Data-api's
Data-api's of REST-api's bieden de mogelijkheid om geautomatiseerd data op te vragen.
Voorbeeld boeken:
- Je app vraagt dan bijvoorbeeld op basis van een ISBN-nummer de data van een bepaald boek op uit Google Books of OpenLibrary.
- Google Books of OpenLibrary sturen de data terug in JSON-formaat.
- Je app ontvangt die data en bewaart ze in de eigen databank van de website.
Voorbeeld vinyl:
- Je app stuur de naam van een artiest en de naam van een album door naar MusicBrainz.
- MusicBrainz stuurt de data terug in JSON-formaat.
- Je app ontvangt die data en bewaart ze in de eigen databank van de website.
Voorbeelden van zulke data-api's:
- Google Books
- OpenLibary
- Wikipedia
- Google Maps: data over plaatsen
- OpenStreetMaps: data over plaatsen + reverse geocoding (GPS-coördinaten omzetten in een adres)
- Amazon Products API
- ...
Geen data-api? Webscraping als alternatief
Als er voor jouw doel geen data-api bestaat, dan kan je gebruik maken van "webscraping". Dan bouw je een app die op andere websites automatisch de data gaat zoeken en die delen "steelt" en kopieert die je nodig hebt. Dat is minder nauwkeurig, maar kan je natuurlijk ook veel tijd besparen.
AI-api's
Beeldherkenning
Beeldherkenningbetekent dat je bepaalde onderdelen in een afbeelding wil herkennen.
Lees hiervoor
https://www.leerschool.be/readpublication/kunstmatige-intelligentie/18
- Google Vision: Google Vision herkent heel nauwkeurig elk onderdeel in een afbeelding, ook tekst. Je kan dus Google Vision gebruiken voor tekstherkenning
- OpenAI Vision: Je kan naar OpenAI Vision een foto sturen, vergezeld van een vraag. Je stuurt bijvoorbeeld een foto van een vinylplaat en je vraagt welke artiest en plaat het is en vraagt meteen ook een biografie van de artiest.
Generatieve AI
Je kan je eigen app bijvoorbeeld laten communiceren met de API van ChatGPT of Sora om teksten en afbeeldingen op vraag te genereren. Jouw app stuurt dan een vraag naar de corresponderende API. Je vraagt bijvoorbeeld om een "gestolen" tekstomschrijving aan te passen.
Vertalingen
Je kan je eigen app laten "communiceren" met de API van deepl om productomschrijvingen automatisch te vertalen voor anderstalige bezoekers.
Audio: TTS + STT
TTS staat voor "text to speech" en STT voor "speech to text". Je kan je app laten communiceren met een TTS- of STT-api. Een browser als Chrome heeft beide api's ingebouwd. Maar die zijn niet zo "nauwkeurig". Wil je heel nauwkeurige resultaten dan kan je je app laten communiceren met de TTS- en STT-api's van OpenAI. Je stuurt dan een audio-opname door en je krijgt de tekst terug als antwoord of omgekeerd.