ஆதாயங்கள்:
- உட்பொதித்தல் சொற்பொருள் இடத்தில் உரையை திசையனாக மாற்றுகிறது மற்றும் ஒத்த அர்த்தங்கள் நெருக்கமான திசையன்கள் என்பதை புரிந்து கொள்ளுங்கள்
- கொசைன் மற்றும் டாட் ஒற்றுமை அளவீடுகளுடன் ANN தேடல் எவ்வாறு செயல்படுகிறது என்பதை விளக்குகிறது
- மெட்டாடேட்டா வடிகட்டுதலுக்கான செலவு, அளவு மற்றும் தேவை ஆகியவற்றின் அடிப்படையில் பொதுவான திசையன் தரவுத்தளங்களைத் தேர்ந்தெடுப்பது
RAG இன் மையத்தில் ஒரு கேள்வி உள்ளது: "எந்த உரையானது பயனரின் கேள்விக்கு மிகவும் ஒத்ததாக உள்ளது?" கணினி உரையை எண்களுடன் செயலாக்குகிறது, உண்மையில் அல்ல. அதனால்தான் முதலில் உரையை அதன் அர்த்தத்தைக் கொண்ட எண்களாக மாற்ற வேண்டும். அதுதான் உட்பொதித்தல்: ஒரு உரையை அந்த உரையின் பொருளைக் குறிக்கும் எண்களின் வரிசையாக (வெக்டார்) மாற்றும் செயல்முறை. இந்த யூனிட்டை நீங்கள் முடித்தவுடன், உட்பொதித்தல் எவ்வாறு செயல்படுகிறது, ஒற்றுமை எவ்வாறு அளவிடப்படுகிறது மற்றும் சரியான திசையன் தரவுத்தளத்தை எவ்வாறு தேர்வு செய்வது என்பதை நீங்கள் அறிவீர்கள்.
உட்பொதித்தல்: அர்த்தத்தை ஒருங்கிணைப்புகளாக மொழிபெயர்த்தல்
ஒரு உட்பொதிவு மாதிரி (சிறப்புப் பயிற்சி பெற்ற செயற்கை நுண்ணறிவு) நீங்கள் வழங்கும் உரையை எடுத்துக்காட்டாக, 1024 எண்களின் திசையனாக மாற்றுகிறது. இந்த வெக்டரை பல பரிமாண இடைவெளியில் ஒரு ஒருங்கிணைப்பாக நினைத்துப் பாருங்கள். மந்திரம் இதுதான்: அர்த்தத்தில் ஒத்த உரைகள் இந்த இடத்தில் நெருக்கமான ஒருங்கிணைப்புகளாக விழும்.
ஒரு எளிய எடுத்துக்காட்டு: "வருடாந்திர விடுப்பு", "விடுமுறை உரிமை" மற்றும் "வருடாந்திர ஊதிய விடுப்பு" ஆகியவை வெவ்வேறு சொற்களைப் பயன்படுத்துகின்றன, ஆனால் ஒரே பொருளைக் குறிக்கின்றன - அவற்றின் திசையன்கள் ஒருவருக்கொருவர் நெருக்கமாக உள்ளன. "ஊதிய கணக்கு" என்பது வேறு விஷயம் - அதன் திசையன் தொலைவில் உள்ளது. எனவே பயனர் "எனக்கு எத்தனை நாட்கள் விடுமுறை உள்ளது?" நீங்கள் கேட்கும் போது, "விடுமுறை" என்ற வார்த்தை இல்லாத ஆனால் "வருடாந்திர விடுப்பு 14 நாட்கள்" என்ற ஆவணத்தைக் கூட காணலாம். கிளாசிக் முக்கிய தேடல் (வார்த்தையுடன் சரியாக பொருந்தக்கூடிய தேடல்) இதைச் செய்ய முடியாது.
உதவிக்குறிப்பு: உட்பொதிப்பதை "அர்த்தத்தின் கைரேகை" என்று நினைத்துப் பாருங்கள். ஒரே பொருளைக் கொண்ட இரண்டு வாக்கியங்களின் கைரேகைகள் ஒரே மாதிரியாகத் தோன்றும்; வார்த்தைகள் வித்தியாசமாக இருந்தாலும்.
ஒரு முக்கியமான விதி: கேள்வியை உட்பொதிக்கும்போது நீங்கள் பயன்படுத்தும் மாதிரியானது ஆவணங்களை உட்பொதிக்கும்போது நீங்கள் பயன்படுத்தும் அதே மாதிரியாக இருக்க வேண்டும். வெவ்வேறு மாதிரிகள் வெவ்வேறு இடங்களை உருவாக்குகின்றன; ஒருங்கிணைப்புகள் ஒப்பிட முடியாதவை.
ஒற்றுமையை எவ்வாறு அளவிடுவது?
இரண்டு திசையன்கள் எவ்வளவு ஒத்தவை என்பதை அளவிட பல முறைகள் உள்ளன. மிகவும் பொதுவானது கொசைன் ஒற்றுமை: இது இரண்டு திசையன்களுக்கு இடையிலான கோணத்தை அளவிடுகிறது. கோணம் சிறியதாக இருந்தால் (ஒரே திசையில் உள்ள திசையன்கள்), ஒற்றுமை அதிகமாக இருக்கும். மதிப்பு −1 மற்றும் 1 இடையே உள்ளது; 1 க்கு அருகில் = மிகவும் ஒத்த.
அளவுகோல்
இது எதை அளவிடுகிறது?
அது எப்போது விரும்பப்படுகிறது?
கொசைன்
திசையன்களுக்கு இடையே உள்ள கோணம் (திசை).
மிகவும் பொதுவானது; உரை சொற்பொருள் ஒற்றுமையில் இயல்புநிலை
புள்ளி தயாரிப்பு
திசை + அளவு ஒன்றாக
திசையன்கள் இயல்பாக்கப்பட்டால், அது கொசைன் போன்ற அதே முடிவை அளிக்கிறது; வேகமாக உள்ளது
யூக்ளிடியன் (யூக்ளிடியன் தூரம்)
ஆயத்தொலைவுகளுக்கு இடையே நேரான தூரம்
சில கிளஸ்டரிங் காட்சிகளில்; உரையில் குறைவாகப் பயன்படுத்தப்படுகிறது
நடைமுறையில், பெரும்பாலான உட்பொதிவு மாதிரிகள் இயல்பாக்கப்பட்ட திசையன்களை உருவாக்குகின்றன (அளவு 1 ஆக அமைக்கப்பட்டுள்ளது); இந்த வழக்கில், கொசைன் மற்றும் டாட் தயாரிப்பு ஒரே வரிசையைக் கொடுக்கிறது. முடிவை முடக்கிவிடாதீர்கள்: கொசைனில் தொடங்குங்கள்.
மில்லியன் கணக்கான திசையன்களில், அவற்றை ஒவ்வொன்றாக ஒப்பிடுவது மெதுவாக உள்ளது. அதனால்தான் திசையன் தரவுத்தளங்கள் ANN (தோராயமான அருகிலுள்ள அண்டை) அல்காரிதம்களைப் பயன்படுத்துகின்றன. ANN மிக விரைவாக "சரியான நெருக்கமான" என்பதைக் காட்டிலும் "கிட்டத்தட்ட துல்லியமான நெருக்கமான" என்பதைக் கண்டறிகிறது. எடுத்துக்காட்டாக, HNSW எனப்படும் முறையானது 10 மில்லியன் வெக்டர்களுக்கு கூட சில மில்லி விநாடிகளில் முடிவுகளை அளிக்கும். துல்லியமான ஒரு சிறிய தியாகத்திற்கு நீங்கள் பெரும் வேகத்தைப் பெறுவீர்கள்.
வெக்டர் தரவுத்தளம் என்ன செய்கிறது?
ஒரு திசையன் தரவுத்தளம் ஒரே நேரத்தில் மூன்று விஷயங்களைச் செய்கிறது: (1) திசையன்களை சேமிக்கிறது, (2) வினவல் வெக்டருக்கு மிகவும் ஒத்த திசையன்களை விரைவாகக் கண்டுபிடிக்கிறது, (3) ஒவ்வொரு திசையனுக்கும் அடுத்த மெட்டாடேட்டா மூலம் வடிகட்டுகிறது. மெட்டாடேட்டா என்பது அந்தத் துண்டுடன் நீங்கள் இணைக்கும் குறிச்சொற்கள்: மூலக் கோப்பு, தேதி, துறை, தனியுரிமை நிலை, முதலியன. நிறுவன RAG இல் மெட்டாடேட்டா வடிகட்டுதல் முக்கியமானது; ஏனெனில் "நிதித் துறையின் 2025 ஆவணங்களில் மட்டும் தேடுங்கள்" போன்ற கட்டுப்பாடுகளை நீங்கள் அமைக்க வேண்டும்.
# வெக்டார் தரவுத்தளத்தில் பதிவு செய்யவும் (கருத்துசார்ந்த)vektor_db.add( id="izin-politikasi-parca-3", vektor=embed("வருடாந்திர ஊதிய விடுப்பு 14 நாட்கள்..."), text="ஆண்டு ஊதிய விடுப்பு 14 நாட்கள்...", மெட்டாடேட்டா={"source": "ik_departfment","Ik_departfment"," "date": "2025-06", "privacy": "ic"})
# மெட்டாடேட்டா வடிகட்டப்பட்ட தேடல் முடிவு = vektor_db.search( vektor=embed("எனக்கு எத்தனை நாட்கள் விடுப்பு உள்ளது?"), top_k=4, filter={"department": "HR", "privacy": ["internal", "on"]})
சரியான தரவுத்தளத்தைத் தேர்ந்தெடுப்பது
வாகனம்
சிறப்பு அம்சம்
பொருத்தமான சூழ்நிலை
உள்ளமைக்கப்பட்ட / கோப்பு அடிப்படையிலான (உட்பொதிக்கப்பட்ட நூலகம்)
நிறுவல் இல்லை, ஒற்றை இயந்திரம்
முன்மாதிரி, சிறிய கிட் (< சில லட்சம் பாகங்கள்)
நிர்வகிக்கப்படும் கிளவுட் சேவை
அளவிடுதல் மற்றும் பராமரிப்பு உங்கள் பொறுப்பு அல்ல
உற்பத்தி, வேகமாக வளரும் தரவு, சிறிய குழு
உங்கள் சொந்த சர்வரில் ஓப்பன் சோர்ஸ்
முழு கட்டுப்பாடு, உங்கள் தரவு உங்களுடையதாக இருக்கும்
தனியுரிமை கடமை, ஏற்கனவே உள்ள உள்கட்டமைப்பு
ஏற்கனவே உள்ள தரவுத்தளத்தில் சேர்த்தல்
நீங்கள் தனி அமைப்புகளை நிர்வகிக்கவில்லை
நீங்கள் ஏற்கனவே பயன்படுத்தும் DBக்கு திசையன் ஆதரவைச் சேர்க்கிறது
தேர்ந்தெடுக்கும் போது கேளுங்கள்: எத்தனை துண்டுகள் இருக்கும்? மெட்டாடேட்டா வடிகட்டுதல் எவ்வளவு முக்கியமானது? நிறுவனத்திற்கு வெளியே தரவு செல்ல முடியுமா (ரகசியம்)? குழு ஒரு உள்கட்டமைப்பை இயக்க முடியுமா? சிறியதாகத் தொடங்கி, தேவைக்கேற்ப விரிவாக்குவது பெரும்பாலும் புத்திசாலித்தனம்.
பலவீனமான அணுகுமுறை / வலுவான அணுகுமுறை
பலவீனமான (வெற்று உட்பொதிவைச் சேமிக்கிறது, மெட்டாடேட்டா இல்லை):
உரை மற்றும் வெக்டரை மட்டும் சேமிக்கவும். தேடல்: மிகவும் ஒத்த 4 திசையன்களைத் திரும்பப் பெறவும்.# சிக்கல்: "தற்போதைய HR ஆவணங்கள் மட்டும்" போல் வடிகட்ட முடியாது;# பழைய/அங்கீகரிக்கப்படாத பகுதிகளும் பதிலில் சேர்க்கப்படலாம்.
சக்தி வாய்ந்தது (நிறைந்த மெட்டாடேட்டா + வடிகட்டப்பட்ட தேடல்):
ஒவ்வொரு பகுதிக்கும் ஆதாரம், தேதி, துறை மற்றும் தனியுரிமைக் குறியைச் சேர்க்கவும். தேடலின் போது பயனரின் அதிகாரம் மற்றும் தற்போதைய தன்மைக்கு ஏற்ப வடிகட்டவும்: filter = {"privacy": user_authority, "date_date": "2024-01"}# எனவே, முடிவு பாதுகாப்பானது மற்றும் புதுப்பித்த நிலையில் உள்ளது.
மூன்று சிறிய வழக்குகள்
வழக்கு 1 - தவறான மாதிரி கலவை. ஒரு குழு மாதிரி A உடன் ஆவணங்களையும், மாதிரி B உடன் கேள்விகளையும் உட்பொதித்தது. தேடல்கள் அர்த்தமற்ற முடிவுகளை அளித்தன, மேலும் சரியான பதில் விகிதம் 31% ஆக இருந்தது. நான் ஒரு மாடலுக்கு மாறியபோது (இரண்டும் ஒரே எம்பெடிங் மாடல்), விகிதம் 88% ஆக உயர்ந்தது. பாடம்: கேள்வியும் ஆவணமும் ஒரே இடத்தில் இருக்க வேண்டும்.
வழக்கு 2 - மெட்டாடேட்டா இல்லாமல் தனியுரிமை ஆபத்து. ஒரு சுகாதார நிறுவனத்தில், அனைத்து துறை ஆவணங்களும் மெட்டாடேட்டா இல்லாமல் ஒரே குளத்தில் வீசப்பட்டன. ஒரு விற்பனை கூட்டாளி ஒரு கேள்வியைக் கேட்டபோது, கணினி நோயாளியின் தரவின் ஒரு பகுதியை சூழலாக்கியது. மெட்டாடேட்டா + வடிப்பான் சேர்க்கப்படும்போது (அங்கீகார நிலையின்படி), இந்த ஆபத்து நீக்கப்பட்டது; மீட்டெடுப்பில், 12 அங்கீகரிக்கப்படாத துண்டுகள் கொண்டு வரப்படவே இல்லை.
வழக்கு 3 - அளவிலான இடையூறு. ஒரு ஈ-காமர்ஸ் நிறுவனம் ஒரு எளிய "அனைத்தையும் ஸ்கேன்" முறையில் 8 மில்லியன் தயாரிப்பு விளக்கங்களைத் தேடியது; ஒவ்வொரு கேள்வியும் 6 வினாடிகள் எடுத்தது. நாங்கள் HNSW-அடிப்படையிலான ANNக்கு மாறியபோது, நேரம் 45 மில்லி விநாடிகளாகக் குறைந்தது, துல்லியத்தில் 1% மட்டுமே இழப்பு ஏற்பட்டது. பாடம்: பெரிய தொகுப்பில் ANN கட்டாயம்.
பொதுவான தவறுகள்
- வெவ்வேறு மாதிரிகளுடன் கேள்வி மற்றும் ஆவணத்தை உட்பொதித்தல்: முடிவுகள் அர்த்தமற்றவை; எப்போதும் ஒரு மாதிரி.
- மெட்டாடேட்டாவைத் தவிர்க்கிறது: உங்களால் வடிகட்ட முடியாது; நீங்கள் தனியுரிமை மற்றும் புதுப்பித்த கட்டுப்பாட்டை இழக்கிறீர்கள்.
- குறியாக்கத்திற்கு தவறான உட்பொதித்தல்: உட்பொதித்தல் மீளக்கூடிய தகவலைக் கொண்டுள்ளது; முக்கியமான தரவு "மறைக்கப்பட்டுள்ளது" என்று கருதுவது தவறு.
- ஒரு சிறிய தொகுப்பில் தேவையில்லாத பெரிய உள்கட்டமைப்பை உருவாக்குவது: 5,000 பாகங்களுக்கு நிர்வகிக்கப்படும் ஒரு மாபெரும் கிளஸ்டர் தேவையற்ற சிக்கலானது.
- ஒற்றுமை அளவுகோல் பற்றி அதிகம் கவலைப்பட வேண்டாம்: உரையில் கொசைனுடன் தொடங்கவும்; ஃபைன் டியூனிங் பின்னர் வரும்.
எச்சரிக்கை: உட்பொதித்தல் உரையின் அர்த்தத்தை எண்களில் உட்பொதிக்கிறது, ஆனால் உள்ளடக்கத்தை "அழிக்காது". ஒரு திசையன் தரவுத்தளம் கசிந்தால், அசல் சேமிக்கப்பட்ட உரைகளும் (பெரும்பாலான நிறுவல்களில் உரையும் சேமிக்கப்படும்) சமரசம் செய்யப்படும். திசையன் களஞ்சியத்தை அதனுள் உள்ள ஆவணங்களைப் போலவே ரகசியமாக வைத்திருங்கள்.
சுருக்கமாக
- உட்பொதித்தல் உரையை அதன் பொருளைக் கொண்டிருக்கும் எண்களின் திசையனாக மாற்றுகிறது; இதே போன்ற அர்த்தங்கள் நெருங்கிய திசையன்கள்.
- ஒற்றுமை பெரும்பாலும் கொசைன் மூலம் அளவிடப்படுகிறது; இயல்பாக்கப்பட்ட திசையன்களுக்கு, புள்ளி தயாரிப்பு அதே முடிவை அளிக்கிறது.
- பெரிய தரவுகளில், ANN (எ.கா., HNSW) சரியான தேடலை மாற்றுகிறது: சிறிய துல்லியமான தியாகத்துடன் சிறந்த வேகம்.
- திசையன் தரவுத்தளம் திசையன் சேமிப்பு + ஒற்றுமை தேடல் + மெட்டாடேட்டா வடிகட்டலைச் செய்கிறது; நிறுவன RAG க்கு மெட்டாடேட்டா அவசியம்.
- கேள்வியும் ஆவணமும் ஒரே உட்பொதிவு மாதிரியுடன் மொழிபெயர்க்கப்பட வேண்டும்; இல்லையெனில் ஆயங்களை ஒப்பிட முடியாது.
விண்ணப்ப பணி
முந்தைய யூனிட்டில் நீங்கள் தேர்ந்தெடுத்த ஆவணத்திலிருந்து 10 சிறு பத்திகளை (ஒவ்வொன்றும் 3-6 வாக்கியங்கள்) பிரித்தெடுக்கவும். (1) ஒவ்வொரு பகுதிக்கும் குறைந்தது மூன்று மெட்டாடேட்டா குறிச்சொற்களை வடிவமைக்கவும் (ஆதாரம், தேதி மற்றும் உங்கள் வணிக சூழலுக்கு பொருத்தமான மூன்றாவது: துறை, தயாரிப்பு, தனியுரிமை போன்றவை). (2) 3 வெவ்வேறு பயனர் கேள்விகளுக்கு எந்த மெட்டாடேட்டா வடிப்பானைப் பயன்படுத்த வேண்டும் என்பதை எழுதவும். (3) வெவ்வேறு வார்த்தைகளில் ஒரே அர்த்தத்தை வெளிப்படுத்தும் 3 கேள்வி-பகுதி ஜோடிகளைக் கண்டறிந்து (எ.கா. "விடுமுறை உரிமை" ↔ "வருடாந்திர விடுப்பு") மற்றும் அவை ஏன் முக்கிய வார்த்தைகளுடன் பொருந்தாது, ஆனால் உட்பொதிப்புடன் பொருந்தும் என்பதை ஒரே வாக்கியத்தில் விளக்கவும்.
சரிபார்ப்பு பட்டியல்
- [ ] உட்பொதித்தல் சொற்பொருள் இடைவெளியில் உரையை ஒரு திசையனாக மாற்றுகிறது மற்றும் ஒத்த அர்த்தங்கள் நெருக்கமாக உள்ளன என்று என்னால் சொல்ல முடியும்.
- [ ] கோசைன் ஒற்றுமை கோணத்தை அளவிடுகிறது மற்றும் இது உரையில் இயல்புநிலை விருப்பம் என்று எனக்குத் தெரியும்.
- பெரிய தரவுகளில் ANN ஏன் அவசியம் என்பதை என்னால் விளக்க முடியும்.
- [ ] ரகசியத்தன்மை மற்றும் புத்துணர்ச்சிக் கட்டுப்பாட்டிற்கு மெட்டாடேட்டா ஏன் முக்கியமானது என்பதை நான் அறிவேன்.
- [ ] கேள்வியையும் ஆவணத்தையும் ஒரே உட்பொதிவு மாதிரியுடன் மொழிபெயர்ப்பதற்கான விதியைப் பின்பற்றுகிறேன்.