Príomhloingseoireacht

An féidir le Postgres do phíblíne RAG a láimhseáil?

Thástálamar cur chuige pgai atá dírithe ar an mbunachar sonraí féachaint cá simplíonn sé oibríochtaí RAG—agus cá dteastaíonn níos mó solúbthachta fós ó ualaí oibre casta.

Achoimre feidhmiúcháin

  • Ní féidir le LLManna ach méid teoranta téacs a “fheiceáil” ag aon am amháin (an fhuinneog chomhthéacs). Oibríonn sé seo do thascanna beaga, ach teipeann air nuair a chuimsíonn bonn eolais na mílte leathanach. Fiú nuair is leor an fhuinneog chomhthéacs, féadfaidh an fheidhmíocht dul in olcas fós de bharr na faidhbe “snáthaid i gcruach féir”.

  • Tá RAG (‘giniúint bhreisithe le haisghabháil’) anois ina phatrún an-choitianta: coinnítear bonn eolais (doiciméid, vicithe, beartais, tras-scríbhinní, etc.), déantar cuardach séimeantach ar iarratas úsáideora chun na sleachta is ábhartha a aisghabháil le leabuithe, agus ansin cuirtear na smutáin sin agus an cheist isteach san LLM. Cuireann sé seo srian le comhthéacs na samhla agus, nuair a dhéantar i gceart é, féadfaidh sé cáilíocht na bhfreagraí a fheabhsú agus siabhránachtaí a laghdú.

  • Is eisínteacht foinse oscailte Postgres é pgai (mar aon le huirlisí gaolmhara) a chuidíonn leat sreafaí oibre “aisghabhála IS” a thógáil ar bharr PostgreSQL, an bunachar sonraí foinse oscailte iontaofa.

  • Is é an príomhsmaoineamh níos mó den ghnáthphíblíne RAG a bhrú isteach i sraith an bhunachair sonraí (ionghabháil → smutánú → leabú → leabuithe a choinneáil sioncronaithe), seachas caitheamh leis an mbunachar sonraí mar “stóras amháin” do leabuithe.

  • Is é an chéad tuairim atá againn go bhfuil gealladh faoi, ach nach bhfuil sé oiriúnach a luaithe a éiríonn do phíblíne RAG beagán casta fiú (go háirithe maidir le cur chuige smutánaithe). Beimid ag coinneáil súil ghéar ar an tionscadal seo, áfach.

Patrún RAG

Tá go leor bealaí ann chun RAG a thógáil. Chun miondealú níos faide ar na cuir chuige éagsúla, léigh Samplaí Praiticiúla de Réitigh RAG Saincheaptha. Éiríonn an réimse dearaidh thar a bheith domhain nuair a bhíonn cáilíocht tábhachtach, agus is mar seo a bhíonn an cur chuige “réamhshocraithe” coitianta de ghnáth:

  1. Tóg carn doiciméad.

  2. Roinn ina smutáin iad. Tá go leor modhanna éagsúla ann chun é seo a dhéanamh (m.sh. ailt, grúpálacha séimeantacha).

  3. Tiontaigh gach smután ina leabú.

  4. Stóráil na leabuithe i mbunachar sonraí veicteoirí (Pinecone, Milvus, etc.) nó in Postgres le pgvector.

  5. Ag am an iarratais, cuardaigh na smutáin is gaire `agus cuir isteach san LLM iad (arís...tá go leor bealaí ann chun é seo a dhéanamh freisin).

In go leor cruacha, tarlaíonn céimeanna (1)–(3) lasmuigh den bhunachar sonraí i gcód feidhmchláir nó i bpíblíne sonraí, agus úsáidtear an bunachar sonraí den chuid is mó chun:

  • leabuithe a stóráil

  • leabuithe a chuardach

Cuspóir pgai

Is eisínteacht Postgres é pgai (foinse oscailte, arna forbairt ag Timescale) a dhéanann iarracht an teorainn sin a dhoiléiriú.

In áit caitheamh le leabuithe mar rud a bhainistíonn d’fheidhmchlár de láimh, déanann pgai gné den bhunachar sonraí díobh:

  • Sainíonn tú cén tábla nó cé na doiciméid is mian leat a leabú.

  • Sonraíonn tú an tsamhail leabaithe agus straitéis smutánaithe.

  • Bainistíonn pgai an chuid eile, lena n-áirítear na leabuithe a choinneáil cothrom le dáta de réir mar a athraíonn na bunsonraí.

Tá an gealltanas mealltach:

  • Níos lú cód nasctha saincheaptha le cothabháil.

  • Ba cheart go mbeadh sé níos éasca na leabuithe a choinneáil ‘úr’ de réir mar a athraíonn na bundoiciméid.

  • Bainistíonn Postgres/pgai d’athiarrachtaí, teorainneacha ráta, jabanna teipthe, etc.

Nóta don léitheoir: cuimsíonn pgai pgvector (eisínteacht RAG eile a bhfuil an-tóir uirthi do Postgres). Cuireann pgvector stóráil veicteoirí agus cuardach cosúlachta le Postgres, agus tógann pgai air sin chun céimeanna phíblíne RAG a uathoibriú, amhail smutánú, leabú agus na leabuithe sin a choinneáil cothrom le dáta.

Na chéad tuairimí ar pgai

Na rudaí a thaitin linn

1) Is furasta é a chur ar bun.

Tá an bealach is simplí réasúnta furasta:

  • Faigh íomhánna Docker Timescale (bunachar sonraí + oibrí).

  • Tabhair eochair API do sholáthraí leabaithe.

  • Rith méid beag SQL chun an veicteoirí a shainiú (go bunúsach: cad atá le leabú, conas é a smutánú agus cén tsamhail atá le húsáid).

Ina dhiaidh sin, socraíonn pgai go rithfidh oibrí veicteoirithe mar phróiseas ar leith agus go nginfidh sé leabuithe go neamhshioncronach (m.sh. gach 5 nóiméad, nó cibé minicíocht is mian leat).

2) Is deas an phíblíne iomlán a rith “gar” don bhunachar sonraí.

Is féidir le pgai ábhar a ionghabháil ó tháblaí agus doiciméid a lódáil ó áiteanna ar nós S3, ansin iad a pharsáil + a smutánú + a leabú. Is féidir leis formáidí éagsúla doiciméad téacs a láimhseáil freisin, amhail PDFanna, Markdown, etc.

Na srianta a bhraitheamar

1) Cailleann tú cuid mhór smachta (agus bíonn smacht de dhíth ar RAG uaireanta).

Is minic a bhíonn píblínte saincheaptha de dhíth ar chórais RAG ardfheidhmíochta (ó thaobh cháilíocht na bhfreagraí de), mar shampla:

  • rialacha saincheaptha smutánaithe (de réir ceannteidil, leathanaigh, sealanna cainteoirí, etc.)

  • smutánú a chuireann meiteashonraí san áireamh (coinnigh teidil rannán, stampaí ama, údair, cineál doiciméid)

  • straitéisí éagsúla leabaithe do gach cineál doiciméid

Cuireann pgai níos lú solúbthachta ar fáil ina leith sin.

Faoi láthair tá dhá phríomhstraitéis smutánaithe ann: scoilteoir téacs carachtar agus scoilteoir athchúrsach téacs carachtar, mar aon le rogha gan smutánú. D’fhéadfadh sé sin a bheith leordhóthanach i gcásanna áirithe, ach teastaíonn tuilleadh saincheaptha ó go leor córas RAG táirgthe.

Bheadh sé iontach dá bhféadfadh Timescale cuid de na straitéisí smutánaithe níos sofaisticiúla a fheictear i leabharlanna ar nós Chonkie a ionchorprú, agus tacú ar an gcaoi chéanna le dearaí ardfhorbartha amhail aisghabháil chomhthéacsúil Anthropic.

2) Téacs ar dtús, ní ilmhódach.

Ní fadhbanna téacs amháin iad go leor fadhbanna spéisiúla RAG a thuilleadh:

  • PDFanna ina bhfuil léaráidí

  • gabhálacha scáileáin / íomhánna

  • taifeadtaí fuaime

  • gearrthóga físe

Fiú más féidir leat “téacs a bhaint” as na foinsí seo, ní hionann sin agus fíorphíblíne leabaithe ilmhódach.

Dá dtacódh pgai amach anseo le samhlacha ilmhódacha ó cheann ceann (lódáil → smutánú → leabú d’íomhánna móra/fuaim/físeán a stóráiltear in S3, le sioncronú láidir), bheadh sé sin mealltach; inniu, áfach, is sreabhadh oibre leabaithe téacs é.

3) Mura bhfuil uait ach leabuithe, b’fhéidir nach dteastaíonn pgai uait.

Má tá do phíblíne ionghabhála saincheaptha cheana féin (nó más gá di a bheith), ní hé “smutáin téacs a leabú” an chuid is deacra de RAG. Sa chás sin, is í an chuid is fusa den fhadhb atá pgai a réiteach.

Chomh maith leis sin, mura ndéantar do bhonn eolais a nuashonrú go minic, is lú an tairbhe a bhaineann le sioncronú uathoibríoch leabuithe.

Sraith téacs-go-SQL

Bealach an-mhaith amháin le pgai a úsáid ná comhéadan téacs-go-SQL a chur i bhfeidhm ar do bhunachair sonraí. Is furasta é seo a dhéanamh leis an modúl semantic_catalog a chuireann pgai ar fáil. Níl le déanamh ach é a chumrú mar seo:

Bash

OPENAI_API_KEY="your-OpenAPI-key-goes-here"TARGET_DB="postgres://user:password@host:port/database"CATALOG_DB="postgres://user:password@host:port/database"

agus iarr ar an gcatalóg shéimeantach d’fhoclóirí sonraí a scríobadh le pgai semantic-catalog create. Gineann sé seo comhthéacs ó do stór sonraí a bhfuil cuma mar seo air:

Plain Text

---schema: postgres_airname: aircrafttype: tabledescription: Lists aircraft models with performance characteristics and unique codes.columns:- name: model  description: Commercial name of the aircraft model.- name: range  description: Maximum flight range in kilometers.- name: class  description: Airframe class category or configuration indicator.- name: velocity  description: Cruising speed of the aircraft.- name: code  description: Three-character aircraft code serving as the primary key....

Tá an comhthéacs seo ar fáil anois do pgai ar bhealaí éagsúla;

Trí chuardach séimeantach:

Tabharfaidh an t-iarratas seo ar ais na táblaí, na feidhmeanna agus na réada eile a d’fhéadfadh a bheith ábhartha do d’iarratas i dteanga nádúrtha:

Bash

pgai semantic-catalog search -p "Your natural language question goes here!"

Faigh an comhthéacs amh:

Rindreálfaidh sé seo an comhthéacs amh YAML a bhaineann le d’iarratas i dteanga nádúrtha:

Bash

pgai semantic-catalog search -p "Your natural language question goes here!" --render

Gin SQL:

Nó is féidir leat an SQL amh a theastaíonn chun d’iarratas a fhreagairt a ghiniúint go díreach. Seoltar an comhthéacs ón gcéim roimhe seo chuig LLM agus gintear freagra:

Bash

pgai semantic-catalog generate-sql -p "Your natural language question goes here!"

Conas is féidir leat pgai a úsáid anois

Má tá córas RAG réasúnta simplí á thógáil agat, is fiú pgai a thriail más mian leat:

  • Postgres mar do chóras taifid,

  • fíorbheagán cód nasctha,

  • leabuithe a choinnítear sioncronaithe go huathoibríoch,

  • bealach tapa chun téacs-go-SQL a chur i bhfeidhm ar do bhunachair sonraí,

  • triail a bhaint as uirlisí nua RAG agus eisínteachtaí Postgres.

Cá mbeimis aireach

Is dócha gurbh fhiú fanacht sula n-úsáidfeá pgai má theastaíonn aon cheann díobh seo a leanas ó do phíblíne RAG:

  • loighic ionghabhála nó smutánaithe atá an-saincheaptha

  • go leor cineálacha doiciméad a bhfuil riachtanais éagsúla parsála acu

  • leabuithe ilmhódacha

Ar deireadh, cé gur léir go bhfuil glacadh forleathan le pgvector, níl sé soiléir an meallfaidh pgai an oiread céanna suime agus, dá bhrí sin, tacaíochta (cé nach bhfuil sé ar fáil ach le thart ar 18 mí).

Cairt star-history GitHub a léiríonn glacadh le pgai Timescale le himeacht ama.

Achoimre

Is cur chuige spéisiúil é pgai i leith RAG a ligeann do bhunachair sonraí níos mó den ghnáthobair oibríochtúil a dhéanamh, ionas gur féidir cód d’fheidhmchláir a shimpliú.

Faoi láthair, tá sé:

  • inúsáidte agus thar a bheith taitneamhach do chumraíochtaí simplí RAG

  • rótheoranta do phíblínte níos saincheaptha (go háirithe cinn ilmhódacha)

Tá gealladh faoi agus is cinnte gur fiú súil a choinneáil ar an dul chun cinn a dhéanfaidh sé.

Údar

Andrew Liubinas