Data Strategie

dbt: generative AI integreren in een pipeline met SQL

dbt Blog
dbt: generative AI integreren in een pipeline met SQL

Samenvatting

dbt integreert generatieve AI via BigQuery-functies en plain SQL, zonder aparte Python-service.

dbt en BigQuery AI-functies in één pipeline

Tijdens een sessie op dbt Summit 2026 liet Alicia Williams van Google Cloud zien hoe een team een groot taalmodel rechtstreeks vanuit een SQL SELECT-statement aanroept. BigQuery’s AI.GENERATE gebruikt een prompt en een kolom als invoer en retourneert per rij een antwoord, van tientallen tot miljarden rijen.

Met de parameter output_schema dwingt de functie strikt getypeerde JSON af in plaats van vrije tekst. BigQuery bevat daarnaast AI.IF voor semantische filtering, AI.CLASSIFY voor categorisering, AI.SCORE voor beoordeling en rangschikking, en AI.AGG voor samenvattingen over meerdere rijen.

Waarom dbt en SQL belangrijk zijn

De aanpak verplaatst AI-experimenten uit losse notebooks en Python-services naar dezelfde modellen, tests en incrementele logica die een dbt-project al gebruikt. Dat maakt de uitvoeringsregels zichtbaar in de pipeline, in plaats van in een apart script dat buiten het reguliere transformatieproces draait.

De functies hebben ook operationele gevolgen. Een volledige refresh stuurt iedere rij opnieuw naar het model en kan daardoor snel duur worden. De geoptimaliseerde modus van AI.IF en AI.CLASSIFY labelt eerst een kleine steekproef met het volledige model, traint binnen BigQuery een lichtgewicht gedistilleerd model en verwerkt de rest daarmee. Volgens de sessie levert dit bij grotere aantallen rijen grote besparingen op kosten en latency.

dbt-takeaway

Maak AI-logica in dbt incrementeel. Zet de modelaanroep in een is_incremental()-blok, zodat alleen nieuwe rijen naar het taalmodel gaan en een full refresh geen bestaande records opnieuw verwerkt. Gebruik AI.COUNT_TOKENS vóór uitvoering, stel dagelijkse tokenlimieten in op project- en gebruikersniveau en configureer max_error_ratio om een query af te breken wanneer te veel rijen falen. Controleer bovendien of output_schema past bij de downstream-verwerking: vrije modeltekst vraagt een andere aanpak dan getypeerde JSON.

Lees het volledige artikel
Meer over Data Strategie →