Coding Menggunakan ChatGPT – Part 2

Pada modul ini kita akan membahas konversi dari bahasa pemograman JavaScript menjadi Python dengan menggunakan ChatCompletion.

import openai
from dotenv import dotenv_values

config = dotenv_values(".env")
openai.api_key = config["OPENAI_KEY"]

js = """
    function mystery(arr) {
        return arr.reduce(function(p, v){
            return (p < v ? p : v);
        });
    }
"""

messages = [
    {"role": "user", "content": f"Convert following JavaScript function into Python : {js}"}

]

    
response = openai.ChatCompletion.create(
    model = "gpt-3.5-turbo",
    messages = messages,
)

print(response.choices[0]["message"]["content"])

Fungsi JavaScript diatas sengaja dibuat kompleks, tujuannya adalah untuk mencari nilai minimal dari sebuah array. Jadi harapannya, model dapat mengembalikan fungsi python min.

Ketika menggunakan gpt-3.5-turbo, result model tidak memuaskan. Berikut response yang dihasilkan.

def mystery(arr):
    return reduce(lambda p, v: p if p < v else v, arr)

Karena kami tidak memiliki akses untuk gpt-4, kami gunakan web ChatGPT untuk melakukan testing code konversion menggunakan gpt-4. Dan resultnya sesuai harapan, dimana model mengembalikan fungsi min.

Berikut screen capture dari ChatGPT.

Namun tidak berarti gpt-3.5-turbo tidak mampu, kami coba dengan fungsi yang lebih sederhana untuk validasi email address.

js="""
const mystery = (email) => {
    const regex = /^\S+@\S+\.\S+$/;
    return regex.test(email);
}
"""

messages = [
    {"role": "user", "content": f"Translate following JavaScript function into Python : {js}"}

]

    
response = openai.ChatCompletion.create(
    model = "gpt-3.5-turbo",
    messages = messages,
)

print(response.choices[0]["message"]["content"])

response yang diberikan sesuai harapan.

def mystery(email):
    regex = r'^\S+@\S+\.\S+$'
    return bool(re.match(regex, email))

Jika fungsi python diatas dijalankan, dapat mevalidasi alamat email. Namun Anda perlu import dahulu library re.

Sementara ketika ditest menggunakan gpt-4, result lebih lengkap. Perintah untuk import library yang diperlukan telah disertakan.

import re

def mystery(email):
    regex = r'^\S+@\S+\.\S+$'
    return bool(re.match(regex, email))

Jadi Anda dapat gunakan terlebih dahulu gpt-3.5-turbo, jika tidak memuaskan, baru gunakan gpt-4.

Sharing is caring: