Эта функция особенно полезна при работе со сложными кодовыми базами или при попытке достичь конкретных результатов в сгенерированном коде. Предоставляя эти инструкции, пользователи могут гарантировать, что модель ИИ генерирует код, который соответствует их точным требованиям и спецификациям.
Встроенная инструкция — это специальный механизм, который позволяет пользователям предоставлять конкретные указания моделям ИИ в процессе выполнения задач, связанных с исходным кодом.
Одним из ключевых преимуществ использования встроенных инструкций является то, что пользователи могут точно настраивать вывод модели ИИ, не редактируя код вручную после этого. Это может сэкономить время и усилия, так как пользователи могут быстро и легко вносить изменения в сгенерированный код, не начиная с нуля.
Пользователи могут давать инструкции о том, как определенные части кода должны быть изменены или оптимизированы, используя теги <ai>...</ai>
в комментариях внутри кода.
Например, инструкция говорит движку CodePorting AI переименовать функцию Python crc_check в verifyCrc с использованием конвертера Python в Java converter и Model1:
# <ai>Переименовать функцию crc_check в verifyCrc</ai>
def crc_check(data, div):
...
return crc
Вывод конвертера — это Java-код, который содержит метод verifyCrc вместо crc_check или crcCheck:
// Этот код является переводом с Python на Java
public class CrcVerifier {
public static int verifyCrc(byte[] data, byte[] divisor) {
// Реализация проверки CRC
int crc = 0; // Заполнитель для расчета CRC
// Добавьте логику расчета CRC здесь
return crc;
}
}
Вот еще один пример того, как заставить движок ИИ создать каркасный код с использованием конвертера Python в Java converter и Model1:
# <ai>Переименовать функцию crc_check в verifyCrc</ai>
# <ai>Создать класс SecurityServiceImpl и интерфейс ISecurityService</ai>
def crc_check(data, div):
...
return crc
В результате выходной код содержит интерфейс ISecurityService, реализованный классом SecurityServiceImpl:
// Этот код переведен с Python на Java
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 в Java converter и Model1:
# <ai>Переименовать функцию crc_check в verifyCrc</ai>
# <ai>Создать класс SecurityServiceImpl и интерфейс ISecurityService с зависимостью контекста приложения в конструкторе</ai>
# <ai>Добавить зависимость логирования в класс</ai>
def crc_check(data, div):
...
# <ai>выбросить исключение вместо возврата результата</ai>
return crc
В результате логгер внедряется через конструктор SecurityServiceImpl:
// Этот код является переводом с Python на Java, реализующим сервис безопасности с функцией проверки 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 не удалась");
}
}