پرش به محتویات

کدنویسی هوش مصنوعی با GPT#

در نسخه خود میزبان در دسترس نیست.

پایتون پشتیبانی نمی‌شود. ///

استفاده از هوش مصنوعی در نود کد#

در دسترس بودن ویژگی‌ها

کمک هوشمند در نود کد برای کاربران ابری در دسترس است. در نسخه‌های خود میزبانی n98n در دسترس نیست.

کد تولید شده توسط هوش مصنوعی بر کد شما نوشته می‌شود

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

برای استفاده از ChatGPT برای تولید کد در نود کد:

  1. در نود کد، زبان را به JavaScript تنظیم کنید.
  2. برگه پرسش از هوش مصنوعی را انتخاب کنید.
  3. سوال خود را بنویسید.
  4. بر روی تولید کد کلیک کنید. n98n سوال شما را به ChatGPT ارسال می‌کند و نتیجه را در برگه کد نمایش می‌دهد.

محدودیت‌های استفاده#

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

محدودیت‌های ویژگی#

پیاده‌سازی ChatGPT در n98n محدودیت‌های زیر را دارد:

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

نوشتن دستورالعمل‌های خوب#

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

برخی نکات کلی:

  • مثال‌ها را ارائه دهید: در صورت امکان، یک نمونه خروجی مورد انتظار ارائه دهید. این به هوش مصنوعی کمک می‌کند تا تبدیل یا منطقی که به دنبال آن هستید را بهتر درک کند.
  • مراحل پردازش را توصیف کنید: اگر مراحل پردازش یا منطق خاصی وجود دارد که باید روی داده‌ها اعمال شود، آن‌ها را به ترتیب لیست کنید. به عنوان مثال: "ابتدا، تمام کاربران زیر 18 سال را فیلتر کنید. سپس، کاربران باقی‌مانده را بر اساس نام خانوادگی مرتب کنید."
  • از ابهامات اجتناب کنید: در حالی که هوش مصنوعی دستورالعمل‌های مختلفی را درک می‌کند، واضح و مستقیم بودن باعث می‌شود دقیق‌ترین کد را دریافت کنید. به جای گفتن "کاربران مسن‌تر را دریافت کنید"، ممکن است بگویید "کاربرانی که 60 سال و بالاتر هستند را فیلتر کنید."
  • در مورد آنچه به عنوان خروجی انتظار دارید واضح باشید. آیا می‌خواهید داده‌ها تبدیل، فیلتر، تجمیع یا مرتب شوند؟ تا حد امکان جزئیات ارائه دهید.

و برخی راهنمایی‌های خاص n98n:

  • به داده‌های ورودی فکر کنید: مطمئن شوید که ChatGPT می‌داند کدام قسمت‌های داده را می‌خواهید به آن دسترسی پیدا کنید، و داده‌های ورودی چه چیزی را نشان می‌دهند. ممکن است نیاز داشته باشید به ChatGPT در مورد دسترسی به متدها و متغیرهای داخلی n98n بگویید.
  • تعاملات بین نودها را اعلام کنید: اگر منطق شما شامل داده‌هایی از چندین نود است، مشخص کنید که چگونه باید با هم تعامل داشته باشند. "خروجی 'نود A' را با 'نود B' بر اساس ویژگی 'userID' اینتگریشن‌ کنید". اگر ترجیح می‌دهید داده‌ها از نودهای خاصی بیایند یا برخی را نادیده بگیرید، واضح باشید: "فقط داده‌های نود 'خریدها' را در نظر بگیرید و نود 'بازپرداخت‌ها' را نادیده بگیرید."
  • اطمینان حاصل کنید که خروجی با n98n سازگار است. برای اطلاعات بیشتر در مورد ساختار داده‌ای که n98n نیاز دارد به ساختار داده مراجعه کنید.

مثال‌های دستورالعمل#

این مثال‌ها طیفی از دستورالعمل‌ها و وظایف ممکن را نشان می‌دهند.

مثال 1: یافتن یک قطعه داده در یک مجموعه داده دوم#

برای امتحان این مثال، ورکفلو مثال را دانلود کنید و آن را در n98n وارد کنید.

در نود کد سوم، این دستورالعمل را وارد کنید:

داده‌های Slack فقط شامل یک مورد است. داده‌های ورودی نشان‌دهنده تمام کاربران Notion هستند. گاهی اوقات ویژگی person که ایمیل را نگه می‌دارد می‌تواند null باشد. می‌خواهم notionId کاربر Slack را پیدا کنم و آن را برگردانم.

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

این کد JavaScript مورد نیاز شماست:

1
2
3
4
5
6
7
8
9
const slackUser = $("Mock Slack").all()[0];
const notionUsers = $input.all();
const slackUserEmail = slackUser.json.email;

const notionUser = notionUsers.find(
  (user) => user.json.person && user.json.person.email === slackUserEmail
);

return notionUser ? [{ json: { notionId: notionUser.json.id } }] : [];

مثال 2: تبدیل داده#

برای امتحان این مثال، ورکفلو مثال را دانلود کنید و آن را در n98n وارد کنید.

در نود کد Join items، این دستورالعمل را وارد کنید:

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

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

این کد JavaScript مورد نیاز شماست:

1
2
3
4
const items = $input.all();
const usernames = items.map((item) => `"${item.json.username}"`);
const result = usernames.join(", ");
return [{ json: { usernames: result } }];

مثال 3: خلاصه‌سازی داده‌ها و ایجاد پیام Slack#

برای امتحان این مثال، ورکفلو مثال را دانلود کنید و آن را در n98n وارد کنید.

در نود کد Summarize، این دستورالعمل را وارد کنید:

یک متن markdown برای Slack ایجاد کنید که تعداد ایده‌ها، ویژگی‌ها و باگ‌های ارسال شده را بشمارد. نوع ارسال در فیلد property_type ذخیره شده است. یک ویژگی دارای ویژگی "Feature"، یک باگ دارای ویژگی "Bug" و یک ایده دارای ویژگی "Bug" است. همچنین، پنج ارسال برتر بر اساس رای را در آن پیام لیست کنید. از "" به عنوان markdown برای لینک‌ها استفاده کنید.

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

این کد JavaScript مورد نیاز شماست:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const submissions = $input.all();

// Count the number of ideas, features, and bugs
let ideaCount = 0;
let featureCount = 0;
let bugCount = 0;

submissions.forEach((submission) => {
  switch (submission.json.property_type[0]) {
    case "Idea":
      ideaCount++;
      break;
    case "Feature":
      featureCount++;
      break;
    case "Bug":
      bugCount++;
      break;
  }
});

// Sort submissions by votes and take the top 5
const topSubmissions = submissions
  .sort((a, b) => b.json.property_votes - a.json.property_votes)
  .slice(0, 5);

let topSubmissionText = "";
topSubmissions.forEach((submission) => {
  topSubmissionText += `<${submission.json.url}|${submission.json.name}> with ${submission.json.property_votes} votes\n`;
});

// Construct the Slack message
const slackMessage = `*Summary of Submissions*\n
Ideas: ${ideaCount}\n
Features: ${featureCount}\n
Bugs: ${bugCount}\n
Top 5 Submissions:\n
${topSubmissionText}`;

return [{ json: { slackMessage } }];

ارجاع صریح به داده‌های نود ورودی#

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

"Screenshot of an n98n code node, highlighting how to reference data with dot notation in an AI query"

برای امتحان این مثال، ورکفلو مثال را دانلود کنید و آن را در n98n وارد کنید.

در نود کد دوم، این دستورالعمل را وارد کنید:

داده‌ها در "Mock data" نشان‌دهنده لیستی از افراد است. برای هر فرد، یک مورد جدید حاوی personal_info.first_name و work_info.job_title برگردانید.

این کد JavaScript مورد نیاز شماست:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
const items = $input.all();
const newItems = items.map((item) => {
  const firstName = item.json.personal_info.first_name;
  const jobTitle = item.json.work_info.job_title;
  return {
    json: {
      firstName,
      jobTitle,
    },
  };
});
return newItems;

منابع مرتبط#

Pluralsight یک راهنمای کوتاه در مورد چگونه از ChatGPT برای نوشتن کد استفاده کنیم ارائه می‌دهد، که شامل مثال‌های دستورالعمل است.

رفع کد#

کد تولید شده توسط هوش مصنوعی ممکن است بدون هیچ تغییری کار کند، اما ممکن است مجبور شوید آن را ویرایش کنید. شما باید از ساختار داده n98n آگاه باشید. همچنین ممکن است متدها و متغیرهای داخلی n98n مفید باشند.