ساخت خودکار نامه پوششی با هوش مصنوعی و تطبیق رزومه

ساخت خودکار نامه پوششی با هوش مصنوعی و تطبیق رزومه

9 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۶

دانلود workflow

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

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

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

تولید کننده نامه پوششی با هوش مصنوعی، تطبیق رزومه و Google Docs

این گردش کار (Workflow) ایجاد یک نامه پوششی شخصی‌سازی شده را با ترکیب شرح شغل ارائه شده توسط کاربر با یک رزومه از پیش تعریف شده، خودکار می‌کند. این گردش کار از یک عامل مدل زبان بزرگ (LLM) برای تولید یک نامه پوششی سفارشی‌سازی شده در قالب JSON ساختاریافته استفاده می‌کند، سپس یک سند Google با متن تولید شده ایجاد و آن را پر می‌کند تا دانلود و ویرایش بیشتر آسان شود.

این گردش کار دو حالت ورودی اصلی را پشتیبانی می‌کند: ارسال فرم دستی (برای کاربران نهایی جهت ارائه شرح شغل) و اجرا به عنوان یک گردش کار فرعی (sub-workflow) که در آن هم شرح شغل و هم رزومه می‌توانند به صورت برنامه‌نویسی ارائه شوند.

کاتالوگ Axeto.ai n8n: https://axeto.ai/n8n

نمای کلی گردش کار

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

1. دریافت ورودی: شرح شغل را از طریق یک تریگر فرم یا ورودی گردش کار فرعی دریافت می‌کند و یک رزومه ثابت تنظیم می‌کند.

2. پردازش هوش مصنوعی: از یک عامل مدل چت LLM برای تولید خروجی JSON نامه پوششی شخصی‌سازی شده بر اساس رزومه و شرح شغل استفاده می‌کند.

3. ایجاد و پر کردن سند: یک سند Google جدید با عنوانی استاندارد ایجاد می‌کند و متن نامه پوششی تولید شده را درج می‌کند.

4. تحویل به کاربر: کاربر را برای دانلود یا ویرایش بیشتر به سند Google هدایت می‌کند.

---

تحلیل گره (Node) دقیق

۱. دریافت ورودی

این بلوک نحوه ارائه شرح شغل و رزومه به گردش کار را مدیریت می‌کند.

  • گره‌ها (Nodes):

* On form submission (تریگر فرم)

* When Executed by Another Workflow (تریگر اجرای گردش کار)

* Configuration (تنظیم)

  • On form submission (تریگر فرم):

* هدف: دریافت متن شرح شغل از کاربر از طریق یک فرم وب.

* پیکربندی: یک فیلد textarea واحد با برچسب jobDescription.

* تریگر: مبتنی بر Webhook، که توسط ارسال فرم توسط کاربر آغاز می‌شود.

* خروجی: فیلد jobDescription را به گره بعدی منتقل می‌کند.

* نکات: این گره عمدتاً برای اجرای دستی و تعاملی است.

  • When Executed by Another Workflow (تریگر اجرای گردش کار):

* هدف: اجازه می‌دهد این گردش کار به عنوان یک گردش کار فرعی فعال شود و ورودی‌های jobDescription و resume را به صورت برنامه‌نویسی بپذیرد.

* پیکربندی: ورودی‌های مورد انتظار گردش کار را تعریف می‌کند: jobDescription و resume.

* تریگر: اجرا توسط یک گردش کار n8n دیگر.

* خروجی: ورودی‌های دریافتی را به پایین دست منتقل می‌کند.

* نکات: اجرای خودکار و غیرتعاملی را امکان‌پذیر می‌سازد.

  • Configuration (تنظیم):

* هدف: تزریق متن رزومه ثابت و از پیش تعریف شده به گردش کار. این رزومه توسط عامل هوش مصنوعی استفاده خواهد شد.

* پیکربندی: یک رشته چند خطی حاوی جزئیات رزومه برای "Joel Gamble" را اختصاص می‌دهد.

* ورودی: jobDescription را از تریگر فرم یا تریگر اجرای گردش کار دریافت می‌کند.

* خروجی: هم jobDescription و هم resume ثابت را به مرحله بعدی منتقل می‌کند.

۲. پردازش هوش مصنوعی

این بلوک از یک عامل LLM برای تولید محتوای نامه پوششی استفاده می‌کند.

  • گره‌ها (Nodes):

* OpenRouter Chat Model (مدل چت زبان)

* Write Cover Letter (عامل LangChain)

* Structured Output Parser (تجزیه‌کننده خروجی LangChain)

  • OpenRouter Chat Model (مدل چت زبان):

* هدف: موتور مدل زبان بزرگ (LLM) را برای عامل فراهم می‌کند.

* پیکربندی: از طریق API OpenRouter برای استفاده از مدلی مانند "openai/gpt-5-mini" پیکربندی شده است. به اعتبارنامه API نیاز دارد.

* ورودی: اعلان (prompt) و زمینه را از گره عامل Write Cover Letter دریافت می‌کند.

* خروجی: تکمیل‌های خام LLM را برمی‌گرداند.

  • Write Cover Letter (عامل LangChain):

* هدف: تعامل LLM را هماهنگ می‌کند. یک اعلان (prompt) با استفاده از رزومه و شرح شغل ارائه شده ایجاد می‌کند و به LLM دستور می‌دهد تا نامه پوششی را در قالب JSON خاصی تولید کند.

* پیکربندی:

* System Prompt: شخصیت، لحن (مانند "لحن مکالمه‌ای آرام")، قالب خروجی (JSON) و الزامات محتوا (ارتباط، اختصار) را برای هوش مصنوعی تعریف می‌کند.

* User Prompt: به طور پویا رزومه کامل و شرح شغل را شامل می‌شود.

* ورودی: resume را از گره Configuration و jobDescription را از گره‌های دریافت ورودی دریافت می‌کند.

* خروجی: یک شیء JSON ساختاریافته حاوی فیلدهای jobTitle، company و coverLetter تولید می‌کند.

  • Structured Output Parser (تجزیه‌کننده خروجی LangChain):

* هدف: تأیید می‌کند که خروجی LLM به طور دقیق با طرحواره JSON مورد انتظار مطابقت دارد. این امر یکپارچگی داده‌ها را برای فرآیندهای پایین دست تضمین می‌کند.

* پیکربندی: از یک مثال طرحواره JSON استفاده می‌کند که فیلدهای مورد نیاز را تعریف می‌کند: jobTitle، company و coverLetter.

* ورودی: خروجی JSON خام را از گره Write Cover Letter دریافت می‌کند.

* خروجی: شیء JSON تجزیه شده و تأیید شده را به مرحله بعدی منتقل می‌کند.

۳. ایجاد و پر کردن سند

این بلوک ایجاد و پر کردن محتوای سند Google را مدیریت می‌کند.

  • گره‌ها (Nodes):

* Create Cover Letter (گره ایجاد سند Google Docs)

* Populate Cover Letter (گره به‌روزرسانی سند Google Docs)

  • Create Cover Letter (گره ایجاد سند Google Docs):

* هدف: یک سند Google جدید با عنوانی پویا ایجاد می‌کند.

* پیکربندی:

* قالب عنوان: {company} - {jobTitle} - {YYYY-MM-DD}.

* برای احراز هویت به اعتبارنامه OAuth2 Google Docs نیاز دارد.

* اختیاری، شناسه پوشه (Folder ID) را برای ذخیره سند در Google Drive مشخص می‌کند.

* ورودی: داده‌های JSON تجزیه شده حاوی company و jobTitle را از تجزیه‌کننده خروجی ساختاریافته دریافت می‌کند.

* خروجی: فراداده سند، از جمله شناسه سند و URL را برمی‌گرداند.

  • Populate Cover Letter (گره به‌روزرسانی سند Google Docs):

* هدف: متن نامه پوششی تولید شده را در سند Google ایجاد شده درج می‌کند.

* پیکربندی:

* عملیات: درج متن.

* متن: فیلد coverLetter از JSON تجزیه شده.

* URL سند: به طور پویا با استفاده از خروجی گره Create Cover Letter تنظیم می‌شود.

* از همان اعتبارنامه OAuth2 Google Docs استفاده می‌کند.

* ورودی: شناسه سند را از Create Cover Letter و متن coverLetter را از JSON تجزیه شده دریافت می‌کند.

* خروجی: به‌روزرسانی موفقیت‌آمیز سند را تأیید می‌کند.

۴. تحویل به کاربر

این بلوک نهایی دسترسی به سند تولید شده را فراهم می‌کند.

  • گره‌ها (Nodes):

* Download Cover Letter (گره تکمیل فرم)

  • Download Cover Letter (گره تکمیل فرم):

* هدف: با هدایت کاربر به سند Google تولید شده، گردش کار را تکمیل می‌کند.

* پیکربندی:

* عملیات: تکمیل.

* URL هدایت: به طور پویا با استفاده از قالب URL Google Docs ساخته می‌شود: https://docs.google.com/document/d/{documentId}.

* ورودی: شناسه سند را از گره Populate Cover Letter دریافت می‌کند.

* خروجی: یک پاسخ هدایت HTTP به مرورگر کاربر ارسال می‌کند.

---

جدول خلاصه

نام گره (Node Name)نوع گره (Node Type)نقش عملکردی (Functional Role)گره(های) ورودی (Input Node(s))گره(های) خروجی (Output Node(s))
On form submissionتریگر فرم (Form Trigger)دریافت ورودی شرح شغل(تریگر Webhook)Configuration
When Executed by Another Workflowتریگر اجرای گردش کار (Execute Workflow Trigger)دریافت ورودی‌ها برای گردش کار فرعیتریگر خارجیWrite Cover Letter
Configurationتنظیم (Set)تزریق متن رزومه ثابتOn form submission / When Executed...Write Cover Letter
OpenRouter Chat Modelمدل چت زبان (Language Model Chat)ارائه موتور LLMWrite Cover Letter (عامل)Write Cover Letter (عامل)
Write Cover Letterعامل LangChain (LangChain Agent)تولید JSON نامه پوششیConfiguration, When Executed...Create Cover Letter
Structured Output Parserتجزیه‌کننده خروجی LangChain (LangChain Output Parser)تأیید خروجی JSON LLMWrite Cover LetterCreate Cover Letter
Create Cover Letterگره ایجاد سند Google Docs (Google Docs Create Document Node)ایجاد سند Google جدیدStructured Output ParserPopulate Cover Letter
Populate Cover Letterگره به‌روزرسانی سند Google Docs (Google Docs Update Document Node)درج نامه پوششی در سندCreate Cover LetterDownload Cover Letter
Download Cover Letterگره تکمیل فرم (Form Completion Node)هدایت کاربر به سند GooglePopulate Cover Letter(پایان)

---

بازسازی گردش کار

برای بازسازی این گردش کار:

1. با گره‌های ورودی شروع کنید:

* یک گره Form Trigger اضافه کنید. عنوان آن را "Job Description" قرار دهید و یک فیلد textarea واحد به نام jobDescription اضافه کنید.

* یک گره Execute Workflow Trigger اضافه کنید. آن را پیکربندی کنید تا jobDescription و resume را به عنوان ورودی بپذیرد.

2. رزومه ثابت را اضافه کنید:

* یک گره Set اضافه کنید. نام آن را Configuration بگذارید. در فیلد مقدار آن، متن رزومه ثابت را بچسبانید. اطمینان حاصل کنید که ورودی را از هر دو گره تریگر دریافت می‌کند.

3. پردازش هوش مصنوعی را پیکربندی کنید:

* یک گره Language Model Chat اضافه کنید (مانند OpenRouter Chat Model). ارائه‌دهنده LLM خود (مانند OpenRouter) و مدل دلخواه خود را پیکربندی کنید.

* یک گره LangChain Agent اضافه کنید. نام آن را Write Cover Letter بگذارید.

* پارامتر LLM را به گره OpenRouter Chat Model تنظیم کنید.

* System Prompt را برای تعریف وظیفه هوش مصنوعی، لحن و الزامات خروجی JSON (jobTitle, company, coverLetter) ایجاد کنید.

* User Prompt را برای شامل کردن متغیرهای resume و jobDescription پیکربندی کنید.

* یک گره LangChain Output Parser اضافه کنید. آن را با یک طرحواره JSON که با خروجی مورد انتظار مطابقت دارد (jobTitle, company, coverLetter) پیکربندی کنید.

4. یکپارچه‌سازی Google Docs را راه‌اندازی کنید:

* یک گره Google Docs Create Document Node اضافه کنید. نام آن را Create Cover Letter بگذارید.

* قالب عنوان را پیکربندی کنید: {company} - {jobTitle} - {YYYY-MM-DD}.

* از طریق OAuth2 با حساب Google خود احراز هویت کنید.

* در صورت تمایل، یک شناسه پوشه Google Drive مشخص کنید.

* یک گره Google Docs Update Document Node اضافه کنید. نام آن را Populate Cover Letter بگذارید.

* عملیات را روی "Insert text" تنظیم کنید.

* از فیلد coverLetter از JSON تجزیه شده به عنوان محتوای متن استفاده کنید.

* URL سند را به طور پویا با استفاده از خروجی گره Create Cover Letter تنظیم کنید.

* اطمینان حاصل کنید که احراز هویت Google Docs فعال است.

5. با هدایت کاربر نهایی کنید:

* یک گره Form Completion Node اضافه کنید. نام آن را Download Cover Letter بگذارید.

* عملیات را روی "Completion" تنظیم کنید.

* URL هدایت را با استفاده از شناسه سند از گره Populate Cover Letter بسازید: https://docs.google.com/document/d/{documentId}.

6. گره‌ها را متصل کنید: گره‌ها را به صورت متوالی مطابق با منطق گردش کار توضیح داده شده در بالا سیم‌کشی کنید. اطمینان حاصل کنید که داده‌ها به درستی بین آنها جریان می‌یابند.

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

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

این گردش کار n8n چگونه کار می‌کند؟

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

چه ورودی‌هایی برای این گردش کار لازم است؟

شما می‌توانید شرح شغل را از طریق یک فرم دستی وارد کنید یا آن را به صورت برنامه‌نویسی به عنوان یک گردش کار فرعی ارسال نمایید. رزومه نیز به صورت ثابت در گردش کار تعریف شده است.

خروجی نهایی این گردش کار چیست؟

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

آیا این گردش کار برای استفاده از هوش مصنوعی هزینه‌ای دارد؟

این گردش کار از مدل‌های زبانی از طریق OpenRouter استفاده می‌کند که ممکن است نیازمند اعتبار API باشد. جزئیات هزینه‌ها به ارائه‌دهنده سرویس هوش مصنوعی بستگی دارد.

workflowهای مرتبط

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