Kan je GPT een persoonsprofiel laten opstellen aan de hand van de e-mails die je van die persoon gekregen hebt? We testten het uit.
Ik deed dit projectje samen met Douwe Osinga. Onze aanpak was in drie stappen:
- E-mails ophalen die die persoon me heeft gestuurd.
- Feiten extraheren uit deze e-mails
- Persoonsprofiel schrijven op basis van deze feiten.
E-mails ophalen
Is eigenlijk vrij makkelijk (met Python). We halen een voor een de e-mails en halen daar de feiten uit op net zo lang totdat we voldoende (100 lijkt wel goed te werken) feiten verzameld hebben.
Feiten extraheren
Dat gaat met een prompt naar GPT3.5:
👱🏻♂️Hieronder vind je een e-mail van {name}.
Als die e-mail niet in het Nederlands is, vertaal hem dan naar het Nederlands.
Haal vervolgens de feiten over {name} uit de e-mail.
Vertegenwoordig elk feit als een drievoud van subject, predikaat en object.
Als de e-mail bijvoorbeeld het feit 'Jan is een ondernemer' bevat, zou het drietal zijn
Jan | is | ondernemer
Maak een lijst van alle feiten, één per regel.
De feiten van alle e-mails verzamelen we in één lijst.
- Douwe Osinga | has invited | you
- Douwe Osinga | is | bedankt
- email | is | about Neptyne issues 3
- Neptyne | integrates | the best of jupyter notebook technology
- Douwe Osinga | is | working on a chess project
Profiel genereren
Ook hier gebruiken we weer GPT voor:
👱🏻♂️Hieronder vind je een lijst met feiten over {name}.
Maak een profielbeschrijving van {name}.
De input is een lijst met triplets met onderwerp, predicate en object.
Bijvoorbeeld, als persoon John, ondernemer is, dan is de triplet:
John | is | ondernemer
Hou je bij de feiten. Verzin geen dingen.
Maak het profiel gemakkelijk te lezen met een maximum van 200 woorden.
Resultaat
🤖Douwe Osinga is een persoon die betrokken is bij verschillende projecten en activiteiten. Hij is een organisator en heeft ervaring met het werken aan een schaakproject.
Douwe is ook betrokken bij Neptyne, een cutting-edge tool die data processing en visualisatie sneller en gemakkelijker maakt dan ooit tevoren. Hij heeft een uitnodiging gestuurd en heeft ook een Tyne gedeeld. Douwe is enthousiast en heeft goede bevindingen.
Hij heeft een e-mailadres ([email protected]) en een telefoonnummer (+1 929 xxx xxxx). Douwe is ook de afzender van verschillende e-mails, waaronder een over Neptyne en Sheets API. Hij spreekt Nederlands en Engels en heeft een positieve houding.
Douwe is momenteel bezig met een schaakproject en werkt aan het trainen van een model. Hij is ook betrokken bij het oplossen van problemen en het indienen van bugs. Over het algemeen is Douwe een actieve en betrokken persoon met een passie voor technologie en data-analyse.
Mooi toch? 😃
Code op Github: https://github.com/hpharmsen/profile
Vorige post: GPT Function calling