5 Overlooked Packages Running My AI Directory Stack
ਕਿਸੇ ਪ੍ਰੋਜੈਕਟ ਦੇ ਸਭ ਤੋਂ ਵਧੀਆ ਹਿੱਸੇ ਹਮੇਸ਼ਾ AI ਮਾਡਲ ਜਾਂ ਹੋਸਟਿੰਗ ਪਲੇਟਫਾਰਮ ਨਹੀਂ ਹੁੰਦੇ।
ਮੈਂ ਆਪਣੀਆਂ ਪੈਕੇਜ ਫਾਈਲਾਂ ਵਿੱਚ ਪੰਜ ਡਿਪੈਂਡੈਂਸੀਆਂ (dependencies) ਦੇ ਸੋਰਸ ਕੋਡ ਨੂੰ ਪੜ੍ਹਨ ਵਿੱਚ ਸਮਾਂ ਬਿਤਾਇਆ। ਇਹ ਟੂਲ ਟ੍ਰੈਂਡਿੰਗ ਵਿੱਚ ਨਹੀਂ ਹਨ। ਇਹ ਬੁਨਿਆਦੀ ਸਹਾਰਾ ਹਨ।
ਮੇਰਾ ਸਟੈਕ Astro 5, Turso libSQL, GitHub Actions, ਅਤੇ Claude Haiku 4.5 ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਮੈਂ ਤਿੰਨ ਸਾਈਟਾਂ ਚਲਾਉਂਦਾ ਹਾਂ: Top AI Tools, Find Games Like, ਅਤੇ Open Alternative To। ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਮਜ਼ਬੂਤ ਹੈ। ਇਹ ਮੈਨੂੰ ਬੱਗ (bugs) ਠੀਕ ਕਰਨ ਦੀ ਬਜਾਏ ਸਮੱਗਰੀ (content) 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
ਇੱਥੇ ਉਹ ਪੰਜ ਟੂਲ ਹਨ:
tsx ਮੈਂ ਇਸਦੀ ਵਰਤੋਂ ਹਰ ETL ਸਕ੍ਰਿਪਟ ਨੂੰ ਚਲਾਉਣ ਲਈ ਕਰਦਾ ਹਾਂ। ਇਹ ਬਿਨਾਂ ਕਿਸੇ ਵਾਧੂ ਕੌਂਫਿਗਰੇਸ਼ਨ ਦੇ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਹ esbuild ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਸ਼ੁਰੂਆਤ ਤੇਜ਼ ਹੁੰਦੀ ਹੈ। ਇਹ ਟਾਈਪ ਚੈਕਿੰਗ (type checking) ਨਹੀਂ ਕਰਦਾ। ਮੈਂ CI ਦੌਰਾਨ ਟਾਈਪ ਚੈਕਿੰਗ ਲਈ pnpm ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ। ਇਹ ਸਮਝੌਤਾ (tradeoff) ਮੇਰੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਚਲਾਉਂਦਾ ਹੈ।
Pagefind ਇਹ ਮੇਰੇ ਬਿਲਡ ਸਟੈਪ ਤੋਂ ਬਾਅਦ ਚੱਲਦਾ ਹੈ। ਇਹ ਮੇਰੇ HTML ਨੂੰ ਕ੍ਰੌਲ (crawl) ਕਰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਕੰਪਰੈੱਸਡ ਇੰਡੈਕਸ ਬਣਾਉਂਦਾ ਹੈ। ਇਹ Vercel ਜਾਂ Cloudflare ਵਰਗੇ ਸਟੈਟਿਕ ਹੋਸਟਾਂ 'ਤੇ ਬਿਨਾਂ ਕਿਸੇ ਵਾਧੂ ਸੈੱਟਅੱਪ ਦੇ ਕੰਮ ਕਰਦਾ ਹੈ। ਇੰਡੈਕਸ ਛੋਟਾ ਰਹਿੰਦਾ ਹੈ। ਮੈਂ ਮੇਰੇ Astro ਕੰਪੋਨੈਂਟਸ ਵਿੱਚ ਨਤੀਜੇ ਕਿਵੇਂ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ, ਇਸ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਸਿੱਧੇ ਤੌਰ 'ਤੇ JS API ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ।
Crawlee ਮੈਂ ਅਜੇ ਤੱਕ ਇਸਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਹੈ, ਪਰ ਮੇਰਾ ਇਰਾਦਾ ਹੈ। ਮੈਂ ਵਰਤਮਾਨ ਵਿੱਚ ਆਪਣੇ ਡੇਟਾ ਲਈ ਮੈਨੂਅਲ ਪਾਰਸਿੰਗ (manual parsing) ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ। Crawlee ਰਿਕੁਐਸਟ ਕਿਊਜ਼ (request queues) ਅਤੇ ਰੇਟ ਲਿਮਿਟਿੰਗ (rate limiting) ਜੋੜਦਾ ਹੈ। ਜਦੋਂ ਮੈਂ ਬਿਨਾਂ API ਵਾਲੀਆਂ ਸਾਈਟਾਂ ਨੂੰ ਸਕ੍ਰੈਪ (scrape) ਕਰਨਾ ਸ਼ੁਰੂ ਕਰਾਂਗਾ, ਤਾਂ ਇਹ ਸਹੀ ਟੂਲ ਹੈ।
yaml ਇਹ ਮੇਰੇ ਲੇਖਾਂ ਵਿੱਚ ਫਰੰਟਮੈਟਰ (frontmatter) ਨੂੰ ਪਾਰਸ ਕਰਦਾ ਹੈ। ਇਹ ਛੋਟਾ ਹੈ ਅਤੇ ਇਸਦੀ ਕੋਈ ਡਿਪੈਂਡੈਂਸੀ ਨਹੀਂ ਹੈ। ਇਹ ਗੁੰਝਲਦਾਰ ਆਬਜੈਕਟਾਂ ਨੂੰ ਚੰਗੀ ਤਰ੍ਹਾਂ ਸੰਭਾਲਦਾ ਹੈ। ਇਹ ਕੁਮੈਂਟਸ (comments) ਨੂੰ ਰੱਖਦੇ ਹੋਏ ਆਬਜੈਕਟਾਂ ਨੂੰ ਵਾਪਸ YAML ਵਿੱਚ ਵੀ ਬਦਲ ਸਕਦਾ ਹੈ। ਇਹ ਉਦੋਂ ਮਦਦ ਕਰਦਾ ਹੈ ਜਦੋਂ ਮੈਂ ਫਾਈਲਾਂ ਨੂੰ ਆਪਣੇ ਆਪ ਅਪਡੇਟ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹਾਂ।
@libsql/client ਇਹ ਮੇਰੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ Turso ਨਾਲ ਜੋੜਦਾ ਹੈ। ਮੈਂ ਬੈਚ API (batch API) 'ਤੇ ਭਰੋਸਾ ਕਰਦਾ ਹਾਂ। ਇੱਕ ਕਾਲ ਇੱਕ ਨੈੱਟਵਰਕ ਟ੍ਰਿਪ ਵਿੱਚ ਕਈ ਸਟੇਟਮੈਂਟਾਂ ਚਲਾ ਸਕਦੀ ਹੈ। ਟੇਬਲ ਸੀਡਿੰਗ (seeding tables) ਵੇਲੇ ਇਹ ਤੇਜ਼ ਹੁੰਦਾ ਹੈ। ਇਹ ਬਿਨਾਂ ਨੈੱਟਵਰਕ ਦੇ ਸਥਾਨਕ (locally) ਤੌਰ 'ਤੇ ਵੀ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਹ ਵਿਕਾਸ (development) ਦੌਰਾਨ ਮੇਰੇ API ਕੋਟਾ ਨੂੰ ਬਚਾਉਂਦਾ ਹੈ।
ਇਹ ਪੈਕੇਜ ਸ਼ਾਂਤ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਹਨ। ਉਹ ਮੇਰੇ ਸਟੈਕ ਦੇ AI ਹਿੱਸਿਆਂ ਨੂੰ ਆਪਣਾ ਕੰਮ ਕਰਨ ਦਿੰਦੇ ਹਨ।
ਸਰੋਤ: https://dev.to/morinaga/five-overlooked-packages-running-my-ai-directory-stack-1lem
