Cursus

In deze post verkennen we vijf generatieve AI-projecten die je helpen je portfolio in machine learning en data science op te bouwen en te versterken. Deze projecten zijn ontworpen om je begrip te verdiepen van geavanceerde technologieën zoals Stable Diffusion, Segment Anything, LangChain, Alpaca-LoRA en meer.
Of je nu nieuw bent met generatieve AI of al wat ervaring hebt, deze projecten geven je waardevolle skills waarmee je kunt opvallen bij sollicitaties en in interviews.
Je kunt meer leren over de GPT-serie, waaronder GPT-1, GPT-2, GPT-3 en GPT-4, in het artikel ‘What is GPT-4 and Why Does it Matter?’ Je vindt ook andere AI-projecten in een aparte post.
1. StableSAM: Stable Diffusion Inpainting met Segment Anything
In dit project gebruik je Meta’s segment-anything, Hugging Face diffusers en Gradio om een app te maken die de achtergrond, het gezicht, kleding of iets anders dat je selecteert kan veranderen. Het enige wat je nodig hebt is de afbeelding, het geselecteerde gebied en een prompt.
Use case:
StableSAM is perfect voor creatieve professionals in digitale marketing, design en entertainment. Het laat je specifieke delen van afbeeldingen nauwkeurig bewerken, ideaal voor taken als het wijzigen van achtergronden, outfits of objecten in promotiemateriaal. Voor hobbyisten is het een fantastische tool om afbeeldingen te personaliseren zonder geavanceerde designskills.
Skills die je leert:
- Een inpainting-pipeline bouwen met Stable Diffusion
- Werken met Meta’s Segment Anything Model (SAM) voor beeldsegmentatie
- Een interactieve webapp bouwen met Gradio
- Hugging Face diffusers gebruiken voor modeldeployment
Stable Diffusion Inpainting-pipeline maken
We maken een Stable Diffusion Inpainting-pipeline met diffuser en modelgewichten die beschikbaar zijn op stabilityai/stable-diffusion-2-inpainting · Hugging Face. Daarna voegen we CUDA toe voor GPU-versnelling.
Beeldmasker en inpainting-functie definiëren
De imagemask-functie wordt gemaakt met SAM Predictor. Die neemt een afbeelding, het gekozen afbeeldingsgedeelte en een is_backgroud-booleaanse waarde om een gemaskeerde afbeelding en segmentatie te maken.
Daarna gebruikt de inpainting-functie de Stable Diffusion Inpainting-pipeline om geselecteerde delen van de afbeeldingen te veranderen. De pipelines hebben een invoerafbeelding, gemaskeerde afbeelding, gesegmenteerde afbeelding, prompttekst en negatieve prompttekst nodig.
Gradio-UI maken
Je maakt een rij en voegt drie afbeeldingsblokken toe. Voor een minimale werkende versie voeg je nog een rij met een verzendknop toe. Daarna moet je het inputafbeeldingsobject aanpassen om pixels te selecteren, een masker en segmentatie te genereren, en een actie aan de verzendknop toe te voegen om de inpainting-functie uit te voeren.
Gradio is vrij eenvoudig te leren. Je kunt alles doornemen in de Gradio Docs.
Verbeterde versie van StableSAM
De verbeterde versie van StableSAM is beschikbaar op Hugging Face en bevat een aangepaste inpainting-pipeline die ControlNet gebruikt. Hij gebruikt Runway ML Stable Diffusion Inpainting in plaats van Stability AI.

Zoals je ziet oogt de uiteindelijke app strak, met een segmentatieblok, schoonmaakknop, achtergrondoptie en negatieve prompt.

Resources:
- Hugging Face-demo: StableSAM
- YouTube-tutorial: Stable Diffusion Inpainting met Segment Anything Model (SAM)
2. Alpaca-LoRA: bouw een ChatGPT-achtige chatbot met minimale middelen
Alpaca-LoRA biedt alle benodigde componenten om je eigen gespecialiseerde ChatGPT-achtige chatbot te maken met één GPU. In dit project bekijken we de initiële setup, training, inference-script en native client om inference op de CPU te draaien.
Use case:
Dit project is ideaal als je aangepaste conversational AI-systemen wilt bouwen. Of je nu een klantenservice-chatbot voor een klein bedrijf maakt of een persoonlijke assistent ontwikkelt, met Alpaca-LoRA kun je efficiënt een gespecialiseerde chatbot trainen met beperkte rekenkracht. Perfect om voordelig te experimenteren met het fine-tunen van taalmodellen.
Skills die je leert:
- Taalmodellen fine-tunen met LoRA op één GPU
- De Stanford Alpaca-dataset instellen en gebruiken
- Inferencescripts draaien in omgevingen met weinig middelen (bijv. Raspberry Pi)
- Een op Gradio gebaseerde chatbotinterface deployen
- Begrijpen hoe grote taalmodellen zoals LLaMA worden getraind en geoptimaliseerd
Lokale setup
- Repository clonen: tloen/alpaca-lora
- Afhankelijkheden installeren met
pip install -r requirements.txt - Als bitsandbytes niet werkt, installeer het dan vanaf de bron.
Training
In dit deel bekijken we het fine-tuning-script dat je kunt draaien op het LLaMA-model met het opgeschoonde Stanford Alpaca-model.
Je kunt in de repository de hyperparameters aanpassen voor betere prestaties.
python finetune.py \
--base_model 'decapoda-research/llama-7b-hf' \
--data_path 'yahma/alpaca-cleaned' \
--output_dir './lora-alpaca'
Inference
Het inference-script haalt het basis LLaMA-model van Hugging Face en laadt LoRA-gewichten om een Gradio-interface te draaien.
python generate.py \
--load_8bit \
--base_model 'decapoda-research/llama-7b-hf' \
--lora_weights 'tloen/alpaca-lora-7b'
Je kunt ook alpaca.cpp gebruiken om alpaca-modellen op een CPU of een Raspberry Pi 4 met 4 GB RAM te draaien. Verder kun je Alpaca-LoRA-Serve gebruiken om een ChatGPT-stijlinterface te maken, zoals hieronder te zien is.

Resources:
- GitHub: tloen/alpaca-lora
- Model Card: tloen/alpaca-lora-7b
- Hugging Face-demo: Alpaca-LoRA-Serve
- ChatGPT-stijlinterface: Alpaca-LoRA-Serve
- Alpaca-dataset: AlpacaDataCleaned
3. PDF-interactie automatiseren met LangChain en ChatGPT
Maak je eigen ChatPDF-clone met de PDF-loader van LangChain, OpenAI Embeddings en GPT-3.5. Je bouwt een chatbot die met je boek, juridische documentatie en andere belangrijke PDF-documenten kan communiceren.
Use case:
Dit project is handig om documentgebaseerde workflows te automatiseren, zoals het analyseren van onderzoekspapers, juridische contracten of financiële rapporten. Je kunt een chatbot bouwen die specifieke vragen over PDF-documenten beantwoordt — een krachtig hulpmiddel in sectoren als recht, academie of business intelligence, waar het verwerken van grote hoeveelheden tekst essentieel is.
Skills die je leert:
- PDF-documenten laden en verwerken met LangChain’s PyPDFLoader
- Embeddings maken en documentdata vectoriseren met OpenAIEmbeddings
- Een vectordatabank bouwen voor documentqueries met Chroma
- ChatGPT integreren met gevectoriseerde data voor vraag-en-antwoord
- Een eenvoudige PDF-chatbotinterface ontwikkelen met Gradio
Het document laden
We gebruiken de documentloader van LangChain om PDF’s te laden en de inhoud te lezen.
from langchain.document_loaders import PyPDFLoader
pdf_path = "./paper.pdf"
loader = PyPDFLoader(pdf_path)
pages = loader.load_and_split()
print(pages[0].page_content)
Embeddings en vectorisatie maken
We maken embeddings met de OpenAIEmbeddings-klasse uit de LangChain API. Daarna geven we deze embeddings door aan de Chroma-klasse om een vectordatabank voor het PDF-document te maken.
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma
embeddings = OpenAIEmbeddings()
vectordb = Chroma.from_documents(pages, embedding=embeddings, persist_directory=".")
vectordb.persist()
De PDF bevragen
We gebruiken de ChatVectorDBChain-klasse om met ChatGPT te interacteren via een gegenereerde vectordatabank.
from langchain.chains import ChatVectorDBChain
from langchain.llms import OpenAI
pdf_qa = ChatVectorDBChain.from_llm(
OpenAI(temperature=0.9, model_name="gpt-3.5-turbo"),
vectordb,
return_source_documents=True,
)
query = "What is the VideoTaskformer?"
result = pdf_qa({"question": query, "chat_history": ""})
print("Answer:")
print(result["answer"])
De volgende stap wordt niet genoemd in de videotutorial. Je kunt het Gradio-framework gebruiken om een webapp te maken en die te delen met collega’s en vrienden.

Resources:
- YouTube-tutorial: How to Talk to a PDF using LangChain and ChatGPT
- Blog met broncode: Automating PDF Interaction with LangChain and ChatGPT
- Bekijk ook: Praat met je CSV & Excel met LangChain
4. Bing-GPT Spraakassistent
Bouw je eigen AI-aangedreven persoonlijke assistent, net als J.A.R.V.I.S. Daarvoor heb je de OpenAI API, een tekst-naar-spraakbibliotheek, een spraakherkenningsbibliotheek en generatieve AI nodig.
Use case:
De Bing-GPT Spraakassistent is ideaal om een spraakgestuurde AI-persoonlijke assistent te bouwen die taken aankan zoals herinneringen instellen, vragen beantwoorden of smart home-apparaten bedienen. Dit project kun je uitbreiden om bedrijven te automatiseren, spraakgestuurde klantenserviceoplossingen te bouwen of toegankelijke AI-tools te maken voor mensen met een beperking.
Skills die je leert:
- De API van OpenAI gebruiken voor chatbotantwoorden
- Spraaksynthese en -herkenning implementeren met Whisper en Polly
- Wake-word-detectie instellen voor spraakinteracties
- Een hybride AI-assistent bouwen met EdgeGPT en ChatGPT
- Tekst-naar-spraak en spraakherkenning integreren in Python
Na het laden van de vereiste bibliotheken geef je de OpenAI API-sleutel op:
openai.api_key = "[paste your OpenAI API key here]"
Wake word
Maak een wake-word-functie om de AI te activeren. In dit geval gebruikt de ontwikkelaar “‘bing” of “gpt”.
Spraaksynthese
De spraaksynthesefunctie levert tekst-naar-spraak-inference. Je kunt polly (text-to-speech) benaderen via boto3 en het geluid afspelen met pydub.
Transcriptie met Whisper
De spraakherkenning gebeurt met openai/whisper. Je hoeft alleen uit te zoeken hoe je de API aan je applicatie toevoegt.
Chatbot met EdgeGPT
Tenslotte gebruik je acheong08/EdgeGPT en de OpenAI API om een chatbot te maken. Als de gebruiker het wake-word “bing'' gebruikt, wordt het EdgeGPT-model gebruikt en anders het ChatGPT-model.
Zoek je een veel eenvoudigere implementatie van een spraakassistent, bekijk dan OpenAI Whisper, ChatGPT, TTS en Gradio Web UI.

Resources:
- YouTube-tutorial: Create a ChatGPT & Bing Voice Assistant in 7 Minutes
- GitHub: Ai-Austin/Bing-GPT-Voice-Assistant
- Alternatieve oplossing: youtube-stuffs/voiceGPT.ipynb
5. Een end-to-end data science-project
In dit project gebruiken we ChatGPT om end-to-end applicaties voor kredietgoedkeuringsclassificatie te bouwen. Het enige wat we nodig hebben is toegang tot de ChatGPT-interface en een eigen machine om de code te draaien.
Use case:
Dit project is bedoeld voor ambitieuze data scientists die met AI een volledig functionele machinelearning-pijplijn willen bouwen. Je leert hoe je ChatGPT inzet om een machine learning-model te plannen, uit te voeren en te deployen — een sterke toevoeging aan elk data science-portfolio. Gebruik dit project om kredietgoedkeuringen te voorspellen, churn te voorspellen of fraude te detecteren.
Skills die je leert:
- ChatGPT gebruiken ter ondersteuning van exploratieve data-analyse (EDA)
- Feature engineering en datapreprocessing automatiseren
- Machinelearning-modellen bouwen en tunen met hulp van ChatGPT
- Een machinelearning-webapp bouwen met Gradio
Projectplanning
In de planningsfase beschrijven we de dataset en wat we eruit willen halen. Soms zijn de antwoorden niet perfect, maar je kunt de respons bijsturen met vervolgprompts.
Daarna volgen we het beknopte plan.
Exploratieve data-analyse (EDA)
We vragen ChatGPT om Python-code te genereren die de dataset laadt en exploratieve data-analyse uitvoert met diverse visualisatietechnieken. Je kunt zelfs vragen om de resultaten te interpreteren.
Feature engineering
We hebben ChatGPT gevraagd om feature-engineeringcode te schrijven, en opvallend genoeg maakte het twee features uit bestaande features. Dat betekent dat de AI de dataset nu volledig begrijpt.
Preprocessing en het balanceren van de data
We hebben een ongebalanceerde dataset en in dit deel gebruiken we ChatGPT om preprocessing- en class balancing-code te genereren.
Modelselectie
We hebben ChatGPT gevraagd om de modelselectiecode te schrijven door de machinelearning-modellen te specificeren. Na het draaien van de code selecteren we het best presterende model.
Hyperparametertuning en modelevaluatie
Om de prestaties te verbeteren vragen we ChatGPT om Python-code te schrijven voor hyperparametertuning en modelevaluatie, en om het best presterende model op te slaan.
Een webapp maken met Gradio
We vragen ChatGPT om Gradio-appcode te schrijven met het opgeslagen model en de preprocessing. De AI begreep de invoerkenmerken en de uitvoerresultaten. Het resultaat is een volledig werkende webapp.
De webapp deployen op Spaces
In de laatste stap vragen we ChatGPT om de webapp op Space te deployen. Het gaf een paar stappen die we kunnen volgen om binnen enkele minuten te deployen.

Dit project leert je ook tips voor het schrijven van effectieve prompts, iets wat in elk vakgebied steeds belangrijker wordt.
Resources:
- DataCamp-tutorial: A Guide to Using ChatGPT For Data Science Projects
- Hugging Face-demo: Loan Classifier
Conclusie
Dit is nog maar het begin van wat er met generatieve AI-modellen gaat komen. De open-sourcecommunity werkt hard aan tools die je helpen elk type AI te bouwen. Met deze tools kun je zelfs richting AGI (Artificial General Intelligence) gaan; bekijk Auto-GPT (experimentele open source om GPT-4 volledig autonoom te maken) en babyagi (AI-gestuurd taakbeheersysteem).
In deze post hebben we projecten behandeld die voor alle niveaus te begrijpen zijn en weinig middelen vragen om te starten. Ze gebruiken open-sourcetools, -modellen, -datasets en -packages die voor iedereen beschikbaar zijn.
Ben je nieuw met ChatGPT, overweeg dan de cursus Introduction to ChatGPT. Ben je al vertrouwd met generatieve AI, verbeter dan je prompting-skills met de uitgebreide ChatGPT Cheat Sheet for Data Science, of bekijk de volgende resources:
- Ga aan de slag met ChatGPT in onze cursus Introduction to ChatGPT.
- Download deze handige cheat sheet met ChatGPT-prompts voor data science.
- Luister naar deze podcastaflevering over How ChatGPT and GPT-3 Are Augmenting Workflows om te begrijpen hoe ChatGPT je bedrijf kan helpen.
- Tutorial over de Whisper API
- Begin met AI leren
FAQs
Kan ik deze generatieve AI-projecten doen als ik nieuw ben in machine learning en AI?
Absoluut! Hoewel sommige projecten geavanceerde tools en technieken gebruiken, begeleiden de stapsgewijze instructies in de blogpost je door het hele proces. Je hoeft geen expert te zijn om te beginnen, en veel tools zoals Gradio, Hugging Face en LangChain zijn juist bedoeld om beginnersvriendelijk te zijn. Bovendien helpen deze projecten je een sterke basis in AI op te bouwen, zodat je in de toekomst makkelijker complexere onderwerpen aankunt.
Heb ik een high-end GPU nodig om deze generatieve AI-projecten te draaien?
Niet per se. Sommige projecten, zoals Alpaca-LoRA, zijn ontworpen om op één GPU of zelfs een CPU te draaien, waardoor je geen high-end machine nodig hebt om ze te voltooien. Voor projecten die meer rekenkracht vereisen, kun je clouddiensten zoals Google Colab, AWS of Hugging Face Spaces gebruiken, die toegang tot GPU’s gratis of tegen lage kosten bieden.
Hoe kan ik deze AI-projecten in mijn portfolio laten opvallen bij sollicitaties?
Deze projecten zijn perfect om in je portfolio te tonen, omdat ze laten zien dat je met de nieuwste AI-tools kunt werken. Voeg bij het opnemen in je portfolio het volgende toe:
- Uitgebreide uitleg van de projecten, met het probleem dat je oploste, de gebruikte tools en het eindresultaat.
- Links naar live demo’s of GitHub-repositories, zodat potentiële werkgevers je werk in actie kunnen zien.
- Benadruk eventuele unieke uitdagingen en hoe je die hebt opgelost — dat toont probleemoplossend vermogen en kritisch denken.
Als gecertificeerd data scientist haal ik met passie het maximale uit de nieuwste technologie om innovatieve machinelearning-toepassingen te bouwen. Met een sterke achtergrond in spraakherkenning, data-analyse en -rapportage, MLOps, conversationele AI en NLP heb ik mijn vaardigheden aangescherpt in het ontwikkelen van intelligente systemen die echt impact maken. Naast mijn technische expertise ben ik ook een sterke communicator met een talent om complexe concepten terug te brengen tot heldere, beknopte taal. Daardoor ben ik uitgegroeid tot een veelgelezen blogger over data science, waar ik mijn inzichten en ervaringen deel met een groeiende community van data-professionals. Op dit moment richt ik me op contentcreatie en redactie, waarbij ik met large language models werk aan krachtige en aansprekende content die zowel bedrijven als individuen helpt het beste uit hun data te halen.

