این ویژگی بهویژه زمانی مفید است که با کدهای پیچیده کار میکنید یا زمانی که سعی دارید به نتایج خاصی در کد تولید شده دست یابید. با ارائه این دستورالعملها، کاربران میتوانند اطمینان حاصل کنند که مدل هوش مصنوعی کدی تولید میکند که با نیازها و مشخصات دقیق آنها مطابقت دارد.
دستورالعملهای درونخطی یک مکانیزم خاص هستند که به کاربران اجازه میدهند در حین انجام وظایف مربوط به کد منبع، راهنماییهای خاصی به مدلهای هوش مصنوعی ارائه دهند.
یکی از مزایای کلیدی استفاده از دستورالعملهای درونخطی این است که به کاربران این امکان را میدهد که خروجی مدل هوش مصنوعی را بدون نیاز به ویرایش دستی کد بعداً تنظیم کنند. این میتواند زمان و تلاش را صرفهجویی کند، زیرا کاربران میتوانند به سرعت و به آسانی تغییراتی در کد تولید شده ایجاد کنند بدون اینکه نیاز به شروع از ابتدا داشته باشند.
کاربران میتوانند با استفاده از تگهای <ai>...</ai>
در نظرات داخل کد، دستورالعملهایی درباره اینکه چگونه بخشهای خاصی از کد باید تغییر یا بهینهسازی شوند، ارائه دهند.
به عنوان مثال، دستورالعمل به موتور هوش مصنوعی CodePorting میگوید که تابع پایتون crc_check را به verifyCrc تغییر نام دهد با استفاده از Python to Java مبدل و Model1:
# <ai>تغییر نام تابع crc_check به verifyCrc</ai>
def crc_check(data, div):
...
return crc
خروجی مبدل کد جاوا است که دارای متد verifyCrc به جای crc_check یا crcCheck است:
// این کد ترجمهای از پایتون به جاوا است
public class CrcVerifier {
public static int verifyCrc(byte[] data, byte[] divisor) {
// پیادهسازی بررسی CRC
int crc = 0; // جایگزینی برای محاسبه CRC
// منطق محاسبه CRC را اینجا اضافه کنید
return crc;
}
}
در اینجا یک مثال دیگر از چگونگی ایجاد کد اسکافولد توسط موتور هوش مصنوعی با استفاده از Python to Java مبدل و Model1 آورده شده است:
# <ai>تغییر نام تابع crc_check به verifyCrc</ai>
# <ai>ایجاد کلاس SecurityServiceImpl و رابط ISecurityService</ai>
def crc_check(data, div):
...
return crc
در نتیجه، کد خروجی شامل رابط ISecurityService است که توسط SecurityServiceImpl پیادهسازی شده است:
// این کد از پایتون به جاوا ترجمه شده است
public interface ISecurityService {
int verifyCrc(byte[] data, byte[] div);
}
public class SecurityServiceImpl implements ISecurityService {
@Override
public int verifyCrc(byte[] data, byte[] div) {
// منطق تأیید CRC را اینجا پیادهسازی کنید
int crc = 0;
// ...
return crc;
}
}
در اینجا یک مثال از چگونگی افزودن لاگگذاری به کلاس با استفاده از Python to Java مبدل و Model1 آورده شده است:
# <ai>تغییر نام تابع crc_check به verifyCrc</ai>
# <ai>ایجاد کلاس SecurityServiceImpl و رابط ISecurityService با وابستگی به زمینه برنامه در سازنده</ai>
# <ai>افزودن وابستگی لاگگذاری به کلاس</ai>
def crc_check(data, div):
...
# <ai>به جای بازگشت نتیجه، یک استثنا پرتاب کنید</ai>
return crc
در نتیجه، یک لاگر از طریق سازنده SecurityServiceImpl تزریق میشود:
// این کد ترجمهای از پایتون به جاوا است که یک سرویس امنیتی با تابع تأیید CRC را پیادهسازی میکند.
public interface ISecurityService {
// متدهایی که این رابط ارائه خواهد کرد را تعریف کنید
}
public class SecurityServiceImpl implements ISecurityService {
private final Logger logger;
public SecurityServiceImpl(Logger logger) {
this.logger = logger;
}
public void verifyCrc(byte[] data, byte[] div) throws Exception {
// جزئیات پیادهسازی اینجا...
// به جای بازگشت نتیجه، یک استثنا پرتاب کنید
throw new Exception("تأیید CRC ناموفق بود");
}
}