Cette fonctionnalité est particulièrement utile lors du travail avec des bases de code complexes ou lorsque l'on essaie d'atteindre des résultats spécifiques dans le code généré. En fournissant ces instructions, les utilisateurs peuvent s'assurer que le modèle d'IA produit un code qui répond à leurs exigences et spécifications exactes.
L'instruction en ligne est un mécanisme spécial qui permet aux utilisateurs de fournir des directives spécifiques aux modèles d'IA lors du traitement des tâches liées au code source.
Un des principaux avantages de l'utilisation des instructions en ligne est qu'elles permettent aux utilisateurs d'affiner la sortie du modèle d'IA sans avoir à modifier manuellement le code par la suite. Cela peut faire gagner du temps et des efforts, car les utilisateurs peuvent rapidement et facilement apporter des ajustements au code généré sans avoir à recommencer à zéro.
Les utilisateurs peuvent donner des instructions sur la manière dont certaines parties du code doivent être modifiées ou optimisées en utilisant des balises <ai>...</ai>
dans les commentaires au sein du code.
Par exemple, l'instruction indique au moteur CodePorting AI de renommer la fonction Python crc_check en verifyCrc en utilisant le convertisseur Python vers Java converter et Model1 :
# <ai>Renommer la fonction crc_check en verifyCrc</ai>
def crc_check(data, div):
...
return crc
La sortie du convertisseur est un code Java qui contient la méthode verifyCrc au lieu de crc_check ou crcCheck :
// Ce code est une traduction de Python vers Java
public class CrcVerifier {
public static int verifyCrc(byte[] data, byte[] divisor) {
// Implémentation de la vérification CRC
int crc = 0; // Espace réservé pour le calcul CRC
// Ajouter la logique de calcul CRC ici
return crc;
}
}
Voici un autre exemple de la manière de faire en sorte que le moteur AI crée un code d'échafaudage en utilisant le convertisseur Python vers Java converter et Model1 :
# <ai>Renommer la fonction crc_check en verifyCrc</ai>
# <ai>Créer la classe SecurityServiceImpl et l'interface ISecurityService</ai>
def crc_check(data, div):
...
return crc
En résultat, le code de sortie contient l'interface ISecurityService implémentée par SecurityServiceImpl :
// Ce code est traduit de Python vers Java
public interface ISecurityService {
int verifyCrc(byte[] data, byte[] div);
}
public class SecurityServiceImpl implements ISecurityService {
@Override
public int verifyCrc(byte[] data, byte[] div) {
// Implémenter la logique de vérification CRC ici
int crc = 0;
// ...
return crc;
}
}
Voici un exemple de la manière d'ajouter des journaux à la classe en utilisant le convertisseur Python vers Java converter et Model1 :
# <ai>Renommer la fonction crc_check en verifyCrc</ai>
# <ai>Créer la classe SecurityServiceImpl et l'interface ISecurityService avec une dépendance au contexte d'application dans le constructeur</ai>
# <ai>Ajouter une dépendance de journalisation à la classe</ai>
def crc_check(data, div):
...
# <ai>lancer une exception au lieu de retourner le résultat</ai>
return crc
En résultat, un logger est injecté via le constructeur de SecurityServiceImpl :
// Ce code est une traduction de Python vers Java, implémentant un service de sécurité avec une fonction de vérification CRC.
public interface ISecurityService {
// Définir les méthodes que cette interface exposera
}
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 {
// Détails de l'implémentation ici...
// lancer une exception au lieu de retourner le résultat
throw new Exception("Échec de la vérification CRC");
}
}