முதன்மை வழிசெலுத்தல்

உங்கள் RAG செயலாக்கத்தை Postgres கையாளுமா?

RAG செயல்பாடுகளை pgai-யின் தரவுத்தள-முதல் அணுகுமுறை எங்கு எளிதாக்குகிறது, சிக்கலான பணிகளுக்கு எங்கு கூடுதல் நெகிழ்வு தேவை என்பதைச் சோதித்தோம்.

செயலாக்கச் சுருக்கம்

  • LLM-களால் ஒரே நேரத்தில் குறிப்பிட்ட அளவு உரையை மட்டுமே “பார்க்க” முடியும். இதுவே சூழல் சாளரம். சிறிய பணிகளுக்கு இது ஏற்றது. ஆனால் அறிவுத் தளம் ஆயிரக்கணக்கான பக்கங்களைக் கொண்டிருந்தால் இது செயலிழக்கத் தொடங்கும். சூழல் சாளரம் போதுமானதாக இருந்தாலும், “வைக்கோல் போரில் ஊசியைத் தேடும்” சிக்கலால் செயல்திறன் குறையலாம்.

  • RAG (‘மீட்டெடுப்பால் மேம்படுத்தப்பட்ட உருவாக்கம்’) மிகவும் பொதுவான அணுகுமுறையாக உருவெடுத்துள்ளது. இதில் அறிவுத் தளம் ஒன்றைப் பராமரித்து (ஆவணங்கள், விக்கிகள், கொள்கைகள், எழுத்துப்பதிவுகள் போன்றவை), பயனரின் வினாவில் பொருள்சார் தேடலை இயக்கி உட்பொதிவுகள் மூலம் மிகவும் தொடர்புடைய பகுதிகளை மீட்டு, கேள்வியுடன் அவற்றையும் LLM-க்கு வழங்குகிறீர்கள். இது மாடலின் சூழலைக் கட்டுப்படுத்துகிறது. சரியாகச் செயல்படுத்தினால் பதில்களின் தரத்தை மேம்படுத்தி, கற்பனையான தவறான தகவல்களைக் குறைக்கலாம்.

  • pgai என்பது நம்பகமான திறந்த மூலத் தரவுத்தளமான PostgreSQL மீது “செயற்கை நுண்ணறிவு மீட்டெடுப்பு” பணிப்பாய்வுகளை உருவாக்க உதவும் திறந்த மூல Postgres நீட்டிப்பும் அதனுடன் இணைந்த கருவித்தொகுப்பும் ஆகும்.

  • உட்பொதிவுகளுக்கான “வெறும் சேமிப்பகமாக” தரவுத்தளத்தைக் கருதுவதற்குப் பதிலாக, வழக்கமான RAG செயலாக்கத்தின் பெரும்பகுதியைத் தரவுத்தள அடுக்கிற்குள் கொண்டுவருவதே முக்கிய நோக்கம். அதாவது, உள்ளெடுத்தல் → துண்டாக்குதல் → உட்பொதித்தல் → உட்பொதிவுகளை ஒத்திசைவாக வைத்திருத்தல்.

  • ஆரம்பக் கருத்துப்படி இது நம்பிக்கையளிக்கிறது. ஆனால் உங்கள் RAG செயலாக்கம் ஓரளவு சிக்கலானதாக மாறினால்கூட, குறிப்பாகத் துண்டாக்கும் அணுகுமுறைகளில், இது பொருத்தமாக இருப்பதில்லை. இருப்பினும், இந்தத் திட்டத்தை நாங்கள் தொடர்ந்து உன்னிப்பாகக் கவனிப்போம்.

RAG அணுகுமுறை

RAG-ஐ உருவாக்கப் பல வழிகள் உள்ளன. வெவ்வேறு RAG அணுகுமுறைகள் குறித்த விரிவான விளக்கத்திற்கு தனிப்பயனாக்கப்பட்ட RAG தீர்வுகளின் நடைமுறை எடுத்துக்காட்டுகள் என்ற கட்டுரையைப் படியுங்கள். தரத்தில் கவனம் செலுத்தத் தொடங்கியதும் வடிவமைப்பு வாய்ப்புகள் வியக்கத்தக்க அளவுக்கு ஆழமாகின்றன. பொதுவான “இயல்புநிலை” அணுகுமுறை பெரும்பாலும் இவ்வாறு இருக்கும்:

  1. ஆவணங்களின் தொகுப்பை எடுத்துக்கொள்ளுங்கள்.

  2. அவற்றைத் துண்டுகளாகப் பிரியுங்கள். இதைச் செய்யப் பல முறைகள் உள்ளன. எடுத்துக்காட்டாக, பத்திகள் அல்லது பொருள்சார் குழுக்கள் அடிப்படையில் பிரிக்கலாம்.

  3. ஒவ்வொரு துண்டையும் ஓர் உட்பொதிவாக மாற்றுங்கள்.

  4. உட்பொதிவுகளைத் திசையன் தரவுத்தளத்தில் (Pinecone, Milvus போன்றவை) அல்லது pgvector பயன்படுத்தும் Postgres-இல் சேமியுங்கள்.

  5. வினவல் நேரத்தில், மிகவும் நெருக்கமான துண்டுகளைத் தேடி `அவற்றை LLM-க்கு வழங்குங்கள். இதையும் செய்யப் பல வழிகள் உள்ளன.

பல தொழில்நுட்ப அடுக்குகளில், படிகள் (1)–(3) தரவுத்தளத்திற்கு வெளியே பயன்பாட்டுக் குறிமுறையிலோ தரவுச் செயலாக்கத்திலோ நடைபெறுகின்றன. தரவுத்தளம் பெரும்பாலும் பின்வருவனவற்றுக்கு மட்டுமே பயன்படுத்தப்படுகிறது:

  • உட்பொதிவுகளைச் சேமித்தல்

  • உட்பொதிவுகளைத் தேடுதல்

pgai-யின் நோக்கம்

pgai என்பது அந்த எல்லையை மங்கச் செய்ய முயலும் Postgres நீட்டிப்பாகும். இது திறந்த மூலமானது; Timescale நிறுவனத்தால் உருவாக்கப்பட்டது.

உங்கள் பயன்பாடு உட்பொதிவுகளைத் தானாக நிர்வகிக்க வேண்டிய ஒன்றாகக் கருதுவதற்குப் பதிலாக, pgai அவற்றைத் தரவுத்தள அம்சமாக்குகிறது:

  • எந்த அட்டவணை அல்லது ஆவணங்களை உட்பொதிக்க வேண்டும் என்பதை நீங்கள் வரையறுக்கிறீர்கள்.

  • உட்பொதித்தல் மாடலையும் துண்டாக்கும் உத்தியையும் குறிப்பிடுகிறீர்கள்.

  • மூலத் தரவு மாறும்போது உட்பொதிவுகளைப் புதுப்பித்த நிலையில் வைத்திருப்பது உட்பட மற்ற அனைத்தையும் pgai நிர்வகிக்கிறது.

இதன் வாக்குறுதி கவர்ச்சிகரமானது:

  • பராமரிக்க வேண்டிய தனிப்பயன் இணைப்புக் குறிமுறை குறையும்.

  • அடிப்படை மூல ஆவணங்கள் மாறும்போது உட்பொதிவுகளைப் ‘புதிதாக’ வைத்திருப்பது எளிதாக வேண்டும்.

  • மறுமுயற்சிகள், பயன்பாட்டு வரம்புகள், தோல்வியடைந்த பணிகள் போன்றவற்றை Postgres/pgai நிர்வகிக்கிறது.

வாசகருக்கான குறிப்பு: மற்றொரு பிரபலமான RAG Postgres நீட்டிப்பான pgvector, pgai-க்குள் தொகுக்கப்பட்டுள்ளது. pgvector, Postgres-க்குத் திசையன் சேமிப்பையும் ஒற்றுமைத் தேடலையும் சேர்க்கிறது. அதன் மீது கட்டமைக்கப்பட்ட pgai, துண்டாக்குதல், உட்பொதித்தல், உட்பொதிவுகளைப் புதுப்பித்த நிலையில் வைத்திருத்தல் போன்ற RAG செயலாக்கப் படிகளைத் தானியக்கமாக்குகிறது.

pgai குறித்த ஆரம்பக் கருத்துகள்

எங்களுக்குப் பிடித்தவை

1) இதை இயக்கத் தொடங்குவது எளிது.

எல்லாம் திட்டமிட்டபடி நடந்தால் செயல்முறை ஓரளவு எளிமையானது:

  • Timescale Docker படிமங்களைப் பதிவிறக்குங்கள். அவை தரவுத்தளத்தையும் பணியாளரையும் கொண்டிருக்கும்.

  • உங்கள் உட்பொதித்தல் வழங்குநரின் API விசையை வழங்குங்கள்.

  • திசையாக்கியை அறிவிக்கச் சிறிதளவு SQL-ஐ இயக்குங்கள். அதாவது, எதை உட்பொதிப்பது, எவ்வாறு துண்டாக்குவது, எந்த மாடலைப் பயன்படுத்துவது என்பவற்றைக் குறிப்பிடுங்கள்.

அதன்பின், திசையாக்கிப் பணியாளர் தனிச் செயல்முறையாக இயங்கி ஒத்திசைவற்ற முறையில் உட்பொதிவுகளை உருவாக்க pgai ஏற்பாடு செய்கிறது. எடுத்துக்காட்டாக, ஒவ்வொரு 5 நிமிடங்களுக்கும் அல்லது நீங்கள் விரும்பும் இடைவெளியிலும் இதைச் செய்யலாம்.

2) முழுச் செயலாக்கத்தையும் தரவுத்தளத்திற்கு “அருகில்” செய்வது சிறப்பாக உள்ளது.

pgai அட்டவணைகளிலிருந்து உள்ளடக்கத்தை உள்ளெடுக்கலாம். S3 போன்ற இடங்களிலிருந்து ஆவணங்களை ஏற்றி, அவற்றைப் பகுத்து, துண்டாக்கி, உட்பொதிக்கவும் முடியும். PDF, Markdown போன்ற வெவ்வேறு உரை ஆவண வடிவங்களையும் இது கையாளும்.

கட்டுப்பாடாகத் தோன்றியவை

1) பெருமளவு கட்டுப்பாட்டை இழக்கிறீர்கள். RAG-க்கு சில நேரங்களில் அந்தக் கட்டுப்பாடு தேவை.

பதில்களின் தரத்தை அடிப்படையாகக் கொண்டு அளவிடும்போது, உயர் செயல்திறன் கொண்ட RAG அமைப்புகளுக்குப் பெரும்பாலும் பின்வருவது போன்ற தனிப்பயன் செயலாக்கங்கள் தேவைப்படுகின்றன:

  • தலைப்புகள், பக்கங்கள், பேச்சாளர் மாறும் இடங்கள் போன்றவற்றின் அடிப்படையிலான தனிப்பயன் துண்டாக்கும் விதிகள்

  • பிரிவுத் தலைப்புகள், நேர முத்திரைகள், ஆசிரியர்கள், ஆவண வகை ஆகியவற்றைத் தக்கவைக்கும், மேனிலைத் தரவை உணரும் துண்டாக்குதல்

  • ஒவ்வொரு ஆவண வகைக்கும் வெவ்வேறு உட்பொதித்தல் உத்திகள்

மேற்கண்டவற்றில் pgai குறைவான நெகிழ்வையே வழங்குகிறது.

தற்போது இரண்டு முக்கியத் துண்டாக்கும் உத்திகள் உள்ளன: எழுத்துருத் தொகுதி உரைப் பிரிப்பான், மீள்சுழற்சி எழுத்துருத் தொகுதி உரைப் பிரிப்பான். துண்டாக்காத விருப்பமும் உள்ளது. சில பயன்பாடுகளுக்கு அது போதுமானதாக இருக்கலாம். ஆனால் நடைமுறைப் பயன்பாட்டில் உள்ள பல RAG அமைப்புகளுக்கு அதிகத் தனிப்பயனாக்கம் தேவைப்படுகிறது.

Chonkie போன்ற நூலகங்களில் காணப்படும் மேம்பட்ட துண்டாக்கும் உத்திகளில் சிலவற்றை Timescale இணைத்து, Anthropic-இன் சூழல்சார் மீட்டெடுப்பு போன்ற மேம்பட்ட வடிவமைப்புகளையும் ஆதரித்தால் சிறப்பாக இருக்கும்.

2) உரைக்கு முன்னுரிமை; பல்முறைமைக்கு அல்ல.

பல சுவாரசியமான RAG சிக்கல்கள் இனியும் உரையை மட்டும் சார்ந்தவை அல்ல:

  • வரைபடங்களைக் கொண்ட PDF-கள்

  • திரைப்பிடிப்புகள் அல்லது படங்கள்

  • ஒலிப்பதிவுகள்

  • காணொளித் துணுக்குகள்

இந்த மூலங்களிலிருந்து “உரையைப் பிரித்தெடுக்க” முடிந்தாலும், அது உண்மையான பல்முறைமை உட்பொதித்தல் செயலாக்கத்திற்குச் சமமானதல்ல.

S3-இல் சேமிக்கப்பட்ட பெரிய படங்கள், ஒலி, காணொளி ஆகியவற்றை ஏற்றுதல் → துண்டாக்குதல் → உட்பொதித்தல் வரை வலுவான ஒத்திசைவுடன் பல்முறைமை மாடல்களை pgai முழுமையாக ஆதரித்தால் அது மிகவும் பயனுள்ளதாக இருக்கும். ஆனால் இன்று இது உரை உட்பொதித்தல் பணிப்பாய்வாகவே உள்ளது.

3) உட்பொதிவுகள் மட்டுமே தேவை என்றால், உங்களுக்கு pgai தேவைப்படாமல் இருக்கலாம்.

உங்கள் உள்ளெடுத்தல் செயலாக்கம் ஏற்கெனவே தனிப்பயனாக்கப்பட்டிருந்தால் அல்லது அவ்வாறு இருக்க வேண்டுமென்றால், “உரைத் துண்டுகளை உட்பொதிப்பது” RAG-இன் கடினமான பகுதி அல்ல. அத்தகைய சூழலில், சிக்கலின் மிகவும் எளிய பகுதியையே pgai தீர்க்கிறது.

மேலும், உங்கள் அறிவுத் தளம் அரிதாகவே புதுப்பிக்கப்பட்டால், தானியக்க உட்பொதிவு ஒத்திசைவின் பயன் அவ்வளவு அதிகமாக இருக்காது.

உரையிலிருந்து SQL உருவாக்கும் அடுக்கு

உங்கள் தரவுத்தளங்கள் மீது உரையிலிருந்து SQL உருவாக்கும் இடைமுகத்தை நிறுவுவது pgai-ஐப் பயன்படுத்துவதற்கான ஒரு சிறந்த வழியாகும். pgai வழங்கும் semantic_catalog தொகுதி மூலம் இதை மிகவும் எளிதாகச் செய்யலாம். இவ்வாறு அமைத்தால் போதும்:

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"

பின்னர் pgai semantic-catalog create மூலம் உங்கள் தரவு அகராதிகளை semantic catalog சேகரிக்கச் செய்யுங்கள். இது உங்கள் தரவுச் சேமிப்பிலிருந்து பின்வருவது போன்ற சூழலை உருவாக்குகிறது:

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....

இந்தச் சூழலை இப்போது pgai பல்வேறு வழிகளில் பயன்படுத்தலாம்:

பொருள்சார் தேடல் மூலம்:

உங்கள் இயல்புமொழி வினவலுக்குத் தொடர்புடையதாக இருக்கக்கூடிய அட்டவணைகள், செயல்பாடுகள் மற்றும் பிற பொருட்களை இந்த வினவல் வழங்கும்:

Bash

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

மூலச் சூழலைப் பெறுதல்:

உங்கள் இயல்புமொழி வினவலுடன் தொடர்புடைய மூல YAML சூழலை இது காட்சிப்படுத்தும்:

Bash

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

SQL-ஐ உருவாக்குதல்:

அல்லது உங்கள் வினவலுக்குப் பதிலளிக்கத் தேவையான மூல SQL-ஐ நேரடியாக உருவாக்கலாம். முந்தைய படியிலிருந்து கிடைத்த சூழல் LLM-க்கு அனுப்பப்பட்டு, பதில் உருவாக்கப்படுகிறது:

Bash

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

இப்போது pgai-ஐ எவ்வாறு பயன்படுத்தலாம்

ஒப்பீட்டளவில் எளிய RAG அமைப்பை உருவாக்குகிறீர்கள் என்றால், பின்வருவனவற்றை விரும்பும்போது pgai-ஐ முயன்று பார்ப்பது பயனுள்ளது:

  • முதன்மைப் பதிவமைப்பாக Postgres,

  • குறைந்தபட்ச இணைப்புக் குறிமுறை,

  • தானாகவே ஒத்திசைவாக இருக்கும் உட்பொதிவுகள்,

  • உங்கள் தரவுத்தளங்களுக்கு உரையிலிருந்து SQL உருவாக்கும் வசதியை விரைவாகப் பயன்படுத்தும் வழி,

  • புதிய RAG கருவிகளையும் Postgres நீட்டிப்புகளையும் பரிசோதித்துப் பார்ப்பது.

எங்கு எச்சரிக்கையாக இருப்போம்

உங்கள் RAG செயலாக்கத்திற்குப் பின்வருவனவற்றில் ஏதேனும் தேவைப்பட்டால், pgai முதிர்ச்சியடையும் வரை காத்திருப்பது நல்லது:

  • மிகவும் தனிப்பயனாக்கப்பட்ட உள்ளெடுத்தல் அல்லது துண்டாக்குதல் தருக்கம்

  • வெவ்வேறு பகுப்பாய்வுத் தேவைகளைக் கொண்ட பல ஆவண வகைகள்

  • பல்முறைமை உட்பொதிவுகள்

இறுதியாக, pgvector பரவலாக ஏற்கப்பட்டுள்ளது என்பது தெளிவாக இருந்தாலும், pgai அதே அளவு ஆர்வத்தையும் அதனால் கிடைக்கும் ஆதரவையும் பெறுமா என்பது தெளிவில்லை. இது அறிமுகமாகி சுமார் 18 மாதங்களே ஆகியுள்ளன என்பதையும் கருத்தில் கொள்ள வேண்டும்.

காலப்போக்கில் Timescale-இன் pgai பயன்பாடு அதிகரித்ததைக் காட்டும் GitHub நட்சத்திர வரலாற்று வரைபடம்.

சுருக்கம்

வழக்கமான செயல்பாட்டுப் பணிகளில் பெரும்பகுதியைத் தரவுத்தளங்களே செய்ய அனுமதித்து, பயன்பாட்டுக் குறிமுறையை எளிமையாக்கும் சுவாரசியமான RAG அணுகுமுறையே pgai.

தற்போது இது:

  • எளிய RAG அமைப்புகளில் பயன்படுத்தக்கூடியதாகவும் உண்மையிலேயே வசதியானதாகவும் உள்ளது

  • அதிகம் தனிப்பயனாக்கப்பட்ட செயலாக்கங்களுக்கு, குறிப்பாகப் பல்முறைமை செயலாக்கங்களுக்கு, போதுமான நெகிழ்வைக் கொண்டிருக்கவில்லை

இது நம்பிக்கையளிக்கிறது. எவ்வாறு முன்னேறுகிறது என்பதைக் கவனிக்க வேண்டிய திட்டம் என்பதில் சந்தேகமில்லை.

ஆசிரியர்

Andrew Liubinas