Inference Unlimited

توليد الكود باستخدام نماذج LLM المحلية – أمثلة عملية

في الوقت الحالي، أصبحت الشبكات العصبية الاصطناعية، خاصة النماذج اللغوية الكبيرة (LLM)، أكثر شعبية في توليد الكود. بفضل إمكانية تشغيل النماذج محليًا، يمكن للمبرمجين الاستفادة من إمكانياتها دون الحاجة إلى استخدام الحلول السحابية. في هذا المقال، سنناقش كيف يمكن استخدام نماذج LLM المحلية لتوليد الكود، مع تقديم أمثلة عملية.

لماذا نماذج LLM المحلية؟

استخدام نماذج LLM المحلية له عدة مزايا:

إعداد البيئة

لبدء العمل، ستحتاج إلى:

  1. نموذج LLM: مثل Mistral-7B أو Llama-2.
  2. المكتبات: transformers و accelerate من مكتبة Hugging Face.
  3. دعم GPU: لتحسين الأداء.

تثبيت المكتبات المطلوبة

pip install transformers accelerate torch

مثال 1: توليد كود Python بسيط

إليك مثال لتوليد كود Python بسيط باستخدام نموذج LLM محلي.

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# تحميل النموذج والمشفّر
model_name = "mistral-7b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# إعداد التوجيه
prompt = "اكتب دالة Python تحسب مجموع عددين:"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids

# توليد الكود
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)

النتيجة

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

مثال 2: توليد الكود باستخدام مكتبة requests

في هذا المثال، سنظهر كيف يمكن للنموذج توليد كود يستخدم مكتبة requests لإجراء طلب HTTP.

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# تحميل النموذج والمشفّر
model_name = "mistral-7b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# إعداد التوجيه
prompt = "اكتب كود Python يقوم بطلب GET إلى API JSONPlaceholder:"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids

# توليد الكود
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)

النتيجة

import requests

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

مثال 3: توليد الكود باستخدام فئة في Python

في هذا المثال، سنظهر كيف يمكن للنموذج توليد كود يحدد فئة في Python.

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# تحميل النموذج والمشفّر
model_name = "mistral-7b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# إعداد التوجيه
prompt = "إنشاء فئة Python تمثل مستطيل:"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids

# توليد الكود
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)

النتيجة

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)

تحسين توليد الكود

لتحسين جودة الكود المولد، يمكن استخدام عدة تقنيات:

  1. توجيهات دقيقة: وصف دقيق لما تود الحصول عليه.
  2. تحكم في الطول: تعيين طول مناسب للكود المولد.
  3. توليد متعدد: توليد عدة نسخ من الكود واختيار أفضلها.

الخاتمة

توليد الكود باستخدام نماذج LLM المحلية هو أداة قوية للمبرمجين. بفضل إمكانية تشغيل النماذج محليًا، يمكن الاستمتاع بالخصوصية والسيطرة على الكود. في هذا المقال، قدمنا عدة أمثلة عملية تظهر كيف يمكن استخدام هذه التقنيات في العمل اليومي.

تذكر أن جودة الكود المولد تعتمد على جودة النموذج ودقة التوجيهات. تجري مع نماذج مختلفة وتقنيات مختلفة لتحقيق أفضل النتائج.

Język: AR | Wyświetlenia: 7

← Powrót do listy artykułów