ಕಡಿಮೆ ಬಜೆಟ್‌ನಲ್ಲಿ ನಾನು AI ಹೋಲಿಕೆ ಪುಟಗಳನ್ನು ಹೇಗೆ ನಿರ್ಮಿಸಿದೆ

ನನ್ನ AI ಪರಿಕರಗಳ ಡೈರೆಕ್ಟರಿಗಾಗಿ (AI tools directory) ನಾನು ಹೋಲಿಕೆ ಪುಟಗಳನ್ನು ನಿರ್ಮಿಸಬೇಕಾಗಿತ್ತು.

ಲೆಕ್ಕಾಚಾರ ಭಯಾನಕವಾಗಿತ್ತು. 200 ಮಾಡೆಲ್‌ಗಳಿದ್ದಾಗ, ನಾನು ಸುಮಾರು 20,000 ಸಂಭವನೀಯ ಜೋಡಿಗಳನ್ನು (pairs) ಎದುರಿಸಬೇಕಾಯಿತು. ಪ್ರತಿದಿನ ಪ್ರತಿಯೊಂದು ಜೋಡಿಗೂ ಕಂಟೆಂಟ್ ಜನರೇಟ್ ಮಾಡಲು Claude Haiku ಬಳಸಿದರೆ ವೆಚ್ಚವು ತುಂಬಾ ಹೆಚ್ಚಾಗುತ್ತಿತ್ತು.

ತರ್ಕ (logic) ಮತ್ತು ಮಿತಿಗಳನ್ನು (limits) ಬಳಸಿ ನಾನು ಇದನ್ನು ಹೇಗೆ ಪರಿಹರಿಸಿದೆ ಎಂಬುದು ಇಲ್ಲಿದೆ.

ಕಾರ್ಯತಂತ್ರ (The Strategy)

ನಾನು ಹೆಚ್ಚಿನ ಉದ್ದೇಶವಿರುವ (high-intent) ಪ್ರಶ್ನೆಗಳ ಮೇಲೆ ಗಮನ ಹರಿಸಿದೆ. ಬಳಕೆದಾರರು "Llama 3 vs Mistral" ಎಂದೇ ತಿಳಿಯಲು ಬಯಸುತ್ತಾರೆ. ಅವರಿಗೆ ನಿರ್ಧಾರ ಬೇಕು, ದೀರ್ಘ ಪ್ರಬಂಧವಲ್ಲ.

ವೆಚ್ಚವನ್ನು ನಿಯಂತ್ರಿಸಲು ನಾನು ಈ ನಿಯಮಗಳನ್ನು ಬಳಸಿದೆ:

• ಮಾಡೆಲ್‌ಗಳನ್ನು ಅವುಗಳ ಪೈಪ್‌ಲೈನ್ ಟ್ಯಾಗ್ (pipeline tag) ಮೂಲಕ ಗುಂಪು ಮಾಡಿ. • ಪ್ರತಿ ಗುಂಪಿನಲ್ಲಿ ಡೌನ್‌ಲೋಡ್ ಸಂಖ್ಯೆಯ ಆಧಾರದ ಮೇಲೆ ಮೊದಲ 4 ಮಾಡೆಲ್‌ಗಳನ್ನು ಮಾತ್ರ ಆರಿಸಿ. • ಒಟ್ಟು ಜೋಡಿಗಳ ಮೇಲೆ ಕಟ್ಟುನಿಟ್ಟಾದ ಮಿತಿಯನ್ನು ನಿಗದಿಪಡಿಸಿ.

ಇದು ನನ್ನ ಜೋಡಿಗಳನ್ನು 20,000 ರಿಂದ ಸುಮಾರು 50 ಕ್ಕೆ ಇಳಿಸಿತು. ಇದು ಹೆಚ್ಚು ಜನಪ್ರಿಯ ಮಾಡೆಲ್‌ಗಳನ್ನು ಒಳಗೊಳ್ಳುವಂತೆ ಮಾಡುವುದರ ಜೊತೆಗೆ ನನ್ನ ವೆಚ್ಚವನ್ನು ಕಡಿಮೆ ಇರಿಸುತ್ತದೆ.

ತಾಂತ್ರಿಕ ವಿನ್ಯಾಸ (The Technical Setup)

ನಾನು ಪ್ರತಿದಿನ ರಾತ್ರಿ ಚಲಿಸುವ ETL ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿರ್ಮಿಸಿದೆ. ಇದು idempotent ಆಗಿದೆ. ಅಂದರೆ, ಒಂದು ಜೋಡಿಯು ಈಗಾಗಲೇ ನನ್ನ ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಇದ್ದರೆ, ಸ್ಕ್ರಿಪ್ಟ್ ಅದನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ.

ಹೆಚ್ಚಿನ ರಾತ್ರಿಗಳಲ್ಲಿ, ಸ್ಕ್ರಿಪ್ಟ್ 3 ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಚಲಿಸುತ್ತದೆ ಮತ್ತು ಎಲ್ಲವನ್ನೂ ಬಿಟ್ಟುಬಿಡುವುದರಿಂದ ವೆಚ್ಚ $0 ಆಗಿರುತ್ತದೆ.

ಇದನ್ನು ದಕ್ಷವಾಗಿಡಲು ನಾನು ಹಲವಾರು ತಂತ್ರಗಳನ್ನು ಬಳಸುತ್ತೇನೆ:

• Prompt Caching: ನಾನು ಹಂಚಿಕೆಯ (shared) Claude Haiku ಕ್ಲೈಂಟ್ ಅನ್ನು ಬಳಸುತ್ತೇನೆ. ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ ಒಂದೇ ಆಗಿರುವುದರಿಂದ, ಕ್ಯಾಶಿಂಗ್ (caching) ಮಾಡುವುದರಿಂದ ಮುಂದಿನ ಕರೆಗಳು (calls) ಬಹುತೇಕ ಉಚಿತವಾಗಿರುತ್ತವೆ. • Lean Prompts: ನಾನು ಮಾಡೆಲ್ ಸಾರಾಂಶಗಳನ್ನು (summaries) 400 ಅಕ್ಷರಗಳಿಗೆ ಸೀಮಿತಗೊಳಿಸುತ್ತೇನೆ. ಇದು ಇನ್‌ಪುಟ್ ಅನ್ನು ಚಿಕ್ಕದಾಗಿ ಮತ್ತು ವೇಗವಾಗಿರಿಸುತ್ತದೆ. • Static Generation: ಡೇಟಾವನ್ನು ಸ್ಟ್ಯಾಟಿಕ್ JSON ಫೈಲ್‌ಗಳಾಗಿ ಪರಿವರ್ತಿಸಲು ನಾನು Astro ಬಳಸುತ್ತೇನೆ. ಬಳಕೆದಾರರಿಗೆ ಯಾವುದೇ ನಿಧಾನಗತಿಯ ಡೇಟಾಬೇಸ್ ಕರೆಗಳು ಅಥವಾ edge function ವಿಳಂಬಗಳು (latencies) ಇರುವುದಿಲ್ಲ.

ಅದು ವಿಫಲವಾದಾಗ ಏನಾಗುತ್ತದೆ?

AI ಅನಿರೀಕ್ಷಿತವಾಗಿರಬಹುದು. ಕೆಲವೊಮ್ಮೆ Claude ತಪ್ಪಾದ JSON ಅನ್ನು ನೀಡುತ್ತದೆ.

ನಾನು ಒಂದು ಫಾಲ್‌ಬ್ಯಾಕ್ (fallback) ವ್ಯವಸ್ಥೆಯನ್ನು ಬರೆದಿದ್ದೇನೆ. AI ವಿಫಲವಾದರೆ, ಪುಟವು ಕ್ರ್ಯಾಶ್ ಆಗುವುದಿಲ್ಲ. ಬದಲಾಗಿ, ಅದು ಒಂದು ಪ್ರಮಾಣಿತ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ತೋರಿಸುತ್ತದೆ. ವೈಯಕ್ತಿಕ ಮಾಡೆಲ್ ಪುಟಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಅದು ಬಳಕೆದಾರರಿಗೆ ತಿಳಿಸುತ್ತದೆ. ನಾನು ಈ ವಿಫಲತೆಗಳನ್ನು ನನ್ನ ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಟ್ರ್ಯಾಕ್ ಮಾಡುತ್ತೇನೆ ಇದರಿಂದ ನಂತರ ಅವುಗಳನ್ನು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಬಹುದು.

ನಾನು ಬೇರೆಯದಾಗಿ ಏನು ಮಾಡುತ್ತಿದ್ದೆ

ನಾನು ಇಂದು ಮತ್ತೆ ಪ್ರಾರಂಭಿಸಬೇಕಿದ್ದರೆ, ಎರಡು ವಿಷಯಗಳನ್ನು ಬದಲಾಯಿಸುತ್ತಿದ್ದೆ:

  1. Cross-pipeline ಹೋಲಿಕೆಗಳು: ಎರಡು ಸಮಾನವಾದ ಟೆಕ್ಸ್ಟ್ ಮಾಡೆಲ್‌ಗಳನ್ನು ಹೋಲಿಸುವುದಕ್ಕಿಂತ, ಒಂದು ಟೆಕ್ಸ್ಟ್ ಮಾಡೆಲ್ ಅನ್ನು ಒಂದು ವಿಷನ್ (vision) ಮಾಡೆಲ್‌ಗೆ ಹೋಲಿಸುವುದು ಹೆಚ್ಚು ಮೌಲ್ಯಯುತವಾಗಿದೆ.
  2. ಸರ್ಚ್-ಚಾಲಿತ ಆಯ್ಕೆ (Search-driven selection): ಡೌನ್‌ಲೋಡ್ ಸಂಖ್ಯೆಗಳನ್ನು ಬಳಸುವ ಬದಲು, ಯಾವ ಜೋಡಿಗಳನ್ನು ನಿರ್ಮಿಸಬೇಕೆಂದು ನಿರ್ಧರಿಸಲು ನಾನು ನಿಜವಾದ ಬಳಕೆದಾರರ ಸರ್ಚ್ ಲಾಗ್‌ಗಳನ್ನು (search logs) ಬಳಸುತ್ತಿದ್ದೆ.

ಮಿತಿಗಳೊಂದಿಗೆ ನಿರ್ಮಿಸುವುದು ನಿಮ್ಮನ್ನು ಸ್ಮಾರ್ಟ್ ಆಗಿ ನಿರ್ಮಿಸಲು ಪ್ರೇರೇಪಿಸುತ್ತದೆ.

Source: https://dev.to/morinaga/how-i-built-pairwise-ai-model-compare-pages-with-claude-haiku-and-a-budget-cap-3hpm

Optional learning community: https://t.me/GyaanSetuAi