O recurso é particularmente útil ao trabalhar com bases de código complexas ou ao tentar alcançar resultados específicos no código gerado. Ao fornecer essas instruções, os usuários podem garantir que o modelo de IA produza código que atenda exatamente às suas necessidades e especificações.
A instrução inline é um mecanismo especial que permite aos usuários fornecer orientações específicas aos modelos de IA durante o processo de tarefas relacionadas ao código-fonte.
Um dos principais benefícios do uso de instruções inline é que ele permite que os usuários ajustem a saída do modelo de IA sem precisar editar manualmente o código depois. Isso pode economizar tempo e esforço, pois os usuários podem rapidamente e facilmente fazer ajustes no código gerado sem ter que começar do zero.
Os usuários podem dar instruções sobre como certas partes do código devem ser modificadas ou otimizadas usando as tags <ai>...</ai>
em comentários dentro do código.
Por exemplo, a instrução diz ao motor AI CodePorting para renomear a função Python crc_check para verifyCrc usando o conversor Python para Java converter e Model1:
# <ai>Renomear função crc_check para verifyCrc</ai>
def crc_check(data, div):
...
return crc
A saída do conversor é um código Java que tem o método verifyCrc em vez de crc_check ou crcCheck:
// Este código é uma tradução de Python para Java
public class CrcVerifier {
public static int verifyCrc(byte[] data, byte[] divisor) {
// Implementação da verificação CRC
int crc = 0; // Placeholder para o cálculo CRC
// Adicione a lógica de cálculo CRC aqui
return crc;
}
}
Aqui está outro exemplo de como fazer o Motor AI criar um código de estrutura usando o conversor Python para Java converter e Model1:
# <ai>Renomear função crc_check para verifyCrc</ai>
# <ai>Criar classe SecurityServiceImpl e interface ISecurityService</ai>
def crc_check(data, div):
...
return crc
Como resultado, o código de saída contém a interface ISecurityService implementada pela SecurityServiceImpl:
// Este código é traduzido de Python para Java
public interface ISecurityService {
int verifyCrc(byte[] data, byte[] div);
}
public class SecurityServiceImpl implements ISecurityService {
@Override
public int verifyCrc(byte[] data, byte[] div) {
// Implemente a lógica de verificação CRC aqui
int crc = 0;
// ...
return crc;
}
}
Aqui está um exemplo de como adicionar logging à classe usando o conversor Python para Java converter e Model1:
# <ai>Renomear função crc_check para verifyCrc</ai>
# <ai>Criar classe SecurityServiceImpl e interface ISecurityService com dependência de contexto de aplicação no construtor</ai>
# <ai>Adicionar dependência de logging à classe</ai>
def crc_check(data, div):
...
# <ai>lançar uma exceção em vez de retornar o resultado</ai>
return crc
Como resultado, um logger é injetado via construtor da SecurityServiceImpl:
// Este código é uma tradução de Python para Java, implementando um serviço de segurança com uma função de verificação CRC.
public interface ISecurityService {
// Defina os métodos que esta interface irá expor
}
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 {
// Detalhes da implementação aqui...
// lançar uma exceção em vez de retornar o resultado
throw new Exception("Falha na verificação CRC");
}
}