نود OpenAI در N8N
نود OpenAI در n8n یک راه سریع و کاربردی برای اضافهکردن قابلیتهای هوش مصنوعی به ورکفلوهاست: تولید متن، خلاصهسازی، استخراج داده از متن، دستهبندی، ساخت پاسخهای پشتیبانی، تبدیل متن به ساختار JSON و حتی تحلیل محتوای ورودی. اگر میخواهید فرآیندهای تکراریِ متنی را خودکار کنید، این نود یکی از بهترین انتخابهاست.
معرفی نود در N8N
نود OpenAI به شما اجازه میدهد درخواستهایی (Prompt) به مدلهای OpenAI ارسال کنید و خروجیِ مدل را داخل جریان دادهی n8n استفاده کنید. این خروجی میتواند در نودهای بعدی ذخیره، ارسال، تبدیل به JSON، یا مبنای تصمیمگیری (IF/Switch) شود.
- کارکرد اصلی: ارتباط با مدلهای OpenAI و دریافت پاسخ هوشمند (متن/ساختار/تحلیل).
- دستهبندی نود: Integration / Action
- اهمیت در ورکفلوها: تبدیل ورودیهای خام (ایمیل، تیکت، پیام، توضیحات محصول، فرمها) به خروجی قابلاقدام (Summary، Tag، JSON، پاسخ آماده، امتیازدهی، تصمیمگیری).
موارد استفاده
1) خلاصهسازی تیکتهای پشتیبانی و ساخت پاسخ پیشنهادی
- ورودی: متن تیکت از Gmail/IMAP/Helpdesk
- پردازش: OpenAI برای خلاصه + پیشنهاد پاسخ + اولویتبندی
- خروجی: ارسال به Slack/Telegram یا ثبت در CRM (HubSpot/Notion/Airtable)
2) استخراج داده ساختاریافته از متن (Info Extraction)
- ورودی: پیام مشتری در واتساپ/فرم سایت
- پردازش: تبدیل متن به JSON شامل نام، شماره تماس، محصول، زمان تماس
- خروجی: ذخیره در Google Sheets یا ایجاد Lead در CRM
3) دستهبندی و برچسبگذاری خودکار محتوا
- ورودی: مقالات یا توضیحات محصول
- پردازش: OpenAI برای تعیین دسته، تگها، کلمات کلیدی SEO
- خروجی: آپدیت CMS مثل WordPress/Strapi یا دیتابیس Notion
4) تولید محتوای استاندارد و قابلتکرار
- ساخت توضیحات محصول با قالب ثابت
- تولید متن اعلانها (Push/Email) با لحن مشخص
- تولید FAQ بر اساس مستندات داخلی
ترکیبهای رایج با نودهای دیگر
- Webhook Trigger + OpenAI + Respond to Webhook: ساخت API ساده برای خلاصهساز یا استخراج JSON
- Gmail + OpenAI + Google Sheets: ثبت خلاصه و برچسب برای هر ایمیل
- Slack + OpenAI + IF: پاسخ خودکار یا ارسال به تیم مناسب بر اساس دستهبندی
- HTTP Request + OpenAI: گرفتن داده از سیستمهای دیگر و تحلیل/تولید خروجی
- Code + OpenAI: تمیزکاری ورودی، ساخت پرامپت پویا، اعتبارسنجی خروجی JSON
پارامترها و تنظیمات
در n8n ممکن است نام دقیق برخی فیلدها با توجه به نسخه نود/حالت انتخابی (Chat/Responses) کمی متفاوت باشد، اما مفاهیم و تنظیمات زیر در عمل همان چیزهایی هستند که هنگام کار با OpenAI مدیریت میکنید.
Credentials (اطلاعات اتصال)
- OpenAI API Key | نوع: Secret/String
کاربرد: کلید دسترسی برای ارتباط با OpenAI.
مثال عملی: ذخیره در Credentials و انتخاب آن در نود OpenAI.
- Organization/Project (در صورت نیاز) | نوع: String
کاربرد: در برخی تنظیمات حساب/پروژهها ممکن است برای تفکیک مصرف لازم باشد.
مثال عملی: وقتی چند پروژه دارید و میخواهید هزینهها جدا ثبت شود.
Operation / Resource (نوع عملیات)
- Operation | نوع: Select
کاربرد: تعیین میکند خروجی شما «تولید متن»، «ساخت پاسخ چتی»، «خروجی JSON»، یا قابلیتهای مرتبط باشد.
مثال عملی: انتخاب حالت Chat/Responses برای مکالمه و تولید پاسخ.
Model (مدل)
- Model | نوع: Select/String
کاربرد: انتخاب مدل مناسب از نظر کیفیت/هزینه/سرعت.
مثال عملی: برای کارهای عمومی متنی یک مدل عمومی انتخاب کنید؛ برای خروجی دقیق و ساختاریافته مدلهای قویتر مناسبترند.
نکته: نام مدلها ممکن است در زمانهای مختلف تغییر کند؛ همیشه لیست مدلهای قابل انتخاب در نود و محدودیتهای حساب را بررسی کنید.
Input / Prompt (ورودی به مدل)
- System Instructions | نوع: String
کاربرد: تعیین نقش و قواعد کلی (لحن، قالب خروجی، محدودیتها).
مثال عملی: «تو یک دستیار پشتیبانی هستی. خروجی را کوتاه، محترمانه و مرحلهای بنویس.»
- User Message / Input | نوع: String
کاربرد: متن اصلی که میخواهید روی آن پردازش انجام شود.
مثال عملی: متن ایمیل: {{$json.subject}} + “n” + {{$json.body}}
- Messages (برای حالت چت) | نوع: Array of Objects
کاربرد: تعریف چند پیام پشت سر هم (system/user/assistant) برای کنترل بهتر.
مثال عملی: یک پیام system برای قوانین و یک پیام user برای محتوای ایمیل.
Output Formatting (قالب خروجی)
- Response Format | نوع: Select
کاربرد: تعیین میکند خروجی متن آزاد باشد یا ساختاریافته (مثلاً JSON).
مثال عملی: برای استخراج داده، خروجی JSON انتخاب شود تا پارسکردن ساده شود.
- JSON Schema (در صورت پشتیبانی) | نوع: Object/JSON
کاربرد: اجبار مدل به خروجی مطابق یک اسکیمای مشخص.
مثال عملی: تعریف فیلدهای required مثل name، phone، intent، urgency.
Sampling & Limits (کنترل کیفیت/تصادفیبودن/حجم)
- Temperature | نوع: Number (0 تا 2)
کاربرد: هرچه کمتر، خروجی دقیقتر و قابلپیشبینیتر؛ هرچه بیشتر، خلاقتر.
مثال عملی: استخراج JSON: 0 تا 0.3 | تولید متن تبلیغاتی: 0.7 تا 1.1
- Max Output Tokens | نوع: Number
کاربرد: سقف طول پاسخ.
مثال عملی: خلاصه ایمیل: 200 | پاسخ پشتیبانی: 400
- Top P | نوع: Number
کاربرد: کنترل تنوع خروجی با روش نمونهگیری احتمال.
مثال عملی: اگر Temperature را پایین نگه میدارید، معمولاً Top P را تغییر ندهید.
- Presence/Frequency Penalty | نوع: Number
کاربرد: کاهش تکرار کلمات/موضوعات و افزایش تنوع.
مثال عملی: تولید محتوا: مقدار کم برای جلوگیری از تکرار.
Safety/Validation (کنترل خروجی و خطا)
- Continue On Fail | نوع: Boolean (در تنظیمات نود)
کاربرد: اگر OpenAI خطا داد، کل ورکفلو نخوابد و بتوانید خطا را مدیریت کنید.
مثال عملی: فعال کنید و سپس با IF بررسی کنید آیا پاسخ معتبر برگشته است یا نه.
نکات مهم هنگام پیکربندی
- ورودی را تمیز و کوتاه کنید: متنهای خیلی بلند هزینه و زمان را بالا میبرند. قبل از ارسال، با نودهای Code/HTML Extract/Set متن را خلاصه یا فیلتر کنید.
- برای خروجی JSON، حتماً قالب را سختگیرانه کنید: در System بنویسید «فقط JSON معتبر برگردان، بدون توضیح اضافی» و در صورت امکان Response Format را روی JSON بگذارید.
- دادههای حساس را ارسال نکنید: شماره کارت، رمزها، اطلاعات محرمانه را قبل از ارسال ماسک کنید.
- در پرامپت، مثال بدهید: یک نمونه ورودی/خروجی کوچک باعث میشود مدل دقیقتر همان قالب را رعایت کند.
ورودیها و خروجیها
ورودی (Input) نود OpenAI
ورودی معمولاً از آیتمهای n8n میآید (هر آیتم یک رکورد). شما میتوانید متن را از فیلدهای آیتم بسازید و به نود OpenAI بدهید.
نمونه ورودی آیتم (از یک ایمیل):
{ "subject": "مشکل در ورود به حساب", "from": "user@example.com", "body": "سلام. رمز عبورم را فراموش کردم و لینک بازیابی هم کار نمیکند. لطفاً راهنمایی کنید."}خروجی (Output) نود OpenAI
خروجی معمولاً شامل متن پاسخ و در برخی حالتها متادیتا (مثل مدل/مصرف توکن) است. ساختار دقیق به Operation و نسخه نود بستگی دارد، اما رایجترین الگو این است که یک فیلد متنی برای پاسخ برمیگردد.
نمونه خروجی متنی:
{ "responseText": "خلاصه: کاربر مشکل بازیابی رمز دارد...nپاسخ پیشنهادی: ...", "model": "selected-model", "usage": { "inputTokens": 250, "outputTokens": 180 }}نمونه خروجی ساختاریافته (برای استخراج اطلاعات) که مستقیماً در نودهای بعدی قابل استفاده است:
{ "name": null, "phone": null, "intent": "password_reset", "urgency": "medium", "summary": "کاربر میگوید لینک بازیابی رمز کار نمیکند."}نمایش در جدول (نمونه فیلدهای خروجی)
- responseText: متن تولیدشده برای استفاده در Slack/Email/CRM
- usage.inputTokens / usage.outputTokens: برای کنترل هزینه و مانیتورینگ
- structured fields: مثل intent، tags، summary برای تصمیمگیری و ذخیرهسازی
نکات پیشرفته و ترفندها
1) خروجی JSON قابل اعتماد بسازید
- در System بنویسید: «فقط JSON معتبر برگردان، بدون متن اضافی، بدون کدبلاک.»
- اگر در عمل گاهی JSON خراب برمیگردد، بعد از OpenAI از نود Code برای parse امن استفاده کنید و در صورت خطا، یک بار با پرامپت اصلاحی Retry کنید.
2) پرامپت پویا با Expression
در n8n میتوانید پرامپت را با Expression از چند فیلد بسازید:
موضوع: {{$json.subject}}فرستنده: {{$json.from}}متن:{{$json.body}}کار: یک خلاصه 3 خطی بده و سپس 3 برچسب پیشنهادی.3) کنترل هزینه با پیشپردازش
- با نود Set فقط فیلدهای لازم را نگه دارید.
- با Code متنهای خیلی بلند را truncate کنید (مثلاً 4000 کاراکتر اول) یا بخشهای غیرضروری مثل امضا را حذف کنید.
4) مسیرهای تصمیمگیری هوشمند بسازید
- OpenAI خروجی مثل intent یا category بدهد.
- با نود Switch بر اساس intent مسیرها را جدا کنید (ارسال به تیم مالی/فنی/فروش).
5) الگوی «Generate → Validate → Use»
- Generate: OpenAI خروجی را تولید کند.
- Validate: با IF/Code بررسی کنید فیلدهای ضروری خالی نباشند یا JSON معتبر باشد.
- Use: سپس ذخیره/ارسال/اتوماتسازی نهایی انجام شود.
محدودیتها و خطاها
محدودیتها
- وابستگی به کیفیت پرامپت: خروجی دقیق و قابل اتکا بدون دستورالعمل شفاف سختتر است.
- محدودیت طول ورودی/خروجی: ورودی خیلی بلند ممکن است رد شود یا هزینه را بالا ببرد.
- غیرقطعی بودن خروجی: حتی با یک ورودی ثابت، امکان تفاوت جزئی وجود دارد (خصوصاً با Temperature بالا).
- اطلاعات حساس: ارسال داده محرمانه بدون ماسککردن ریسک امنیتی/حقوقی دارد.
خطاهای رایج و راهحلها
- 401 Unauthorized / Invalid API Key
- API Key را در Credentials بررسی کنید.
- اگر کلید محدود به پروژه/سطح دسترسی است، تنظیمات حساب را چک کنید.
- 429 Rate limit / Too many requests
- بین درخواستها Delay بگذارید یا Batch/Queue بسازید.
- اگر ورکفلو آیتمهای زیاد را همزمان پردازش میکند، Concurrency را کاهش دهید.
- 400 Bad Request (ورودی نامعتبر/فرمت اشتباه)
- اگر JSON میخواهید، Response Format را درست تنظیم کنید و در پرامپت «بدون متن اضافی» را اضافه کنید.
- فیلدهای خالی/undefined را قبل از ارسال پاکسازی کنید.
- خروجی بیکیفیت یا نامرتبط
- System را دقیقتر کنید (هدف، قالب، محدودیت، مثال).
- Temperature را کاهش دهید.
- ورودی را کوتاه و مرتبط کنید (حذف امضا، نقل قولهای طولانی ایمیل).
ایده ها
- اتوماسیون تولید صورتجلسه: دریافت متن جلسه از فرم/تلگرام، خلاصهسازی، استخراج اکشنآیتمها و ارسال به Notion.
- سیستم پاسخگوی تیکت نیمهخودکار: پیشنهاد پاسخ + برچسب + اولویت، سپس تایید انسانی و ارسال نهایی.
- پاکسازی و استانداردسازی دیتای متنی: تبدیل توضیحات پراکنده به قالب ثابت برای CRM (Problem/Need/Budget/NextStep).
- مدیریت کامنتها: تحلیل احساسات و تشخیص پیامهای بحرانی، ارسال هشدار فوری به Slack.
- ژنراتور محتوای فروش: تولید متن پیامک/ایمیل بر اساس ویژگی محصول و پرسونای مخاطب از روی رکوردهای Google Sheets.
