Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kod Python ditukar secara automatik kepada kod bahasa pengaturcaraan lain

Kod Python ditukar secara automatik kepada kod bahasa pengaturcaraan lain

王林
王林ke hadapan
2023-04-12 12:34:142187semak imbas

Kod Python ditukar secara automatik kepada kod bahasa pengaturcaraan lain

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.

1. Cara melaksanakan

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 Python ditukar secara automatik kepada kod bahasa pengaturcaraan lain

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

Kod Python ditukar secara automatik kepada kod bahasa pengaturcaraan lain

docstring

Untuk contoh lain, anda boleh melihat OpenAI laman web rasmi.

2. Sekeping berita buruk

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

Kod Python ditukar secara automatik kepada kod bahasa pengaturcaraan lain

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.

Kod Python ditukar secara automatik kepada kod bahasa pengaturcaraan lain

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.

Kod Python ditukar secara automatik kepada kod bahasa pengaturcaraan lain

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!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam