Kendi Kodu Oluşturma Aracınızı LLM Kullanarak Oluşturma
Bugün, yapay zekanın artık daha erişilebilir hale geldiği bir zamanda, birçok kişi büyük dil modellerinin (LLM) potansiyelini nasıl kullanarak kod yazımını otomatikleştirebileceğini düşünüyor. Bu makalede, LLM kullanarak kendi kod oluşturma aracınızı oluşturmak için bir pratik kılavuz sunacağım.
Giriş
Mistral gibi büyük dil modelleri, farklı programlama dillerinde kod oluşturabilir. Bunları, programcıların günlük işlerinde yardımcı olacak araçlar oluşturmak için kullanabiliriz. Bu makalede, adım adım nasıl bir araç oluşturulacağını tartışacağız.
Model Seçimi
İlk adım, uygun bir model seçmektir. Mevcut açık kaynak modellerinden biri seçilebilir veya bulut sağlayıcısı tarafından sağlanan bir API kullanılarak işlem yapabiliriz. Bu örnekte, Mistral modelini kullanacağız.
Temel Araç Oluşturma
1. Gereken Kütüphanelerin Yükleme
Başlamak için birkaç kütüphaneye ihtiyacımız var. Bu örnekte, modeli yüklemek için transformers kütüphanesini ve hesaplamalar için torch kullanacağız.
pip install transformers torch
2. Modelin Yüklenmesi
Ardından, Mistral modelini yükleyin.
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "mistral"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
3. Kod Oluşturma
Şimdi, verilen bir istemciye dayalı olarak kod oluşturacak bir fonksiyon yazabiliriz.
def generate_code(prompt):
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_length=100)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
4. Araç Testi
Basit bir Python kodu oluşturarak araçmızı test edelim.
prompt = "İki sayıyı toplayan bir fonksiyon yazın."
print(generate_code(prompt))
Fonksiyoneliteyi Genişletme
1. Kontekst Ekleme
Araçmızı genişletmek için, modelin hangi kodu oluşturacağını anlamasına yardımcı olacak bir kontekst ekleyebiliriz.
def generate_code_with_context(prompt, context):
full_prompt = f"{context}\n\n{prompt}"
return generate_code(full_prompt)
2. Oluşturulan Kod Kalitesinin İyileştirilmesi
Oluşturulan kod kalitesini iyileştirmek için, doğrulama ve hata düzeltme mekanizması ekleyebiliriz.
def verify_and_fix_code(code):
verification_prompt = f"Bu kodu kontrol edin ve hataları düzeltin:\n\n{code}"
return generate_code(verification_prompt)
Araç Yükleme
1. Kullanıcı Arayüzü Oluşturma
Araçla kolayca kullanılmasını sağlayan basit bir kullanıcı arayüzü oluşturabiliriz.
def main():
print("Kod oluşturma aracına hoş geldiniz!")
while True:
prompt = input("İstemciyi girin (veya 'exit' ile sonlandırın): ")
if prompt.lower() == 'exit':
break
code = generate_code(prompt)
print("\nOluşturulan kod:")
print(code)
print("\n")
if __name__ == "__main__":
main()
2. Sunucuya Yükleme
Araçları diğer kullanıcılara sunmak için sunucuya yükleyebiliriz. Basit bir API oluşturmak için Flask kütüphanesini kullanabiliriz.
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/generate', methods=['POST'])
def generate():
data = request.json
prompt = data.get('prompt', '')
code = generate_code(prompt)
return jsonify({'code': code})
if __name__ == '__main__':
app.run(debug=True)
Özet
Bu makalede, büyük dil modellerini kullanarak kendi kod oluşturma aracınızı oluşturmayı tartıştık. Modeli yükleme, kod oluşturma ve araç fonksiyonelitesini genişletmeyi gösterdik. Araçta daha fazla fonksiyon ekleyerek ve oluşturulan kod kalitesini iyileştirerek daha da geliştirilebilir.
Örnek Kod
Aşağıda, kendi araçlarınız için bir başlangıç noktası olarak kullanabileceğiniz tam örnek kod bulunmaktadır.
from transformers import AutoModelForCausalLM, AutoTokenizer
from flask import Flask, request, jsonify
# Modelin yüklenmesi
model_name = "mistral"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# Kod oluşturma
def generate_code(prompt):
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_length=100)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
# API arayüzü
app = Flask(__name__)
@app.route('/generate', methods=['POST'])
def generate_api():
data = request.json
prompt = data.get('prompt', '')
code = generate_code(prompt)
return jsonify({'code': code})
if __name__ == '__main__':
app.run(debug=True)
Sonuçlar
LLM kullanarak kendi kod oluşturma aracınızı oluşturmak, programcıların işini önemli ölçüde kolaylaştırabilecek bir ilginç görevidir. Mistral gibi gelişmiş dil modellerinin erişilebilirliği sayesinde, herkes kendi ihtiyaçlarına uygun olarak özelleştirilmiş bir araç oluşturabilir.