Helo semua.
Jika kod Python ditukar secara automatik kepada bahasa pengaturcaraan lain, adakah anda akan mencubanya?
Hari ini saya ingin berkongsi dengan anda satu projek yang menarik, yang boleh menukar kod Python kepada kod C++ secara automatik. Ini mungkin membantu pelajar yang terlibat dalam algoritma.
Projek ini ialah projek sumber terbuka GitHub Ia sangat mudah untuk digunakan Selepas memuat turun, pasangkan kebergantungan dan jalankan skrip Python yang sepadan.
python3 python2cppconverter.py
Ambil kod Python berikut sebagai contoh
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))
Kod C++ yang ditukar adalah seperti berikut:
// 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 sebenarnya memanggil API OpenAI untuk melengkapkan penukaran kod. Kod teras adalah seperti berikut:
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)
pada asasnya ialah panggilan fungsi, di mana parameter enjin ialah model penukaran kod.
Sebelum memperkenalkan code-davinci-002, mari kita fahami model GPT-3 dahulu.
GPT-3 ialah model yang dikeluarkan oleh OpenAI pada Mei 2020. Model ini mengandungi 175 bilion parameter, iaitu dua susunan magnitud lebih daripada GPT-2 dan merupakan peningkatan yang hebat berbanding GPT-2.
GPT-3 mencapai prestasi yang kukuh pada banyak set data NLP, termasuk terjemahan, menjawab soalan dan tugasan cloze, serta beberapa tugasan yang memerlukan penaakulan semasa atau penyesuaian domain, seperti mentafsir perkataan atau melaksanakan operasi aritmetik.
Model code-davinci-002 ialah keturunan GPT-3, dan data latihannya mengandungi bahasa semula jadi dan berbilion baris kod awam daripada GitHub. Oleh itu, ia boleh memahami dan menjana kod, dan mahir dalam lebih daripada sedozen bahasa pengaturcaraan, dan terbaik dalam Python.
Jadi, model code-davinci-002 bukan sahaja boleh menukar antara bahasa pengaturcaraan, tetapi juga menukar antara bahasa semula jadi, mencari pepijat dalam kod, menulis dokumen berdasarkan kod, dsb.
Sebagai contoh, contoh berikut adalah untuk menjana penerangan teks untuk fungsi kod
Kod kepada bahasa semula jadi
Anda tidak' anda tidak perlu risau untuk menulisnya pada masa hadapan Beranotasi?
Lihat contoh berikut, anda boleh menjana docstring untuk kod Python
docstring
Untuk contoh lain, anda boleh melihat OpenAI laman web rasmi.
Di atas memang indah, tetapi realitinya kejam.
Sejak saya memuat turun projek ini, saya tersekat setiap langkah.
API OpenAI yang digunakan di atas tidak terbuka kepada pengguna domestik Rakan domestik akan melihat gesaan berikut apabila memohon untuk digunakan
Ia tidak boleh digunakan di China.
Leher saya tersangkut apabila saya naik!
Sudah tentu, pasukan tempatan telah menyediakan penyelesaian Anda boleh membeli akaun asing siap pakai dengan harga 18 yuan, yang sah selama hampir 3 bulan dan disertakan dengan $18 dalam akaun. Oleh itu, model OpenAI dibayar dan tidak tepat sama sekali.
Apabila anda membeli akaun, dapatkan kunci API, konfigurasikannya ke dalam projek, jalankan projek dan bersedia untuk menyaksikan keajaiban masa, anda akan mendapati perkara berikut ralat:
No such model: code-davinci-002
Ini kerana model code-davinci-002 sedang dalam ujian peribadi dan memerlukan permohonan untuk diserahkan dan diluluskan sebelum ia boleh dipanggil.
Akhir sekali, saya tidak mengesyorkan anda menjalankan model code-davinci-002 Untuk rakan domestik, kosnya terlalu tinggi. Jika anda ingin melihat kesannya, anda boleh pergi ke laman web rasmi OpenAI untuk membaca dokumentasi dan menjalankan beberapa contoh dalam talian.
Walaupun projek itu tidak berjalan dengan jayanya, ini tidak menghalang kita daripada mempelajari teknologi ini bukan satu kerugian.
Saya harap kandungan hari ini berguna kepada anda, terima kasih atas perhatian anda, saya akan terus berkongsi projek AI yang sangat baik.
Atas ialah kandungan terperinci Kod Python ditukar secara automatik kepada kod bahasa pengaturcaraan lain. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!