گردش کار هوشمند: تحلیل رزومه و گیت‌هاب با هوش مصنوعی

گردش کار هوشمند: تحلیل رزومه و گیت‌هاب با هوش مصنوعی

6 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۱۸

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 5306 · منبع: کاتالوگ Axeto

# پردازش رزومه با هوش مصنوعی و تحلیل GitHub با VLM Run

این گردش کار، پردازش رزومه‌های کاندیدا را که از طریق Gmail دریافت می‌شوند، خودکار می‌کند و پروفایل‌های کاندیدا را از طریق تجزیه و تحلیل رزومه با هوش مصنوعی و تحلیل پروفایل GitHub غنی می‌سازد. این گردش کار برای بخش‌های منابع انسانی، تیم‌های استخدام فنی و متخصصان جذب استعداد طراحی شده است که به دنبال ساده‌سازی ارزیابی کاندیدا با ترکیب داده‌های ساختاریافته رزومه با اطلاعات GitHub هستند.

این گردش کار و سایر راهکارهای اتوماسیون قدرتمند را در کاتالوگ Axeto کاوش کنید: [https://axeto.ai/n8n](https://axeto.ai/n8n)

---

## ۱. نمای کلی گردش کار

گردش کار به طور منطقی به مراحل زیر تقسیم می‌شود:

1.  **دریافت رزومه و راه‌انداز (Trigger):** صندوق ورودی Gmail شما را برای رزومه‌های دریافتی با پیوست نظارت می‌کند و خط لوله پردازش را راه‌اندازی می‌کند.
2.  **تجزیه و تحلیل رزومه با هوش مصنوعی:** از VLM Run API برای استخراج اطلاعات ساختاریافته کاندیدا از پیوست‌های رزومه استفاده می‌کند.
3.  **تشخیص و تحلیل پروفایل GitHub:** URLهای GitHub را در داده‌های تجزیه شده شناسایی می‌کند، نام‌های کاربری را استخراج کرده و اطلاعات پروفایل و مخزن GitHub را دریافت/تجزیه و تحلیل می‌کند.
4.  **تجمیع داده‌ها:** داده‌های رزومه تجزیه شده با هوش مصنوعی و نتایج تحلیل GitHub را در یک پروفایل کاندیدای یکپارچه ترکیب می‌کند.
5.  **خروجی چند کاناله و اعلان‌ها:** داده‌های تجمیع شده کاندیدا را در Google Sheets ذخیره می‌کند، اعلان‌هایی را به کانال Slack شما ارسال می‌کند و یک تاییدیه به کاندیدا ایمیل می‌کند.

---

## ۲. جزئیات گردش کار

### ۲.۱. دریافت رزومه و فعال‌سازی

این بخش به طور مداوم صندوق ورودی جیمیل شما را برای ایمیل‌های جدید حاوی پیوست رزومه نظارت می‌کند. پس از شناسایی، پیوست‌ها را به طور خودکار برای شروع پردازش دانلود می‌کند.

*   **Node:** `Monitor Gmail for Resumes`
    *   **Type:** `gmailTrigger`
    *   **Role:** گردش کار را هنگام دریافت ایمیل جدید با پیوست فعال می‌کند.
    *   **Configuration:** صندوق ورودی را هر دقیقه بررسی می‌کند. پیوست‌ها را به طور خودکار دانلود می‌کند. هیچ فیلتر خاصی اعمال نمی‌شود و همه ایمیل‌های دارای پیوست پذیرفته می‌شوند.
    *   **Credentials:** نیاز به یک حساب OAuth2 جیمیل پیکربندی شده دارد.
    *   **Sticky Note:** 📧 پردازش دریافت رزومه: جیمیل را زیر نظر دارد، پیوست‌ها را شناسایی می‌کند، رزومه‌ها را دانلود می‌کند، پردازش را به طور خودکار فعال می‌کند.

### ۲.۲. تجزیه و تحلیل رزومه با هوش مصنوعی

این مرحله پیوست رزومه دانلود شده را برای تجزیه و تحلیل هوشمند به VLM Run API ارسال می‌کند. این API داده‌های ساختاریافته کاندیدا، از جمله اطلاعات تماس، مهارت‌ها، سابقه کار و پروفایل‌های اجتماعی را استخراج می‌کند.

*   **Node:** `Parse Resume with VLM Run`
    *   **Type:** `@vlm-run/n8n-nodes-vlmrun.vlmRun`
    *   **Role:** از هوش مصنوعی برای استخراج داده‌های ساختاریافته از اسناد رزومه استفاده می‌کند.
    *   **Configuration:** از اولین پیوست (`attachment_0`) از نود قبلی به عنوان فایل ورودی استفاده می‌کند. دامنه برای تجزیه و تحلیل تخصصی رزومه روی `"document.resume"` تنظیم شده است.
    *   **Credentials:** نیاز به کلید API VLM Run شما دارد.
    *   **Sticky Note:** 🤖 تجزیه و تحلیل رزومه با هوش مصنوعی: داده‌های ساختاریافته کاندیدا را از رزومه‌ها استخراج می‌کند.

### ۲.۳. شناسایی و تجزیه و تحلیل پروفایل گیت‌هاب

این بخش ابتدا بررسی می‌کند که آیا داده‌های رزومه تجزیه شده حاوی URL گیت‌هاب هستند یا خیر. اگر URL پیدا شود، نام کاربری گیت‌هاب را استخراج می‌کند، پروفایل کاربر و داده‌های مخزن را از GitHub API دریافت می‌کند، و سپس جنبه‌های کلیدی مانند زبان‌ها، فریم‌ورک‌ها، ستاره‌ها و فورک‌های مخزن را تجزیه و تحلیل می‌کند.

*   **Node:** `Check for Github Profile`
    *   **Type:** `if`
    *   **Role:** تعیین می‌کند که آیا URL گیت‌هاب در داده‌های رزومه تجزیه شده وجود دارد یا خیر.
    *   **Configuration:** شرط بررسی می‌کند که آیا `$json.response.contact_info.github` وجود دارد و خالی نیست.
    *   **Outputs:** اجرای گردش کار را منشعب می‌کند: یک مسیر در صورت وجود URL گیت‌هاب، و مسیر دیگر در صورت عدم وجود آن.

*   **Node:** `Extract GitHub Username`
    *   **Type:** `code`
    *   **Role:** نام کاربری گیت‌هاب را از یک رشته URL داده شده استخراج می‌کند.
    *   **Configuration:** رشته URL را در `"github.com/"` تقسیم کرده و بخش نام کاربری را جدا می‌کند.
    *   **Outputs:** یک شیء JSON حاوی `username` استخراج شده.

*   **Node:** `Fetch GitHub Profile`
    *   **Type:** `httpRequest`
    *   **Role:** GitHub API را برای بازیابی اطلاعات پروفایل کاربر فراخوانی می‌کند.
    *   **Configuration:** URL با استفاده از نام کاربری استخراج شده به صورت پویا ساخته می‌شود: `https://api.github.com/users/{{ $json.username }}`.

*   **Node:** `Fetch GitHub Repositories`
    *   **Type:** `httpRequest`
    *   **Role:** GitHub API را برای بازیابی لیستی از مخازن کاربر فراخوانی می‌کند.
    *   **Configuration:** URL به صورت پویا ساخته می‌شود: `https://api.github.com/users/{{ $json.username }}/repos`.

*   **Node:** `Process Profile Data`
    *   **Type:** `code`
    *   **Role:** داده‌های پروفایل گیت‌هاب دریافت شده را پردازش می‌کند.
    *   **Configuration:** سال‌های تقریبی تجربه را بر اساس تاریخ ایجاد حساب و آخرین به‌روزرسانی محاسبه می‌کند. تعداد دنبال‌کنندگان و تعداد مخازن عمومی را استخراج می‌کند.
    *   **Outputs:** یک شیء JSON حاوی `login`, `public_repos`, `followers`, و `approximate_experience` محاسبه شده.

*   **Node:** `Analyze Repository Data`
    *   **Type:** `code`
    *   **Role:** داده‌های مخزن گیت‌هاب دریافت شده را تجزیه و تحلیل می‌کند.
    *   **Configuration:** زبان‌های مخزن و توضیحات/موضوعات را برای شناسایی و شمارش تعداد دفعات تکرار فریم‌ورک‌های شناخته شده اسکن می‌کند. تعداد کل ستاره‌ها و فورک‌ها را در تمام مخازن جمع می‌کند.
    *   **Outputs:** تعداد جمع‌آوری شده زبان‌ها، فریم‌ورک‌ها، کل ستاره‌ها و کل فورک‌ها.

*   **Node:** `Combine GitHub Data`
    *   **Type:** `merge`
    *   **Role:** داده‌های پروفایل پردازش شده و داده‌های تجزیه و تحلیل شده مخزن را ادغام می‌کند.
    *   **Configuration:** خروجی‌های `Process Profile Data` و `Analyze Repository Data` را ترکیب می‌کند.
    *   **Outputs:** یک شیء JSON واحد حاوی نتایج ترکیبی تجزیه و تحلیل پروفایل و مخزن گیت‌هاب.

*   **Sticky Note:** 🔍 موتور هوش گیت‌هاب: تجزیه و تحلیل عمیق پروفایل و مخازن گیت‌هاب با شناسایی فناوری.

### ۲.۴. تجمیع داده‌ها

این مرحله داده‌های تجزیه شده رزومه با هوش مصنوعی و نتایج تجزیه و تحلیل گیت‌هاب را در یک شیء JSON واحد و مسطح که نمایانگر پروفایل کامل کاندیدا است، تجمیع می‌کند.

*   **Node:** `Flatten Response`
    *   **Type:** `code`
    *   **Role:** چندین جریان داده ورودی را در یک شیء JSON واحد و مسطح ادغام می‌کند.
    *   **Configuration:** داده‌های رزومه، داده‌های پروفایل گیت‌هاب و داده‌های تجزیه و تحلیل مخزن گیت‌هاب را با اطمینان ادغام می‌کند و فیلدهای بالقوه از دست رفته را مدیریت می‌کند.
    *   **Outputs:** یک شیء JSON واحد حاوی تمام اطلاعات تجمیع شده کاندیدا.

### ۲.۵. خروجی چند کاناله و اعلان‌ها

بخش نهایی داده‌های تجمیع شده کاندیدا را از طریق کانال‌های مختلف توزیع می‌کند: ذخیره آن در یک Google Sheet، ارسال اعلان به یک کانال Slack مشخص، و ارسال ایمیل تأیید به کاندیدا.

*   **Node:** `Save to Google Sheet`
    *   **Type:** `googleSheets`
    *   **Role:** داده‌های کاندیدا را در یک Google Sheet اضافه یا به‌روزرسانی می‌کند.
    *   **Configuration:** فیلدهای مختلف (نام، ایمیل، تلفن، URLهای گیت‌هاب، زبان‌های پروژه، آمار گیت‌هاب، URLهای لینکدین) را به ستون‌های خاصی از شیت نگاشت می‌کند. از ستون "Name" برای جلوگیری از ورود داده‌های تکراری استفاده می‌کند.
    *   **Credentials:** نیاز به اعتبار OAuth2 Google Sheets دارد.

*   **Node:** `Send Slack Notification`
    *   **Type:** `slack`
    *   **Role:** یک پیام قالب‌بندی شده به یک کانال Slack ارسال می‌کند.
    *   **Configuration:** پیام شامل نام کاندیدا، ایمیل و پیوندی به Google Sheet برای جزئیات کامل است. Markdown برای قالب‌بندی فعال شده است. کانال هدف با شناسه آن مشخص می‌شود.
    *   **Credentials:** نیاز به یک توکن API Slack دارد.

*   **Node:** `Send Acknowledgement Email`
    *   **Type:** `gmail

Nodeهای استفاده‌شده

سوالات متداول

این گردش کار چگونه به بخش منابع انسانی کمک می‌کند؟

این گردش کار با خودکارسازی پردازش رزومه‌ها و استخراج اطلاعات کلیدی، زمان ارزیابی کاندیدا را به طور قابل توجهی کاهش می‌دهد و امکان تمرکز بر تحلیل‌های عمیق‌تر را فراهم می‌کند.

چه نوع اطلاعاتی از رزومه با هوش مصنوعی استخراج می‌شود؟

این گردش کار قادر به استخراج اطلاعات تماس، مهارت‌ها، سابقه کار، تحصیلات و پروفایل‌های اجتماعی از رزومه‌ها است.

تحلیل گیت‌هاب چه مزایایی دارد؟

تحلیل گیت‌هاب به ارزیابی مهارت‌های فنی واقعی کاندیدا، مشارکت در پروژه‌ها و کیفیت کد آن‌ها کمک می‌کند و دید جامعی از توانایی‌های توسعه‌دهندگان ارائه می‌دهد.

آیا این گردش کار با سرویس‌های دیگری مانند Slack و Google Sheets ادغام می‌شود؟

بله، این گردش کار نتایج را در Google Sheets ذخیره کرده و اعلان‌ها را به Slack ارسال می‌کند تا فرآیند استخدام را تسهیل کند.

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.