મેં કેવી રીતે 'Three-Tier Content Quality Ladder' બનાવી

પ્રોગ્રામમેટિક વેબસાઇટ્સનું સ્કેલિંગ કરવું મુશ્કેલ છે. જો તમે તમારી સામગ્રી લખવા માટે ફક્ત AI પર નિર્ભર રહો છો, તો જ્યારે API બંધ થાય છે ત્યારે તમારી સાઇટ કામ કરવાનું બંધ કરી દે છે.

મેં ત્રણ ડિરેક્ટરી સાઇટ્સ લોન્ચ કરી છે: Top AI Tools, Find Games Like, અને Open Alternative To. હું એક ત્રણ-સ્તરીય કન્ટેન્ટ લેડરનો ઉપયોગ કરું છું જેથી એ સુનિશ્ચિત કરી શકાય કે સક્રિય AI કનેક્શન વિના પણ તેઓ હંમેશા માહિતી બતાવે.

આ સિસ્ટમ ડેટાબેઝમાં model_used નામનું એક સિંગલ કોલમ વાપરે છે. તે ગુણવત્તાના ત્રણ સ્તરને ટ્રેક કરે છે:

  • seeded-from-json: ફાઇલમાંથી મળતો મૂળભૂત ડેટા. તે સ્ટ્રક્ચર્ડ છે પરંતુ પૂરતો નથી.
  • fallback-template: જો AI નિષ્ફળ જાય અથવા API કી ખૂટતી હોય તો વપરાતું એક સ્ટાન્ડર્ડ ટેમ્પલેટ. તે ટેકનિકલી સાચું છે પરંતુ તેમાં પર્સનાલિટીનો અભાવ છે.
  • claude-haiku-4-5: લક્ષિત સ્થિતિ (target state). આ ઉચ્ચ ગુણવત્તાવાળા એડિટોરિયલ સારાંશ અને સૂક્ષ્મ વિગતો પૂરી પાડે છે.

અપગ્રેડ્સ મેનેજ કરવા માટે હું એક ચોક્કસ SQL ક્વેરીનો ઉપયોગ કરું છું. સ્ક્રિપ્ટ બે વસ્તુઓ શોધે છે:

  1. નવી એન્ટ્રીઓ જેમાં હજુ સુધી કોઈ કન્ટેન્ટ નથી.
  2. હાલની એન્ટ્રીઓ જેમાં ફક્ત નીચલી ગુણવત્તાવાળું seeded અથવા fallback કન્ટેન્ટ છે.

સ્ક્રિપ્ટ આને લોકપ્રિયતા મુજબ ક્રમબદ્ધ કરે છે. તે સૌથી વધુ મુલાકાત લેતા પેજને પહેલા અપગ્રેડ કરે છે. આ સુનિશ્ચિત કરે છે કે તમારા સૌથી વધુ ટ્રાફિક ધરાવતા પેજને તરત જ શ્રેષ્ઠ કન્ટેન્ટ મળે.

આ પ્રક્રિયા સંપૂર્ણપણે ઓટોમેટેડ અને idempotent છે. હું upsert પેટર્નનો ઉપયોગ કરું છું. જો અપગ્રેડ સફળ થાય છે, તો ડેટાબેઝ જૂના fallback કન્ટેન્ટને નવા AI કન્ટેન્ટ સાથે ઓવરરાઈટ કરે છે. model_used કોલમ પોતાની જાતે અપડેટ થાય છે.

હું Anthropic prompt caching નો પણ ઉપયોગ કરું છું. આનાથી ઘણા પૈસા અને ટોકન્સ બચે છે. કારણ કે મારા સિસ્ટમ પ્રોમ્પ્ટ્સ દરેક એન્ટ્રી માટે સમાન છે, તેથી પ્રથમ કોલ કેશ (cache) ને તૈયાર કરે છે. બેચમાં પછીના 99 કોલ્સ ઓછા ખર્ચે તે કેશમાંથી વાંચવામાં આવે છે.

મુખ્ય આર્કિટેક્ચરલ પસંદગીઓ:

  • Error handling: જો Claude નિષ્ફળ જાય, તો સિસ્ટમ ક્રેશ થતી નથી. તે ફક્ત fallback ટેમ્પલેટ લખે છે અને પછીની આઇટમ પર આગળ વધે છે.
  • SEO safety: જો કોઈ પેજમાં બિલકુલ ઉપયોગી કન્ટેન્ટ ન હોય, તો હું noindex ટેગનો ઉપયોગ કરું છું. આ ગૂગલને ખાલી પેજ ઇન્ડેક્સ કરતા અટકાવે છે.
  • Static builds: હું Astro માટે ડેટાબેઝને JSON ફાઇલોમાં એક્સપોર્ટ કરું છું. આનો અર્થ એ છે કે જો ડેટાબેઝ અથવા AI API માં અવરોધ આવે તો પણ મારી સાઇટ ઓનલાઇન રહે છે.

આ સેટઅપ મને સાઇટની સ્થિરતા જોખમમાં મૂક્યા વિના ઝડપથી બિલ્ડ કરવાની મંજૂરી આપે છે.

સ્ત્રોત: https://dev.to/morinaga/how-i-built-a-three-tier-content-quality-ladder-for-programmatic-directory-etl-483