Funktionen er særligt nyttig, når man arbejder med komplekse kodebaser eller når man forsøger at opnå specifikke resultater i den genererede kode. Ved at give disse instruktioner kan brugerne sikre, at AI-modellen producerer kode, der opfylder deres præcise krav og specifikationer.
Inline instruktion er en særlig mekanisme, der gør det muligt for brugerne at give specifik vejledning til AI-modeller under processen med opgaver relateret til kildekode.
En vigtig fordel ved at bruge inline instruktion er, at det giver brugerne mulighed for at finjustere outputtet fra AI-modellen uden at skulle redigere koden manuelt bagefter. Dette kan spare tid og kræfter, da brugerne hurtigt og nemt kan foretage justeringer i den genererede kode uden at skulle starte forfra.
Brugerne kan give instruktioner om, hvordan bestemte dele af koden skal ændres eller optimeres ved at bruge <ai>...</ai>
tags i kommentarer inden i koden.
For eksempel instruerer instruktionen CodePorting AI-motoren til at omdøbe Python-funktionen crc_check til verifyCrc ved hjælp af Python til Java converter og Model1:
# <ai>Omdøb funktionen crc_check til verifyCrc</ai>
def crc_check(data, div):
...
return crc
converterens output er Java-kode, der har verifyCrc-metoden i stedet for crc_check eller crcCheck:
// Denne kode er en oversættelse fra Python til Java
public class CrcVerifier {
public static int verifyCrc(byte[] data, byte[] divisor) {
// Implementering af CRC kontrol
int crc = 0; // Pladsholder for CRC beregning
// Tilføj CRC beregningslogik her
return crc;
}
}
Her er et andet eksempel på, hvordan man får AI-motoren til at oprette en scaffold-kode ved hjælp af Python til Java converter og Model1:
# <ai>Omdøb funktionen crc_check til verifyCrc</ai>
# <ai>Opret klassen SecurityServiceImpl og ISecurityService interface</ai>
def crc_check(data, div):
...
return crc
Som resultat indeholder outputkoden ISecurityService interface implementeret af SecurityServiceImpl:
// Denne kode er oversat fra Python til Java
public interface ISecurityService {
int verifyCrc(byte[] data, byte[] div);
}
public class SecurityServiceImpl implements ISecurityService {
@Override
public int verifyCrc(byte[] data, byte[] div) {
// Implementer CRC verifikationslogikken her
int crc = 0;
// ...
return crc;
}
}
Her er et eksempel på, hvordan man tilføjer logging til klassen ved hjælp af Python til Java converter og Model1:
# <ai>Omdøb funktionen crc_check til verifyCrc</ai>
# <ai>Opret klassen SecurityServiceImpl og ISecurityService interface med applikationskontekstavhængighed i konstruktøren</ai>
# <ai>Tilføj logging afhængighed til klassen</ai>
def crc_check(data, div):
...
# <ai>kast en undtagelse i stedet for at returnere resultatet</ai>
return crc
Som resultat injiceres en logger via konstruktøren af SecurityServiceImpl:
// Denne kode er en oversættelse fra Python til Java, der implementerer en sikkerhedstjeneste med en CRC verifikationsfunktion.
public interface ISecurityService {
// Definer metoder, som dette interface vil eksponere
}
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 {
// Implementeringsdetaljer her...
// kast en undtagelse i stedet for at returnere resultatet
throw new Exception("CRC verifikation mislykkedes");
}
}