Takaisin projekteihin

Chat with Database
Sami Paananen / 4. maalisk. 2025
Projekti
Tämä projekti on AI-avustaja, joka kääntää luonnollista kieltä SQL-kyselyiksi ja RAG-pohjaisiksi vastauksiksi kuvitteelliselle vaateverkkosovellukselle. Toisin kuin vedä ja pudota -AI-työkalut, tämä projekti on kehitetty alusta alkaen käyttäen Pythonia, LangChainia ja NeonDB:tä.
Ominaisuudet
- Luonnollisen kielen käsittely: Muuntaa käyttäjän kyselyt SQL-lauseiksi ja RAG-pohjaisiksi vastauksiksi
- Roolipohjainen pääsy: Tavalliset käyttäjät vuorovaikuttavat RAG:n kanssa kysymys-vastaus -tilanteissa, kun taas ylläpitäjät voivat suorittaa SQL-kyselyitä tiukkojen turvallisuusmääräysten alaisena
- Turvallinen SQL-suoritus: DML-toiminnot (INSERT, UPDATE, DELETE) on estetty tietojen muokkaamisen estämiseksi
- JWT-todennus: API-reitit on suojattu käyttämällä JWT-tokeneita varmistaakseen turvallisen pääsyn
- AWS-julkaisu: Järjestelmä on julkaistu AWS:ssä käyttäen Route 53:ta DNS-hallintaan, sovelluskuormantasaajaa SSL-terminointiin, EC2-integraatioita, jotka ajavat Docker-kontteja, ja Nginx-käänteistä proxyä HTTPS-liikenteen käsittelemiseksi (Sovellus oli lyhyesti julkaistu)
Teknologiat
- Python: Ydin kieli taustajärjestelmän toteutuksessa
- LangChain: Kehys, jota käytetään AI-pohjaiseen kyselykäsittelyyn
- NeonDB: Palvelimeton PostgreSQL-tietokanta rakenteellisten kyselyjen käsittelyyn
- Next.js: Etupään käyttöliittymä on rakennettu Next.js:llä interaktiivista käyttäjäkokemusta varten
- Docker: Sovellus on kontitettu Dockerin avulla helpompaa julkaisemista varten
- AWS: Infrastruktuuriin kuuluu Route 53, ALB, EC2 ja Nginx pilvipalvelujulkaisuun
- JWT-todennus: Varmistaa turvallisen API-viestinnän ja käyttäjäroolien validoinnin
Keskeiset oppimiset
Tämä projekti tarjosi näkemyksiä LangChainin joustavuudesta mukautettujen AI-agenttien rakentamisessa, roolipohjaisen turvallisuuden toteuttamisen tärkeydestä SQL-ominaisuuksia paljastettaessa sekä Dockerin ja AWS:n käytön eduista skaalautuvissa julkaisuissa.