स्थानीय LLM मॉडल का उपयोग करके कोड जनरेट करना - प्रैक्टिकल उदाहरण
आज के समय में कृत्रिम न्यूरल नेटवर्क, विशेष रूप से बड़े भाषा मॉडल (LLM), कोड जनरेट करने में increasingly popular हो रहे हैं। स्थानीय रूप से मॉडल चलाने की क्षमता के कारण, डेवलपर्स को क्लाउड सॉल्यूशंस का उपयोग किए बिना उनकी क्षमता का लाभ उठा सकते हैं। इस लेख में, हम स्थानीय LLM मॉडल का उपयोग करके कोड जनरेट करने के तरीके पर चर्चा करेंगे, और प्रैक्टिकल उदाहरण प्रस्तुत करेंगे।
स्थानीय LLM मॉडल का उपयोग क्यों?
स्थानीय LLM मॉडल का उपयोग करने के कुछ फायदे हैं:
- गोपनीयता: स्रोत कोड और डेटा आपके कंप्यूटर से बाहर नहीं जाते।
- नियंत्रण: एग्जीक्यूशन एन्वायर्नमेंट पर पूर्ण नियंत्रण।
- लागत: क्लाउड API के लिए कोई शुल्क नहीं।
एन्वायर्नमेंट सेटअप
शुरू करने के लिए, आपको चाहिए:
- LLM मॉडल: उदाहरण के लिए
Mistral-7BयाLlama-2। - लाइब्रेरी:
transformersऔरaccelerateHugging Face लाइब्रेरी से। - GPU सपोर्ट: बेहतर प्रदर्शन के लिए।
आवश्यक लाइब्रेरी का इंस्टॉलेशन
pip install transformers accelerate torch
उदाहरण 1: सरल Python कोड जनरेट करना
नीचे स्थानीय LLM मॉडल का उपयोग करके सरल 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=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 कोड लिखें जो JSONPlaceholder API को एक GET रिक्वेस्ट करता है:"
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)
कोड जनरेट करने का ऑप्टिमाइज़ेशन
कोड जनरेट किए जाने के गुणवत्ता को सुधारने के लिए, आप कुछ तकनीकों का उपयोग कर सकते हैं:
- सटीक प्रॉम्प्ट्स: स्पष्ट रूप से बताएं कि आप क्या चाहते हैं।
- लंबाई का नियंत्रण: जनरेट किए जाने वाले कोड की उचित लंबाई सेट करें।
- बहु-जनरेशन: कई संस्करण जनरेट करें और सबसे अच्छा चुनें।
सारांश
स्थानीय LLM मॉडल का उपयोग करके कोड जनरेट करना डेवलपर्स के लिए एक शक्तिशाली टूल है। स्थानीय रूप से मॉडल चलाने की क्षमता के कारण, आप कोड के साथ गोपनीयता और नियंत्रण का आनंद ले सकते हैं। इस लेख में, हमने कुछ प्रैक्टिकल उदाहरण प्रस्तुत किए हैं, जो दिखाते हैं कि आप इन टेक्नोलॉजीज को दैनिक काम में कैसे उपयोग कर सकते हैं।
याद रखें कि जनरेट किए गए कोड की गुणवत्ता मॉडल की गुणवत्ता और प्रॉम्प्ट्स की सटीकता पर निर्भर करती है। विभिन्न मॉडल और तकनीकों के साथ प्रयोग करें ताकि सर्वोत्तम परिणाम प्राप्त किए जा सकें।