L-LLMs jistgħu “jaraw” biss ammont limitat ta’ test f’daqqa (it-tieqa tal-kuntest). Dan jaħdem għal kompiti żgħar, iżda ma jibqax effettiv meta bażi tal-għarfien tkun mifruxa fuq eluf ta’ paġni. Anke meta t-tieqa tal-kuntest tkun biżżejjed, il-prestazzjoni xorta tista’ tonqos minħabba l-problema tal-“labra f’munzell tiben”.
RAG (“ġenerazzjoni msaħħa bl-irkupru”) sar mudell komuni ħafna fejn iżżomm bażi tal-għarfien (dokumenti, wikis, politiki, traskrizzjonijiet, eċċ.), twettaq tfittxija semantika fuq il-mistoqsija tal-utent biex, permezz tal-embeddings, tirkupra l-aktar siltiet rilevanti, u mbagħad tgħaddi dawk il-biċċiet lill-LLM flimkien mal-mistoqsija. Dan jillimita l-kuntest tal-mudell u, meta jsir sew, jista’ jtejjeb il-kwalità tat-tweġibiet u jnaqqas l-alluċinazzjonijiet.
pgai hija estensjoni open source għal Postgres (flimkien ma’ għodod oħra) li tgħinek tibni flussi tax-xogħol ta’ “rkupru bl-IA” fuq PostgreSQL, il-bażi tad-data open source affidabbli.
L-idea ewlenija hi li aktar mill-pipeline standard ta’ RAG jitmexxa fis-saff tal-bażi tad-data (daħħal → aqsam → oħloq embeddings → żomm l-embeddings sinkronizzati), minflok il-bażi tad-data titqies bħala “sempliċement ħażna” għall-embeddings.
L-ewwel impressjonijiet huma li hija promettenti, iżda malli l-pipeline ta’ RAG isir imqar kemxejn ikkumplikat (b’mod partikolari fl-approċċi għat-tqassim f’biċċiet), ma tibqax adattata. Madankollu, se nibqgħu nsegwu dan il-proġett mill-qrib.
Hemm ħafna modi kif tibni RAG. Għal analiżi aktar dettaljata tal-approċċi differenti, aqra Eżempji Prattiċi ta’ Soluzzjonijiet RAG Personalizzati. Meta l-kwalità tkun importanti, il-possibbiltajiet tad-disinn isiru kumplessi b’mod sorprendenti, u l-approċċ “standard” komuni ġeneralment ikun hekk:
Ħu ġabra ta’ dokumenti.
Aqsamhom f’biċċiet. Hemm ħafna metodi differenti biex tagħmel dan (eż. paragrafi jew raggruppamenti semantiċi).
Ikkonverti kull biċċa f’embedding.
Aħżen l-embeddings f’bażi tad-data vettorjali (Pinecone, Milvus, eċċ.) jew f’Postgres permezz ta’ pgvector.
Meta ssir mistoqsija, fittex l-eqreb biċċiet `u għaddihom lill-LLM (għal darb’oħra... hemm ħafna modi kif tagħmel dan ukoll).
F’ħafna stacks, il-passi (1)–(3) isiru barra mill-bażi tad-data, fil-kodiċi tal-applikazzjoni jew f’pipeline tad-data, u l-bażi tad-data tintuża l-aktar biex:
taħżen l-embeddings
tfittex fl-embeddings
pgai hija estensjoni open source għal Postgres, żviluppata minn Timescale), li tipprova tnaqqas din il-firda.
Minflok tittratta l-embeddings bħala xi ħaġa li l-applikazzjoni tiegħek timmaniġġja manwalment, pgai tagħmilhom funzjonalità tal-bażi tad-data:
Tiddefinixxi liema tabella jew dokumenti trid tikkonverti f’embeddings.
Tispeċifika l-mudell tal-embeddings u strateġija għat-tqassim f’biċċiet.
pgai timmaniġġja l-bqija, inkluż li żżomm l-embeddings aġġornati hekk kif tinbidel id-data tas-sors.
Il-wegħda hija attraenti:
Inqas kodiċi ta’ konnessjoni apposta li jeħtieġ manutenzjoni.
Għandu jkun aktar faċli li l-embeddings jinżammu “friski” hekk kif jinbidlu d-dokumenti tas-sors sottostanti.
Postgres/pgai jimmaniġġjaw it-tentattivi mill-ġdid, il-limiti tar-rata, il-kompiti li jfallu, eċċ.
Nota għall-qarrej: pgai tinkludi fiha lil pgvector (estensjoni oħra popolari ħafna ta’ Postgres għal RAG). pgvector iżżid il-ħażna vettorjali u t-tfittxija bix-xebh ma’ Postgres, filwaqt li pgai tibni fuqha biex tawtomatizza passi tal-pipeline ta’ RAG bħat-tqassim f’biċċiet, il-ħolqien tal-embeddings u ż-żamma tagħhom aġġornati.
1) Faċli biex tibda tużaha.
Meta kollox jimxi kif mistenni, il-proċess huwa pjuttost sempliċi:
Niżżel l-images ta’ Docker ta’ Timescale (bażi tad-data + worker).
Ipprovdi l-API key tal-fornitur tal-embeddings tiegħek.
Ħaddem ftit SQL biex tiddefinixxi l-vectoriser (bażikament: x’għandu jinbidel f’embedding, kif jinqasam f’biċċiet u liema mudell jintuża).
Wara dan, pgai tirranġa biex worker tal-vectoriser jaħdem bħala proċess separat u jiġġenera l-embeddings b’mod asinkroniku (eż. kull 5 minuti, jew skont il-frekwenza li trid).
2) Huwa konvenjenti li l-pipeline kollu jitħaddem “qrib” il-bażi tad-data.
pgai tista’ ddaħħal kontenut minn tabelli, kif ukoll ittella’ dokumenti minn postijiet bħal S3, imbagħad tipproċessahom, taqsamhom f’biċċiet u toħloq l-embeddings tagħhom. Tista’ wkoll tipproċessa formati differenti ta’ dokumenti testwali bħal PDFs, Markdown, eċċ.
1) Titlef ħafna kontroll (u xi drabi RAG jeħtieġ il-kontroll).
Sistemi RAG ta’ prestazzjoni għolja (meta jitkejlu skont il-kwalità tat-tweġibiet) spiss jeħtieġu pipelines personalizzati, bħal:
regoli personalizzati għat-tqassim f’biċċiet (skont l-intestaturi, il-paġna, il-bidliet fil-kelliem, eċċ.)
tqassim f’biċċiet li jqis il-metadata (iżomm it-titli tat-taqsimiet, il-marki tal-ħin, l-awturi u t-tip ta’ dokument)
strateġiji differenti għall-embeddings skont it-tip ta’ dokument
pgai toffri inqas flessibbiltà f’dawn l-oqsma.
Bħalissa hemm żewġ strateġiji ewlenin għat-tqassim: splitter tat-test skont il-karattri u splitter rikursiv skont il-karattri, kif ukoll l-għażla li ma jsir ebda tqassim. Dan jista’ jkun biżżejjed għal ċerti każijiet ta’ użu, iżda ħafna sistemi RAG fil-produzzjoni jeħtieġu aktar personalizzazzjoni.
Ikun eċċellenti jekk Timescale tkun tista’ tinkorpora wħud mill-istrateġiji aktar sofistikati għat-tqassim li nsibu f’libreriji bħal Chonkie, u bl-istess mod tappoġġja disinni avvanzati bħall-irkupru kuntestwali ta’ Anthropic.
2) Iffukata l-ewwel fuq it-test, mhux multimodali.
Ħafna problemi interessanti ta’ RAG m’għadhomx jinvolvu biss test:
PDFs b’dijagrammi
screenshots / stampi
reġistrazzjonijiet tal-awdjo
siltiet tal-vidjo
Anke jekk tista’ “tiġbed it-test” minn dawn is-sorsi, dan mhuwiex l-istess bħal pipeline tassew multimodali għall-embeddings.
Jekk eventwalment pgai tappoġġja mudelli multimodali mill-bidu sal-aħħar (tagħbija → tqassim → embeddings għal stampi kbar, awdjo u vidjo maħżuna f’S3, b’sinkronizzazzjoni robusta), din tkun proposta konvinċenti; iżda llum hija fluss tax-xogħol għall-embeddings tat-test.
3) Jekk teħtieġ biss embeddings, jista’ jkun li ma teħtieġx pgai.
Jekk il-pipeline tad-dħul tiegħek diġà huwa personalizzat (jew jeħtieġ li jkun), allura l-“ħolqien ta’ embeddings minn biċċiet ta’ test” mhuwiex l-aktar parti diffiċli ta’ RAG. F’dak il-każ, pgai qed issolvi l-eħfef parti tal-problema.
Barra minn hekk, jekk il-bażi tal-għarfien tiegħek tiġi aġġornata rarament, il-valur tas-sinkronizzazzjoni awtomatika tal-embeddings ikun inqas.
Mod partikolarment tajjeb kif tuża pgai jkun li timplimenta interfaċċa text-to-SQL fuq il-bażijiet tad-data tiegħek. Dan jista’ jsir pjuttost faċilment bil-modulu semantic_catalog offrut minn pgai. Sempliċement ikkonfigurah hekk:
Bash
u uża l-katalgu semantiku biex jiġbor id-dizzjunarji tad-data tiegħek bil-kmand pgai semantic-catalog create. Dan jiġġenera kuntest mill-maħżen tad-data tiegħek li jkun bejn wieħed u ieħor hekk:
Plain Text
Dan il-kuntest issa huwa disponibbli għal pgai b’diversi modi;
Permezz ta’ tfittxija semantika:
Din il-query tirritorna t-tabelli, il-funzjonijiet u oġġetti oħra li jistgħu jkunu rilevanti għall-mistoqsija tiegħek bil-lingwa naturali:
Bash
Ikseb il-kuntest mhux ipproċessat:
Dan jirrendi l-kuntest YAML mhux ipproċessat relatat mal-mistoqsija tiegħek bil-lingwa naturali:
Bash
Iġġenera SQL:
Jew tista’ tiġġenera direttament l-SQL mhux ipproċessat meħtieġ biex twieġeb il-mistoqsija tiegħek. Il-kuntest mill-pass preċedenti jintbagħat lil LLM u tiġi ġġenerata tweġiba:
Bash
Jekk qed tibni sistema RAG relattivament sempliċi, ta’ min tipprova pgai jekk trid:
Postgres bħala s-sistema uffiċjali tar-rekords tiegħek,
ammont minimu ta’ kodiċi ta’ konnessjoni,
embeddings li jibqgħu sinkronizzati awtomatikament,
mod veloċi kif tapplika text-to-SQL għall-bażijiet tad-data tiegħek,
tesperimenta b’għodod RAG u estensjonijiet ġodda għal Postgres.
Probabbilment ikun aħjar li tistenna qabel tuża pgai jekk il-pipeline RAG tiegħek jeħtieġ xi waħda minn dawn:
loġika estensiva u personalizzata għad-dħul jew għat-tqassim f’biċċiet
ħafna tipi ta’ dokumenti b’rekwiżiti differenti għall-ipproċessar
embeddings multimodali
Fl-aħħar nett, filwaqt li jidher ċar li pgvector kisbet adozzjoni qawwija, mhuwiex ċar jekk pgai hux se tikseb l-istess livell ta’ interess u għalhekk ta’ appoġġ (għalkemm ilha teżisti biss madwar 18-il xahar).


pgai hija approċċ interessanti għal RAG li jħalli lill-bażijiet tad-data jwettqu aktar mix-xogħol operattiv ta’ rutina, biex il-kodiċi tal-applikazzjoni tiegħek ikun aktar sempliċi.
Bħalissa hija:
użabbli u tassew pjaċevoli għal konfigurazzjonijiet RAG sempliċi
mhux flessibbli biżżejjed għal pipelines aktar personalizzati (speċjalment multimodali)
Hija promettenti u żgur ta’ min isegwiha biex naraw kif se tiżviluppa.