తక్కువ బడ్జెట్తో నేను AI పోలిక (Comparison) పేజీలను ఎలా నిర్మించాను
నా AI టూల్స్ డైరెక్టరీ కోసం నేను పోలిక పేజీలను (comparison pages) నిర్మించాల్సి వచ్చింది.
లెక్కలు చూస్తే భయమేసింది. 200 మోడల్స్తో, దాదాపు 20,000 జంటల (pairs) సంభావ్యత ఉంది. ప్రతి జంట కోసం కంటెంట్ను రూపొందించడానికి Claude Haikuని ఉపయోగిస్తే, నేను ప్రతిరోజూ రన్ చేసినప్పుడు ఖర్చు చాలా ఎక్కువగా ఉంటుంది.
లాజిక్ మరియు పరిమితులను ఉపయోగించి నేను దీనిని ఎలా పరిష్కరించానో ఇక్కడ ఉంది.
The Strategy
నేను హై-ఇంటెంట్ క్వెరీల (high-intent queries) పై దృష్టి పెట్టాను. వినియోగదారులు "Llama 3 vs Mistral" గురించి తెలుసుకోవాలనుకుంటారు. వారికి ఒక నిర్ణయం కావాలి, పెద్ద వ్యాసం కాదు.
ఖర్చులను నియంత్రించడానికి నేను ఈ నియమాలను ఉపయోగించాను:
• మోడల్స్ను వాటి పైప్లైన్ ట్యాగ్ (pipeline tag) ఆధారంగా గ్రూప్ చేయండి. • ప్రతి గ్రూప్లో డౌన్లోడ్ కౌంట్ ఆధారంగా టాప్ 4 మోడల్స్ను మాత్రమే ఎంచుకోండి. • మొత్తం జంటల (pairs) సంఖ్యపై కఠినమైన పరిమితిని విధించండి.
దీనివల్ల నా జంటల సంఖ్య 20,000 నుండి సుమారు 50కి తగ్గింది. ఇది అత్యంత ప్రజాదరణ పొందిన మోడల్స్ను కవర్ చేస్తూనే, నా ఖర్చులను తక్కువగా ఉంచుతుంది.
The Technical Setup
నేను ప్రతి రాత్రి రన్ అయ్యే ETL ప్రాసెస్ను నిర్మించాను. ఇది idempotent. అంటే, ఒక జంట ఇప్పటికే నా డేటాబేస్లో ఉంటే, స్క్రిప్ట్ దానిని వదిలివేస్తుంది (skips).
చాలా రాత్రులు, స్క్రిప్ట్ 3 సెకన్లలో రన్ అవుతుంది మరియు అది అన్నింటినీ స్కిప్ చేయడం వల్ల ఖర్చు $0 అవుతుంది.
దీనిని సమర్థవంతంగా ఉంచడానికి నేను కొన్ని ట్రిక్స్ను ఉపయోగిస్తాను:
• Prompt Caching: నేను ఒక షేర్డ్ Claude Haiku క్లయింట్ను ఉపయోగిస్తాను. సిస్టమ్ ప్రాంప్ట్ ఒకేలా ఉండటం వల్ల, క్యాషింగ్ (caching) వల్ల తదుపరి కాల్స్ దాదాపు ఉచితంగానే ఉంటాయి. • Lean Prompts: నేను మోడల్ సమ్మరీలను 400 క్యారెక్టర్లకు పరిమితం చేస్తాను. ఇది ఇన్పుట్ను చిన్నదిగా మరియు వేగంగా ఉంచుతుంది. • Static Generation: డేటాను స్టాటిక్ JSON ఫైల్లుగా మార్చడానికి నేను Astroని ఉపయోగిస్తాను. దీనివల్ల వినియోగదారునికి నెమ్మదైన డేటాబేస్ కాల్స్ లేదా edge function latencies ఉండవు.
What Happens when IT fails?
AI అనిశ్చితంగా ఉండవచ్చు. కొన్నిసార్లు Claude తప్పుడు JSONని తిరిగి ఇస్తుంది.
నేను ఒక ఫాల్బ్యాక్ సిస్టమ్ను (fallback system) రాశాను. AI విఫలమైతే, పేజీ క్రాష్ అవ్వదు. దానికి బదులుగా, అది ఒక స్టాండర్డ్ టెంప్లేట్ను చూపిస్తుంది. వినియోగదారుని వ్యక్తిగత మోడల్ పేజీలను చూడమని అది చెబుతుంది. నేను ఈ వైఫల్యాలను నా డేటాబేస్లో ట్రాక్ చేస్తాను, తద్వారా నేను వాటిని తర్వాత మళ్ళీ ప్రయత్నించవచ్చు.
What I would do differently
నేను ఈరోజు మళ్ళీ మొదటి నుండి ప్రారంభిస్తే, రెండు విషయాలను మారుస్తాను:
- Cross-pipeline comparisons: రెండు సారూప్యమైన టెక్స్ట్ మోడల్స్ను పోల్చడం కంటే, ఒక టెక్స్ట్ మోడల్ను ఒక విజన్ మోడల్తో పోల్చడం ఎక్కువ విలువైనది.
- Search-driven selection: డౌన్లోడ్ కౌంట్లను ఉపయోగించే బదులు, ఏ జంటలను నిర్మించాలో నిర్ణయించడానికి నేను వినియోగదారుల అసలు సెర్చ్ లాగ్లను (search logs) ఉపయోగిస్తాను.
పరిమితులతో (constraints) నిర్మించడం మిమ్మల్ని మరింత తెలివిగా నిర్మించేలా చేస్తుంది.
Optional learning community: https://t.me/GyaanSetuAi
