Maison  >  Article  >  développement back-end  >  Le code Python est automatiquement converti en codes d'autres langages de programmation

Le code Python est automatiquement converti en codes d'autres langages de programmation

王林
王林avant
2023-04-12 12:34:142152parcourir

Le code Python est automatiquement converti en codes d'autres langages de programmation

Bonjour à tous.

Si le code Python pouvait être automatiquement converti dans d'autres langages de programmation, l'essayeriez-vous ?

Aujourd'hui, je vais partager avec vous un projet intéressant, qui peut convertir automatiquement le code Python en code C++. Cela peut être utile aux étudiants qui s’intéressent aux algorithmes.

1. Comment implémenter

Ce projet est un projet open source GitHub Il est très simple à utiliser. Après avoir téléchargé, installez les dépendances et exécutez le script Python correspondant.

python3 python2cppconverter.py

Prenons le code Python suivant comme exemple

def add_something(x, y):
print("casually adding some stuff together")
z = x + y
return z
if __name__ == "__main__":
print('Okay, lets go')
print(add_something(5, 2))

Le code converti en C++ est le suivant :

// C++ Code generated from Python Code:
#include <iostream>
using namespace std;
int add_something(int x, int y) {
cout << "casually adding some stuff together" << endl;
int z = x + y;
return z;
}
int main() {
cout << "Okay, lets go" << endl;
cout << add_something(5, 2) << endl;
return 0;
}

python2cppconverter.py appelle en fait l'API d'OpenAI pour terminer la conversion de code. Le code de base est le suivant :

openai.Completion.create(engine='code-davinci-002',
prompt=input_prompt,
temperature=temperature,
max_tokens=num_tokens,
stream=STREAM,
stop='===================n',
top_p=1.0,
frequency_penalty=0.0,
presence_penalty=0.0)

est essentiellement un appel de fonction, où le paramètre du moteur est le modèle de conversion de code.

Avant d'introduire le code-davinci-002, comprenons d'abord le modèle GPT-3.

GPT-3 est un modèle publié par OpenAI en mai 2020. Ce modèle contient 175 milliards de paramètres, soit deux ordres de grandeur de plus que GPT-2 et constitue une grande amélioration par rapport à GPT-2.

GPT-3 atteint de solides performances sur de nombreux ensembles de données PNL, y compris les tâches de traduction, de réponse aux questions et de clonage, ainsi que certaines tâches qui nécessitent un raisonnement à la volée ou une adaptation de domaine, comme le déchiffrement de mots ou l'exécution d'opérations arithmétiques. Le modèle

code-davinci-002 est un descendant de GPT-3 et ses données de formation contiennent du langage naturel et des milliards de lignes de code public de GitHub. Par conséquent, il peut comprendre et générer du code, maîtrise plus d’une douzaine de langages de programmation et est le meilleur en Python.

Ainsi, le modèle code-davinci-002 peut non seulement convertir entre langages de programmation, mais également convertir entre langages naturels, trouver des bogues dans le code, écrire des documents basés sur le code, etc.

Par exemple, l'exemple suivant consiste à générer une description textuelle pour la fonction de code

Le code Python est automatiquement converti en codes d'autres langages de programmation

Code en langage naturel

Est-ce que cela signifie que je n'ai pas à me soucier d'écrire des commentaires à l'avenir ?

Regardez l'exemple ci-dessous, qui peut générer une docstring pour le code Python

Le code Python est automatiquement converti en codes d'autres langages de programmation

docstring

Pour d'autres exemples, vous pouvez consulter le site officiel d'OpenAI.

2. Une mauvaise nouvelle

Ce qui précède est beau, mais la réalité est cruelle.

Depuis que j'ai téléchargé ce projet, j'ai rencontré des problèmes à chaque étape du processus.

L'API OpenAI utilisée ci-dessus n'est pas ouverte aux utilisateurs nationaux. Les amis nationaux verront l'invite suivante lorsqu'ils demanderont à l'utiliser

Le code Python est automatiquement converti en codes d'autres langages de programmation

Elle ne peut pas être utilisée en Chine

Je suis resté bloqué dès que je suis arrivé !

Bien sûr, une équipe nationale a proposé une solution. Vous pouvez acheter un compte étranger prêt à l'emploi pour 18 yuans, valable près de 3 mois et doté de 18 $ sur le compte. Par conséquent, le modèle d’OpenAI est payant et pas du tout précis.

Le code Python est automatiquement converti en codes d'autres langages de programmation

Lorsque vous achetez un compte, obtenez la clé API, la configurez dans le projet, exécutez le projet et vous préparez à assister au miracle du moment, vous trouverez l'erreur suivante :

No such model: code-davinci-002

C'est car le code-davinci- Model 002 est en test privé et doit soumettre une candidature. Il ne peut être appelé qu'après l'avoir réussi.

Enfin, je ne vous recommande pas d'exécuter le modèle code-davinci-002. Pour les amis domestiques, le coût est trop élevé. Si vous voulez voir l'effet, vous pouvez accéder au site officiel d'OpenAI pour lire la documentation et exécuter quelques exemples en ligne.

Bien que le projet n'ait pas abouti, cela ne nous empêche pas d'apprendre la technologie. Cette vague de force ne sera pas une perte.

Le code Python est automatiquement converti en codes d'autres langages de programmation

J'espère que le contenu d'aujourd'hui vous sera utile, merci pour votre attention, je continuerai à partager d'excellents projets d'IA.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer