Takaisin projekteihin
Chat with Database

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.

Linkit

Kommentit