Jedinstveni upit za vektorske, grafovske i relacijske baze: jedno sučelje za memoriju agenta
U svijetu modernih AI agenata, memorija nije samo pohrana podataka – ona je ključna za kontekst i donošenje odluka. Agenti često trebaju dohvatiti informacije iz različitih izvora: vektorskih baza za semantičko pretraživanje, grafovskih baza za relacijske veze i relacijskih baza za strukturirane podatke. Problem? Svaka baza zahtijeva svoj client i svoj upitni jezik, što usložnjava arhitekturu i povećava latenciju.
Zašto jedinstveno sučelje?
Zamislite agenta koji treba odgovoriti na pitanje: "Koji su najnoviji projekti slični onome na kojem radim, a povezani su s istim klijentom?" Da bi to postigao, agent mora pretražiti vektorsku bazu za slične projekte, grafovsku bazu za veze s klijentom i relacijsku bazu za metapodatke. Bez jedinstvenog sučelja, programer mora ručno koordinirati tri upita, spajati rezultate i rješavati neusklađenosti formata. Jedinstveno sučelje rješava ovaj problem apstrahirajući specifičnosti svake baze.
Ključni elementi dizajna
- Apstrakcija upita: Definirajte zajednički jezik upita koji podržava vektorsko pretraživanje (npr. similarity_search), grafovsko pretraživanje (npr. traverse) i SQL upite (npr. filter).
- Adapteri za baze: Svaka baza dobiva adapter koji prevodi zajednički upit u nativni jezik (npr. PostgreSQL adapter pretvara filter u SQL WHERE klauzulu).
- Unificirani odgovor: Rezultati se vraćaju u standardiziranom JSON formatu, bez obzira na izvornu bazu.
- Upravljanje kontekstom: Sučelje automatski prosljeđuje kontekst (npr. ID agenta) svim bazama, osiguravajući dosljednost.
Primjer implementacije
U RiNET-u, jedinstveno sučelje radi ovako: agent pošalje upit "find projects similar to X, connected to client Y". Sučelje prvo pretražuje vektorsku bazu za slične vektore, zatim grafovsku bazu za veze s klijentom Y, i na kraju relacijsku bazu za detalje projekata. Rezultat je jedan JSON objekt s popisom projekata, njihovim sličnostima i relacijama. Ovo smanjuje broj upita s tri na jedan i eliminira potrebu za ručnim spajanjem.
Prednosti za agente
- Manja složenost koda: Agent treba samo jedan client, a ne tri.
- Brži odgovori: Paralelno izvršavanje upita na više baza uz automatsku agregaciju.
- Laka proširivost: Dodavanje nove baze (npr. baze dokumenata) zahtijeva samo novi adapter.
Jedinstveno sučelje za upite nije samo tehnički užitak – ono je nužnost za agente koji trebaju brzo i točno donositi odluke na temelju heterogenih podataka. Bez njega, memorija agenta ostaje fragmentirana i spora.
Zanima vas ovakva AI tehnologija?
RiNET gradi sovereign AI rjesenja za javni sektor i poduzeca - od civic intelligence do automatizacije nabave.
Kontaktirajte nas →
Komentari