همه ما در مقطعی از زندگی به دنبال شغل بودهایم و میدانیم که چقدر این فرآیند میتواند زمانبر و خستهکننده باشد. من هم از این قاعده مستثنی نبودم. اما یک تفاوت عمده داشتم: تنبلی! خب، شاید این کلمه کمی بیرحمانه باشد، اما اعتراف میکنم که انگیزه زیادی برای انجام دستی کارهای تکراری مثل پر کردن درخواستهای آنلاین استخدام نداشتم. این شد که تصمیم گرفتم یک پروژه شخصی راه بیاندازم: ساخت یک سیستم خودکار برای ارسال رزومه. هدف این بود که از صفر تا صد کار، بدون دخالت مستقیم من انجام شود. در این مقاله، ماجرای این پروژه را با شما به اشتراک میگذارم.
فاز اول: خزیدن در دنیای آگهیها (Crawling)
اولین قدم، جمعآوری آگهیهای استخدامی بود. برای این کار، از یکی از پلتفرمهای موجود استفاده کردم. خوشبختانه، این قسمت با وجود چالشهایی که داشت، با موفقیت انجام شد.
یکی از مشکلات اذیتکننده، CDN بود که خوشبختانه قبلاً با یک تکنیک دیگر دور زده بودیم. برای اطلاع بیشتر از این موضوع، میتوانید به این مخزن نگاهی بیندازید:
فاز دوم: معجزه مدل زبانی بزرگ(LLM) در ساخت رزومههای اختصاصی
بعد از جمعآوری آگهیها، نوبت به مرحله جذابتر یعنی ساخت رزومه متناسب با هر آگهی میرسید. اینجاست که هوش مصنوعی وارد میدان شد. از بین مدلهای مختلف، Gemini گوگل به دلیل API رایگان و کارآمدی که داشت، انتخاب شد. گوگل مستندات خوبی برای استفاده از این API در کتابخانه genai
ارائه کرده، اما توصیه میکنم حتماً جایگزینهای دیگر را هم بررسی کنید. اگر کنجکاو هستید، میتوانید از Google AI Studio پرامپت مناسب برای Gemini را مهندسی کنید.
برای اینکه بتوانم این قسمت را سریعتر راه بیاندازم، از یک سری پرامپت عجلهای و شاید کمی شلخته استفاده کردم. ایده اصلی این بود که رزومه اصلی من به صورت JSON در سیستم ذخیره شده باشد و بر اساس توضیحات آگهی، یک رزومه جدید به صورت PDF ساخته شود.
فاز سوم: ارسال خودکار رزومهها، پایان کار؟
فاز سوم و پایانی، ارسال خودکار رزومهها در صفحات آگهی بود. این بخش هم با استفاده از کدنویسی و اسکرپینگ انجام شد. پیچیدگی این مرحله نسبت به دو مرحله قبلی کمتر بود، اما به جرات میتوانم بگویم که نمود اصلی پروژه در همین بخش نمایان شد. پس از تکمیل این مراحل، سیستم من به صورت خودکار برای چند ده آگهی رزومه فرستاد.
کدها کجاست؟
کل این پروژه به صورت یک اسکریپت منتشر شده و میتوانید توضیحات نصب و اجرای آن را در گیتهاب پیدا کنید.
درسهایی که آموختم و چالشهای پیش رو:
با وجود موفقیت نسبی پروژه، چند نکته مهم وجود دارد که برای توسعه آن باید به آنها توجه کرد:
انتقادات و پیشنهادات شما؟
این پروژه برای من یک تجربه بسیار ارزشمند بود و امیدوارم برای شما هم مفید بوده باشد. اگر شما هم انتقاد یا پیشنهادی دارید، خوشحال میشوم در بخش نظرات با من در میان بگذارید.