Inference Unlimited

Yerel LLM Modellerini Kullanarak Kod Oluşturma - Pratik Örnekler

Günümüzde yapay sinir ağları, özellikle büyük dil modelleri (LLM), kod oluşturma için daha da popüler hale geliyor. Yerel olarak modelleri çalıştırma olanağı sayesinde, programcılar bulut çözümlerine ihtiyaç duymadan bu modellerin potansiyelini kullanabilir. Bu makalede, yerel LLM modellerini kod oluşturmak için nasıl kullanabileceğinizi ve pratik örnekler sunacağız.

Yerel LLM Modellerinin Neden Kullanılması?

Yerel LLM modellerini kullanmanın birkaç avantajı vardır:

Ortamı Hazırlama

Başlamak için şunları ihtiyacınız olacak:

  1. LLM Modeli: Örneğin Mistral-7B veya Llama-2.
  2. Kütüphaneler: Hugging Face kütüphanesi transformers ve accelerate.
  3. GPU Destek: Daha iyi performans için.

Gereken Kütüphanelerin Yükleme

pip install transformers accelerate torch

Örnek 1: Basit Python Kodu Oluşturma

Aşağıda, yerel bir LLM modeli kullanarak basit bir Python kodu oluşturma örneği bulunmaktadır.

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# Modeli ve tokenizer'ı yükleme
model_name = "mistral-7b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Prompt hazırlama
prompt = "İki sayının toplamını hesaplayan bir Python fonksiyonu yazın:"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids

# Kod oluşturma
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)

Sonuç

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

Örnek 2: requests Kütüphanesi Kullanarak Kod Oluşturma

Bu örnekte, modelin requests kütüphanesini kullanarak HTTP isteği yapma kodu oluşturabileceğini göstereceğiz.

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# Modeli ve tokenizer'ı yükleme
model_name = "mistral-7b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Prompt hazırlama
prompt = "JSONPlaceholder API'sine GET isteği yapan bir Python kodu yazın:"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids

# Kod oluşturma
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)

Sonuç

import requests

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

Örnek 3: Python Sınıfı Kullanarak Kod Oluşturma

Bu örnekte, modelin bir Python sınıfı tanımlama kodu oluşturabileceğini göstereceğiz.

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# Modeli ve tokenizer'ı yükleme
model_name = "mistral-7b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Prompt hazırlama
prompt = "Dikdörtgeni temsil eden bir Python sınıfı oluşturun:"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids

# Kod oluşturma
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)

Sonuç

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)

Kod Oluşturma Optimizasyonu

Oluşturulan kod kalitesini iyileştirmek için birkaç teknik uygulayabilirsiniz:

  1. Dikkatli Promptlar: Ne istediğinizi açıkça tanımlama.
  2. Uzunluk Kontrolü: Oluşturulan kodun uygun uzunluğunu ayarlama.
  3. Çoklu Oluşturma: Birkaç kod versiyonu oluşturma ve en iyisini seçme.

Özet

Yerel LLM modellerini kullanarak kod oluşturma, programcılar için güçlü bir araçtır. Modelleri yerel olarak çalıştırma olanağı sayesinde, kodunuzla ilgili gizlilik ve kontrol sağlayabilirsiniz. Bu makalede, günlük işinizde bu teknolojileri nasıl kullanabileceğinizi gösteren birkaç pratik örnek sunduk.

Oluşturulan kod kalitesi, model kalitesi ve promptların dikkatliliğine bağlıdır. Farklı modeller ve tekniklerle deney yaparak en iyi sonuçları elde etmeyi unutmayın.

Język: TR | Wyświetlenia: 13

← Powrót do listy artykułów