Astro-യിൽ പൈപ്പ്ലൈൻ അധിഷ്ഠിത ഉള്ളടക്കം (Pipeline-Aware Content) നിർമ്മിച്ചപ്പോൾ ഞാൻ പഠിച്ച കാര്യങ്ങൾ
ഓരോ പേജ് വ്യൂവിനും ഒരു AI API വിളിക്കാതെ തന്നെ വ്യത്യസ്ത മോഡൽ തരങ്ങൾക്കായി പ്രത്യേക ഉള്ളടക്കം നിങ്ങൾക്ക് നിർമ്മിക്കാനാകും.
ഞാൻ Astro ഉപയോഗിച്ച് ഒരു AI ടൂൾസ് ഡയറക്ടറി നിർമ്മിച്ചു. തുടക്കത്തിൽ, എല്ലാ മോഡൽ പേജുകളും ഒരേപോലെയായിരുന്നു. സംഗ്രഹങ്ങൾ (summaries) വ്യത്യസ്തമായിരുന്നെങ്കിലും, ഗൈഡൻസ് വിഭാഗങ്ങൾ പൊതുവായതായിരുന്നു (generic). ഒരു ഓഡിയോ മോഡലിന്റെ പേജും ഒരു ടെക്സ്റ്റ് മോഡലിന്റെ പേജും ഒരേ രീതിയിലുള്ള ശൂന്യമായ ഫില്ലർ ടെക്സ്റ്റ് (filler text) മാത്രമാണ് കാണിച്ചിരുന്നത്.
ഇത് ഉപയോക്താക്കൾക്ക് ഗുണകരമല്ല. കൂടാതെ ഇത് SEO-യെയും ദോഷകരമായി ബാധിക്കും.
HuggingFace-ൽ നിന്നുള്ള pipeline_tag എന്ന ഒറ്റ മെറ്റാഡാറ്റ ഫീൽഡ് ഉപയോഗിച്ചാണ് ഞാൻ ഇത് പരിഹരിച്ചത്.
സിസ്റ്റം എങ്ങനെ പ്രവർത്തിക്കുന്നു:
- ഡാറ്റാ സ്റ്റോറേജ്: എന്റെ ETL പ്രക്രിയ ഫെച്ച് (fetch) ഘട്ടത്തിൽ
pipeline_tagഡാറ്റാബേസിൽ സേവ് ചെയ്യുന്നു. - ബിൽഡ് ടൈം ലോജിക്: സ്റ്റാറ്റിക് സൈറ്റ് ജനറേഷൻ പ്രക്രിയയിൽ Astro ഈ ടാഗ് ലോഡ് ചെയ്യുന്നു.
- ഡിസിഷൻ പാത്തുകൾ: ടാഗ് പരിശോധിക്കാൻ ഞാൻ ലളിതമായ കോഡ് ഉപയോഗിക്കുന്നു. ടാഗ് "text-generation" എന്നാണെങ്കിൽ പേജ് LLM ഉപദേശങ്ങൾ കാണിക്കുന്നു. "audio" എന്നാണെങ്കിൽ സ്പീച്ച് സംബന്ധമായ ഉപദേശങ്ങൾ കാണിക്കുന്നു.
- സീറോ റൺടൈം കോസ്റ്റ്: ഈ ലോജിക് മുഴുവൻ ബിൽഡ് സമയത്ത് തന്നെ നടക്കുന്നു. ഉപയോക്താവിന് ലഭിക്കുന്നത് പ്ലെയിൻ HTML ആണ്. സൈറ്റ് സന്ദർശിക്കുമ്പോൾ അധികമായ API കോളുകളോ പ്രോസസ്സിംഗോ ആവശ്യമില്ല.
മെച്ചപ്പെട്ട ഉപയോഗക്ഷമതയ്ക്കായി (usability signals) ഞാൻ ഈ ഡാറ്റ ഉപയോഗിച്ചു:
• ഡൗൺലോഡ് ടയറുകൾ: വെറുമൊരു സംഖ്യ കാണിക്കുന്നതിന് പകരം, ഞാൻ മോഡലുകളെ "established," "actively-used," അല്ലെങ്കിൽ "niche" എന്നിങ്ങനെ തരംതിരിക്കുന്നു. ഇത് കമ്മ്യൂണിറ്റി സപ്പോർട്ട് ലഭിക്കുമോ എന്ന് ഉപയോക്താവിന് മനസ്സിലാക്കാൻ സഹായിക്കുന്നു. • പ്രസക്തമായ അഫിലിയേറ്റുകൾ: LLM പേജുകൾ GPU റെന്റൽ ലിങ്കുകൾ കാണിക്കുന്നു. എംബഡിംഗ് (Embedding) പേജുകൾ കൂടുതൽ പ്രസക്തമായ മറ്റ് ലിങ്കുകൾ കാണിക്കുന്നു. • ഇൻഡക്സ് കൺട്രോൾ: ഒരു മോഡലിന് മോശം ഡാറ്റയോ അല്ലെങ്കിൽ ടാഗുകൾ ഇല്ലാതിരിക്കുകയോ ചെയ്താൽ, ഞാൻ "noindex" ടാഗ് ഉപയോഗിക്കുന്നു. ഇത് ഗുണനിലവാരം കുറഞ്ഞ പേജുകൾ ഗൂഗിൾ സെർച്ച് റിസൾട്ടുകളിൽ വരുന്നത് തടയുന്നു.
Trade-offs:
- കൃത്യമല്ലാത്ത ടാഗുകൾ: ചില എഴുത്തുകാർ മോഡലുകൾ തെറ്റായ രീതിയിൽ ടാഗ് ചെയ്യാറുണ്ട്. ഇത് ഒഴിവാക്കാൻ generic guidance നൽകുന്ന രീതിയാണ് ഞാൻ സ്വീകരിച്ചിരിക്കുന്നത്.
- കോഡ് സങ്കീർണ്ണത: പേജ് കംപോണന്റ് ഇപ്പോൾ കൂടുതൽ വലുതാണ്. ഇത് വളരുന്നതിനനുസരിച്ച് helper functions ആയി refactor ചെയ്യാൻ ഞാൻ പദ്ധതിയിടുന്നു.
തൽഫലമായി, റിയൽ-ടൈം AI ജനറേഷന്റെ വലിയ ചിലവില്ലാതെ തന്നെ ഉപയോക്താവിന് അനുയോജ്യമായ രീതിയിൽ തോന്നിക്കുന്ന ഒരു സൈറ്റ് ലഭിച്ചു.