Hizkuntza-eredu handien (LLM) eztandak RAG (Retrieval-Augmented Generation) teknika ezagun egin du. Teknika honek testuinguru eguneratua eskaintzen dio ereduari galderak erantzuteko, berriro entrenatu beharrik gabe. Ereduaren ezagutza orokorrean soilik fidatu beharrean, gure datu-basean erabiltzailearen galderarako testu garrantzitsuenak bilatzen ditugu eta LLMari bidaltzen dizkiogu testuinguru gisa.
Zergatik pgvector PostgreSQL-n?
pgvector luzapenak gure PostgreSQL datu-basea errendimendu handiko datu-base bektorial bihurtzen du. Kanpoko datu-base bektorial bat mantendu beharrean (Pinecone edo Chroma adibidez), bektoreak (embeddings) zuzenean gorde ditzakegu PostgreSQL tauletan eta antzekotasun-bilaketak SQL kontsulta tradizionalen bidez exekutatu.
Adibide praktikoa: Mubil Aplikazioko "Ask" laguntzailea
Arkitektura hau modu praktikoan aplikatu dugu gure plataformako Mubil aplikazioaren garapenean. Zehazki, Mubil Ask atalak chat adimendun bat du, mugikortasun elektrikoari, karga-puntuei, argindar tarifei (PVPC) eta gobernuaren dirulaguntzei (Plan Auto+ edo MOVES III kasu) buruzko zalantzak argitzeko.
Sistemaren lan-fluxua honako hau da:
- Indexazioa: Mugikortasuneko dokumentu ofizialak prozesatu, zati txikitan banatu eta haien bektoreak sortzen ditugu Gemini APIa erabiliz. Bektore horiek PostgreSQL-n gordetzen dira
pgvectorluzapenarekin. - Bilaketa semantikoa: Erabiltzaileak galdera bat egiten duenean, galdera hori bektore bihurtu eta datu-basean antzekoen diren zatiak berreskuratzen ditugu.
- Belaunaldia: Berreskuratutako zatiak testuinguru gisa bidaltzen dizkiogu Geminiri, eta honek erantzun fidagarria sortzen du, Euskadiko mugikortasun datu zehatzetan oinarrituta.