Inference Unlimited

Generasi Kode dengan Menggunakan Model LLM Lokal – Contoh Praktek

Pada zaman sekarang, jaringan saraf tiruan buatan, khususnya model bahasa besar (LLM), semakin populer dalam generasi kode. Dengan kemampuan menjalankan model secara lokal, para programmer dapat memanfaatkan potensi mereka tanpa harus menggunakan solusi cloud. Dalam artikel ini, kita akan membahas bagaimana menggunakan model LLM lokal untuk generasi kode, serta memberikan contoh praktik.

Mengapa Model LLM Lokal?

Menggunakan model LLM lokal memiliki beberapa keuntungan:

Persiapan Lingkungan

Untuk memulai, Anda membutuhkan:

  1. Model LLM: Misalnya Mistral-7B atau Llama-2.
  2. Perpustakaan: transformers dan accelerate dari perpustakaan Hugging Face.
  3. Pengelolaan GPU: Untuk kinerja yang lebih baik.

Instalasi Perpustakaan yang Dibutuhkan

pip install transformers accelerate torch

Contoh 1: Generasi Kode Python Sederhana

Berikut adalah contoh generasi kode Python sederhana menggunakan model LLM lokal.

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# Memuat model dan tokenizer
model_name = "mistral-7b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Persiapan prompt
prompt = "Tulis fungsi Python yang menghitung jumlah dua bilangan:"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids

# Generasi kode
output = model.generate(input_ids, max_length=100, num_return_sequences=1)
generated_code = tokenizer.decode(output[0], skip_special_tokens=True)

print(generated_code)

Hasil

def sum_two_numbers(a, b):
    return a + b

Contoh 2: Generasi Kode dengan Menggunakan Perpustakaan requests

Dalam contoh ini, kita akan menunjukkan bagaimana model dapat menghasilkan kode yang menggunakan perpustakaan requests untuk melakukan permintaan HTTP.

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# Memuat model dan tokenizer
model_name = "mistral-7b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Persiapan prompt
prompt = "Tulis kode Python yang melakukan permintaan GET ke API JSONPlaceholder:"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids

# Generasi kode
output = model.generate(input_ids, max_length=150, num_return_sequences=1)
generated_code = tokenizer.decode(output[0], skip_special_tokens=True)

print(generated_code)

Hasil

import requests

response = requests.get("https://jsonplaceholder.typicode.com/posts/1")
print(response.json())

Contoh 3: Generasi Kode dengan Menggunakan Kelas di Python

Dalam contoh ini, kita akan menunjukkan bagaimana model dapat menghasilkan kode yang mendefinisikan kelas di Python.

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# Memuat model dan tokenizer
model_name = "mistral-7b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Persiapan prompt
prompt = "Buat kelas Python yang mewakili persegi panjang:"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids

# Generasi kode
output = model.generate(input_ids, max_length=200, num_return_sequences=1)
generated_code = tokenizer.decode(output[0], skip_special_tokens=True)

print(generated_code)

Hasil

class Rectangle:
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def area(self):
        return self.width * self.height

    def perimeter(self):
        return 2 * (self.width + self.height)

Optimasi Generasi Kode

Untuk meningkatkan kualitas kode yang dihasilkan, Anda dapat menggunakan beberapa teknik:

  1. Prompt yang Tepat: Mendeskripsikan dengan tepat apa yang Anda harapkan.
  2. Kontrol Panjang: Menetapkan panjang kode yang sesuai.
  3. Generasi Berulang: Menghasilkan beberapa versi kode dan memilih yang terbaik.

Ringkasan

Generasi kode menggunakan model LLM lokal adalah alat yang kuat bagi programmer. Dengan kemampuan menjalankan model secara lokal, Anda dapat menikmati privasi dan kontrol atas kode. Dalam artikel ini, kita telah memberikan beberapa contoh praktik yang menunjukkan bagaimana memanfaatkan teknologi ini dalam pekerjaan sehari-hari.

Ingatlah bahwa kualitas kode yang dihasilkan bergantung pada kualitas model dan ketepatan prompt. Eksperimen dengan model dan teknik yang berbeda untuk mencapai hasil terbaik.

Język: ID | Wyświetlenia: 5

← Powrót do listy artykułów