La función es particularmente útil al trabajar con bases de código complejas o al intentar lograr resultados específicos en el código generado. Al proporcionar estas instrucciones, los usuarios pueden asegurarse de que el modelo de IA produzca código que cumpla con sus requisitos y especificaciones exactas.
La instrucción en línea es un mecanismo especial que permite a los usuarios proporcionar orientación específica a los modelos de IA durante el proceso de tareas relacionadas con el código fuente.
Un beneficio clave de usar instrucciones en línea es que permite a los usuarios ajustar la salida del modelo de IA sin tener que editar manualmente el código después. Esto puede ahorrar tiempo y esfuerzo, ya que los usuarios pueden realizar ajustes rápida y fácilmente en el código generado sin tener que empezar desde cero.
Los usuarios pueden dar instrucciones sobre cómo ciertas partes del código deben ser modificadas u optimizadas utilizando las etiquetas <ai>...</ai>
en comentarios dentro del código.
Por ejemplo, la instrucción indica al motor de IA CodePorting que renombre la función de Python crc_check a verifyCrc utilizando el convertidor de Python a Java converter y Model1:
# <ai>Renombrar la función crc_check a verifyCrc</ai>
def crc_check(data, div):
...
return crc
La salida del convertidor es código Java que tiene el método verifyCrc en lugar de crc_check o crcCheck:
// Este código es una traducción de Python a Java
public class CrcVerifier {
public static int verifyCrc(byte[] data, byte[] divisor) {
// Implementación de la verificación de CRC
int crc = 0; // Marcador para el cálculo de CRC
// Agregar lógica de cálculo de CRC aquí
return crc;
}
}
Aquí hay otro ejemplo de cómo hacer que el Motor de IA cree un código de andamiaje utilizando el convertidor de Python a Java converter y Model1:
# <ai>Renombrar la función crc_check a verifyCrc</ai>
# <ai>Crear la clase SecurityServiceImpl y la interfaz ISecurityService</ai>
def crc_check(data, div):
...
return crc
Como resultado, el código de salida contiene la interfaz ISecurityService implementada por SecurityServiceImpl:
// Este código es una traducción de Python a Java
public interface ISecurityService {
int verifyCrc(byte[] data, byte[] div);
}
public class SecurityServiceImpl implements ISecurityService {
@Override
public int verifyCrc(byte[] data, byte[] div) {
// Implementar la lógica de verificación de CRC aquí
int crc = 0;
// ...
return crc;
}
}
Aquí hay un ejemplo de cómo agregar registro a la clase utilizando el convertidor de Python a Java converter y Model1:
# <ai>Renombrar la función crc_check a verifyCrc</ai>
# <ai>Crear la clase SecurityServiceImpl y la interfaz ISecurityService con dependencia de contexto de aplicación en el constructor</ai>
# <ai>Agregar dependencia de registro a la clase</ai>
def crc_check(data, div):
...
# <ai>lanzar una excepción en lugar de devolver el resultado</ai>
return crc
Como resultado, un registrador es inyectado a través del constructor de SecurityServiceImpl:
// Este código es una traducción de Python a Java, implementando un servicio de seguridad con una función de verificación de CRC.
public interface ISecurityService {
// Definir métodos que esta interfaz expondrá
}
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 {
// Detalles de implementación aquí...
// lanzar una excepción en lugar de devolver el resultado
throw new Exception("La verificación de CRC falló");
}
}