Heim >Backend-Entwicklung >Python-Tutorial >Python-Code wird automatisch in andere Programmiersprachencodes konvertiert
Hallo zusammen.
Wenn Python-Code automatisch in andere Programmiersprachen konvertiert werden könnte, würden Sie es versuchen?
Heute werde ich ein interessantes Projekt mit Ihnen teilen, das Python-Code automatisch in C++-Code konvertieren kann. Dies kann für Studierende hilfreich sein, die sich mit Algorithmen beschäftigen.
Dieses Projekt ist ein GitHub-Open-Source-Projekt. Nach dem Herunterladen müssen Sie die Abhängigkeiten installieren und das entsprechende Python-Skript ausführen.
python3 python2cppconverter.py
Nehmen Sie den folgenden Python-Code als Beispiel
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))
Der in C++ konvertierte Code lautet wie folgt:
// 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 ruft tatsächlich die API von OpenAI auf, um die Codekonvertierung abzuschließen. Der Kerncode lautet wie folgt:
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)
ist im Wesentlichen ein Funktionsaufruf, bei dem der Engine-Parameter das Codekonvertierungsmodell ist.
Bevor wir code-davinci-002 vorstellen, wollen wir zunächst das GPT-3-Modell verstehen.
GPT-3 ist ein von OpenAI im Mai 2020 veröffentlichtes Modell. Dieses Modell enthält 175 Milliarden Parameter, das sind zwei Größenordnungen mehr als GPT-2 und eine große Verbesserung gegenüber GPT-2.
GPT-3 erzielt eine starke Leistung bei vielen NLP-Datensätzen, einschließlich Übersetzungs-, Fragebeantwortungs- und Lückentextaufgaben sowie bei einigen Aufgaben, die spontanes Denken oder Domänenanpassungen erfordern, wie etwa das Entschlüsseln von Wörtern oder das Durchführen arithmetischer Operationen. Das Modell
code-davinci-002 ist ein Nachkomme von GPT-3 und seine Trainingsdaten enthalten natürliche Sprache und Milliarden Zeilen öffentlichen Codes von GitHub. Daher kann es Code verstehen und generieren, beherrscht mehr als ein Dutzend Programmiersprachen und beherrscht Python am besten.
Das Modell code-davinci-002 kann also nicht nur zwischen Programmiersprachen, sondern auch zwischen natürlichen Sprachen konvertieren, Fehler im Code finden, Dokumente basierend auf dem Code schreiben usw.
Das folgende Beispiel dient beispielsweise dazu, eine Textbeschreibung für die Codefunktion zu generieren
Code in natürlicher Sprache
Bedeutet das, dass ich mir in Zukunft keine Gedanken mehr über das Schreiben von Kommentaren machen muss?
Sehen Sie sich das folgende Beispiel an, das einen Docstring für Python-Code generieren kann
docstring
Weitere Beispiele finden Sie auf der offiziellen Website von OpenAI.
Das Gesagte ist schön, aber die Realität ist grausam.
Seitdem ich dieses Projekt heruntergeladen habe, stecke ich bei jedem Schritt fest, seit ich angefangen habe, es auszuführen.
Die oben verwendete OpenAI-API steht inländischen Benutzern nicht zur Verfügung
Sie kann in China nicht verwendet werden
Ich bin sofort hängengeblieben!
Natürlich hat ein inländisches Team für eine Lösung gesorgt. Sie können für 18 Yuan ein fertiges Auslandskonto kaufen, das fast 3 Monate gültig ist und mit 18 $ auf dem Konto ausgestattet ist. Daher ist das Modell von OpenAI kostenpflichtig und überhaupt nicht genau.
Wenn Sie ein Konto kaufen, den API-Schlüssel erhalten, ihn im Projekt konfigurieren, das Projekt ausführen und sich darauf vorbereiten, Zeuge des Wunders des Augenblicks zu werden, werden Sie die folgende Fehlermeldung finden:
No such model: code-davinci-002
Das ist weil Code-Davinci-Modell 002 befindet sich im privaten Test und muss einen Antrag einreichen. Es kann erst aufgerufen werden, nachdem es bestanden wurde.
Abschließend empfehle ich Ihnen nicht, das Code-Davinci-002-Modell auszuführen. Für inländische Freunde sind die Kosten zu hoch. Wenn Sie den Effekt sehen möchten, können Sie auf der offiziellen Website von OpenAI die Dokumentation lesen und einige Beispiele online ausführen.
Obwohl das Projekt nicht erfolgreich lief, hindert uns das nicht daran, die Technologie zu erlernen. Diese Welle der Gewalt wird kein Verlust sein.
Ich hoffe, der heutige Inhalt ist für Sie nützlich. Vielen Dank für Ihre Aufmerksamkeit. Ich werde weiterhin hervorragende KI-Projekte teilen.
Das obige ist der detaillierte Inhalt vonPython-Code wird automatisch in andere Programmiersprachencodes konvertiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!