24 april 2025
In deze tutorial wordt uitgelegd hoe je een ticketingassistent bouwt die gebruikmaakt van Agentic AI, mogelijk gemaakt door de PydanticAI-bibliotheek. Het systeem combineert natuurlijke taalinterpretatie met gestructureerde datamodellen via Pydantic v2 en maakt gebruik van een in-memory SQLite-database voor het opslaan van tickets. Elk ticket krijgt een uniek ID toegekend met behulp van Python’s uuid-module. Twee AI-agenten worden ingezet: één om meldingen aan te maken en één om de status ervan op te vragen.
Om te beginnen wordt pip bijgewerkt en PydanticAI geïnstalleerd. Vervolgens wordt gecontroleerd of de Google Gemini API-sleutel beschikbaar is in de omgeving. Als deze ontbreekt, wordt er veilig om gevraagd. Daarnaast wordt nest_asyncio toegevoegd om compatibiliteit binnen interactieve omgevingen zoals Google Colab te waarborgen bij het uitvoeren van asynchrone functies.
Met SQLite wordt een eenvoudige maar effectieve database opgezet waarin ticketinformatie wordt opgeslagen, inclusief kolommen voor ticket-ID, samenvatting, urgentie, afdeling en status. Een dataclass wordt gedefinieerd om de databaseverbinding door te geven aan de AI-agenten. Verder worden twee Pydantic-modellen aangemaakt die het formaat van de output van de AI-processen vastleggen.
De eerste agent, create_agent, is gelinkt aan Google Gemini en wordt gebruikt om nieuwe tickets in te voeren. Via een asynchrone tool verwerkt deze agent input zoals probleemomschrijving, urgentie en verantwoordelijke afdeling, genereert een uniek ID en slaat het ticket op in de database. De output wordt automatisch gevalideerd met het eerder gedefinieerde datamodel.
De tweede agent, status_agent, richt zich op het opvragen van de status van een bestaand ticket. Aan de hand van het ticket-ID wordt de actuele status opgezocht in de database. Wanneer het ticket niet bestaat, wordt een foutmelding gegenereerd. Ook hier wordt de uitgegeven informatie gevalideerd met een Pydantic-model om consistentie te garanderen.
Tot slot wordt een voorbeeld gegeven van hoe de combinatie van create_agent en status_agent werkt in de praktijk. Eerst wordt er via natuurlijke taal een ticket aangemaakt, waarvan de gegevens keurig als gestructureerde JSON worden teruggegeven. Daarna wordt de status van ditzelfde ticket opgevraagd. Deze aanpak laat zien hoe goed georganiseerde AI-tools, ondersteund door betrouwbare datamodellen en databases, een krachtig en uitbreidbaar ticketsysteem kunnen vormen.

Geef een reactie