AI on ollut kaikkien huulilla nyt muutaman vuoden ajan IT-alalla ja sen kehitys on ollut nopeaa. Myös sovellustoimittajat ovat kehittäneet ja sisällyttäneet enemmän ja enemmän AI mahdollistamia kyvykkyyksiä ohjelmistoihinsa. Matillion ei ole tästä poikkeus.
Matillionin Data Productivity Cloud (DPC) sisältää useita tekoälypohjaisia objekteja hyödynnettäväksi latausputkien kehittämisessä. Näitä ovat mm. Copilot luonnollisen kielen luontiin, AI Notes automatisoituun dokumentointiin ja komponentit vuorovaikutukseen suurten kielimallien (LLM) kanssa, kuten OpenAI, Azure OpenAI ja Amazon Bedrock. Lisäksi Matillion DPC tarjoaa komponentteja vektoritietokantojen operaatioihin (Pinecone, Snowflake) ja vuorovaikutukseen tekoälypalveluiden, kuten Amazon Textractin, Amazon Transcriben ja Azure Document Intelligencen, kanssa.
Tässä blogissa tarkastellaan muutamia Matillion Data Productivity Cloud (DPC) tarjoamia mahdollisuuksia kolmesta eri näkökulmasta:
- AI hyödyntäminen latausputkien kehittämisessä Matillionin Maia tekoälyavustajalla,
- AI hyödyntäminen latausputkien dokumentoinnissa ja
- Snowflaken Cortex AI funktioiden hyödyntäminen liiketoiminnan käyttötapauksessa.
AI hyödyntäminen latausputkien kehittämisessä
Matillionissa latausputket on perinteisesti rakennettu viemällä latauksen komponentteja kanvakselle, jonka jälkeen ne on yhdistetty ja määritelty halutut käsittelysäännöt. Tämä on ollut selkeä, intuitiivinen ja helppo tapa rakentaa latausputkia. Matillionin AI avustaja Maia vie tämän vielä askeleen pidemmälle.
Maia kannattaa hyödyntää etenkin tapauksissa, joissa
- olet käyttänyt Matillion DPC:tä vain vähän aikaa tai muuten kokematon ETL/ELT työkalujen käyttäjä,
- kehitysympäristö ei ole tuttu, tai
- haluat saada ehdotuksia, kuinka ratkaista tietty lataustekninen ongelma.
Alla olevassa esimerkissä Maialle on annettu ohjeeksi tehdä latausputki, joka
- Lataa tietoja asiakas- ja tilaustietoja SNOWFLAKE_SAMPLE_DATA tietokannasta.
- Yhdistää taulujen tiedot.
- Luo taulun ja lataa tiedot luotuun tauluun.

Maia voidaan hyödyntää latauksen jatkokehittämiseen tai myös yksittäisissä latauksen komponenteissa. Alla olevassa esimerkissä hyödynnetään Maiaa lisäämään lataukseen metadata kenttiä sekä tekemään laskentoja.


AI hyödyntäminen latausputkien dokumentoinnissa
Latausputkien dokumentointi usein jää vähälle huomiolle tai kokonaan tekemättä. Tämä usein hidastaa latausten jatkokehitystä, virheiden korjausta tai yleisesti latausputken logiikan ymmärtämistä. Matillion DPC mahdollistaa automaattisen latausputkien ja erillisten komponenttien selitteiden luonnin AI hyödyntäen nopeasti muutamalla hiiren klikkauksella.
Alla olevassa esimerkissä Add Metadata laskenta komponentti sisältää lisättyjä kenttiä ja laskentoja, mitkä halutaan nostaa esille. Matillionilla automaattinen selitteen luonti antaa selkeän kuvan objektissa tehtävistä toimenpiteistä.

Maia hyödyntäen voidaan luoda automaattisesti koko latausputken kuvaus sisältäen latauksen vaiheet ja logiikat yksityiskohtaisesti. Ominaisuus mahdollistaa vaivattoman latausputkien kokonaisuuden dokumentoinnin ja siitä on suurta hyötyä, kun on tarve ymmärtää ennestään tuntemattoman latausputken toiminta.

Snowflake Cortex AI funktioiden käyttötapaus
Matillion DPC mahdollistaa myös Snowflaken AI ominaisuuksien hyödyntämisen valmiilla objekteilla, jotka voidaan lisätä osaksi normaaleita latausputkia. Tämä low code / no code lähestymistapa mahdollistaa AI hyödyntämisen laajemmalle käyttäjäryhmälle ja madaltaa AI kyvykkyyksien käyttöönottoa matalla kynnyksellä, sillä mitään erityistaitoja ei tarvita.
Seuraavassa tarkastellaan yksinkertaistettua esimerkkiä, jossa halutaan hyödyntää AI luomaan vastaukset asiakaspalautteisiin. Asiakaspalautteita on tullut kolmella eri kielellä (suomeksi, ruotsiksi ja englanniksi). Matillionin orkestrointi latausputki sisältää 3 eri vaihetta (transformation jobia), joissa käytetään eri Snowflaken Cortex funktioita. Vaiheet ovat:
- REVIEWS_1_TRANSLATE – Käännetään kaikki palautteet englannin kielille hyödyntäen CORTEX.TRANSLATE-funktiota.
- REVIEWS_2_SENTIMENT – Määritetään palautteiden sentimentti (positiivinen / negatiivinen) hyödyntäen CORTEX.SENTIMENT-funktiota.
- REVIEWS_3_REPLY – Luodaan vastaukset palautteille hyödyntäen CORTEX.COMPLETE-funktiota.

Ensimmäisessä vaiheessa hyödynnetään Cortex Translate -objektia, jolla Snowflakeen ladatut usealla eri kielellä olevat asiakaspalautteet käännetään englannin kielelle. Cortex Translate objektissa määritetään käännettävä sarake, lähdekieli (tässä tapauksessa automaattinen tunnistus) ja kohdekieli, joka on englanti. Käännöksen jälkeen sarakkeet nimetään uudestaan ja tiedot ladataan tietokantaan seuraavaa vaihetta varten.

Toisessa vaiheessa hyödynnetään Cortex Sentiment -objektia asiakaspalautteen sentimentin tunnistamiseen. Objektin määrityksissä valitaan sarake, johon sentimentin määritys kohdistetaan. Matillion luo uuden sarakkeen arvolle, jonka skaala on -1:sta (negatiivinen) + 1:een (positiivinen). Lopuksi latausputkessa tarvittavat sarakkeet nimetään uudestaan ja tiedot ladataan tietokantaan viimeistä vaihetta varten.

Viimeisessä latausputkessa hyödynnetään edellisissä vaiheissa tehtyjä käsittelyjä asiakaspalautteen vastauksen muodostamiseen. Latausketjun alussa hyödynnetään Filter objektia jakamaan positiiviset ja negatiiviset palautteet omiksi tietovirroiksi hyödyntäen edellisessä vaiheessa tehtyä sentimentin analysointia. Molemmat data virrat johdetaan omiin Cortex Completions objekteihin. Objekteille määritellään:
- Vastauksessa hyödynnettävä malli.
- Järjestelmä prompt, joka antaa kontekstia vastauksen luomiseen.
- Käyttäjä prompt, joka määrittelee varsinaisen vastauksen.
- Syöte, jota hyödynnetään vastauksen luonnissa, eli tässä tapauksessa palautetta.
Vastauksen luomisen jälkeen tietovirrat yhdistetään, muutetaan sarakemuotoisiksi, sarakkeet nimetään uudestaan ja ladataan tietokantaan esim. asiakaspalvelu järjestelmien hyödynnettäväksi.

Yhteenveto
Matillionsin AI-ominaisuudet eivät ole vain teknisiä kiihdyttimiä, ne ovat yhteistyötyökaluja, jotka auttavat murtamaan siiloja datainsinöörien, analyytikoiden ja liiketoiminnan sidosryhmien välillä. Ne mahdollistavat luonnollisen kielen vuorovaikutuksen, dokumentaation automaattisen luomisen ja erilaisten näkökulmien toteutuksien lisäämisen suoraan dataputkiin. Matillion kaventaa kuilua liiketoiminnan ja datajärjestelmien välillä, jolloin toimenpiteiden ymmärtäminen ei vaadi teknistä osaamista, kuten koodin lukutaitoa. Tämä avaa oven ketterämmälle kehitykselle, nopeammille iteraatiosykleille ja lopulta useammille datatuotteille, jotka ovat aidosti linjassa liiketoiminnan prioriteettien kanssa.
Matillion DPC sisältämät latausvirroissa hyödynnettävät AI objektit nopeuttavat ja helpottavat näiden ominaisuuksien käyttöönottoa organisaatioissa. Snowflake Cortex objektit ovat tästä hyvä esimerkki. Matillion DPC hyödynnetään latausketjun tekemiseen ja orkestrointiin, mutta varsinainen tiedon prosessointi suoritetaan Snowflakessa. Tämä poistaa tiedonsiirron, tukee reaaliaikaista suorittamista ja varmistaa, että tietoturvakäytäntöjä noudatetaan kaikkialla.
-Asko Ovaska