अपने LLM का उपयोग करके कोड जनरेट करने के लिए अपना खुद का टूल बनाना
आज के समय में, जब कृत्रिम बुद्धिमत्ता increasingly अधिक accessible हो रही है, बहुत से लोग सोचते हैं कि कैसे बड़े भाषा मॉडल्स (LLMs) की क्षमता का उपयोग कोड लिखने की प्रक्रिया को स्वचालित करने के लिए किया जा सकता है। इस लेख में, मैं अपने LLM का उपयोग करके कोड जनरेट करने के लिए अपने खुद के टूल को बनाने के लिए एक practical गाइड प्रदान करूंगा।
परिचय
बड़े भाषा मॉडल्स, जैसे कि Mistral, विभिन्न प्रोग्रामिंग भाषाओं में कोड जनरेट करने में सक्षम हैं। उन्हें उन टूल्स को बनाने के लिए उपयोग किया जा सकता है जो डेवलपर्स को उनके दैनिक काम में मदद करेंगे। इस लेख में, हम चरण-दर-चरण एक ऐसे टूल को बनाने के बारे में चर्चा करेंगे।
मॉडल का चयन
पहली चरण में, एक उपयुक्त मॉडल का चयन करना है। आप उपलब्ध open-source मॉडल्स में से एक चुन सकते हैं या क्लाउड प्रोवाइडर द्वारा प्रदान की गई API का उपयोग कर सकते हैं। इस उदाहरण में, हम Mistral मॉडल का उपयोग करेंगे।
बेसिक टूल का निर्माण
1. आवश्यक लाइब्रेरीज का इंस्टॉलेशन
शुरू करने के लिए, हमें कुछ लाइब्रेरीज की आवश्यकता होगी। इस उदाहरण में, हम मॉडल को लोड करने के लिए transformers लाइब्रेरी और गणनाओं के लिए torch का उपयोग करेंगे।
pip install transformers torch
2. मॉडल को लोड करना
अब, Mistral मॉडल को लोड करें।
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "mistral"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
3. कोड जनरेट करना
अब, हम एक फ़ंक्शन लिख सकते हैं जो एक दिए गए प्रॉम्प्ट के आधार पर कोड जनरेट करेगा।
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. टूल का परीक्षण
हमारे टूल का परीक्षण करें और एक सरल Python कोड जनरेट करें।
prompt = "दो संख्याओं को जोड़ने वाला एक फ़ंक्शन लिखें।"
print(generate_code(prompt))
फंक्शनलिटी को बढ़ाना
1. कॉन्टेक्स्ट जोड़ना
हम अपने टूल को बढ़ा सकते हैं और कॉन्टेक्स्ट जोड़ सकते हैं जो मॉडल को समझने में मदद करेगा कि उसे कौन सा कोड जनरेट करना है।
def generate_code_with_context(prompt, context):
full_prompt = f"{context}\n\n{prompt}"
return generate_code(full_prompt)
2. जनरेट किए गए कोड की गुणवत्ता में सुधार
कोड की गुणवत्ता में सुधार करने के लिए, हम एक वेरिफिकेशन और एरर कोरेक्शन मेकेनिज्म जोड़ सकते हैं।
def verify_and_fix_code(code):
verification_prompt = f"इस कोड की जांच करें और त्रुटियों को सुधारें:\n\n{code}"
return generate_code(verification_prompt)
टूल को डिप्लॉय करना
1. यूज़र इंटरफ़ेस बनाना
हम एक सरल यूज़र इंटरफ़ेस बना सकते हैं जो टूल का उपयोग करने में आसान बनाएगा।
def main():
print("कोड जनरेट करने के लिए टूल में आपका स्वागत है!")
while True:
prompt = input("प्रॉम्प्ट दर्ज करें (या 'exit' छोड़ने के लिए): ")
if prompt.lower() == 'exit':
break
code = generate_code(prompt)
print("\nजनरेट किया गया कोड:")
print(code)
print("\n")
if __name__ == "__main__":
main()
2. सर्वर पर डिप्लॉय करना
टूल को दूसरों के साथ साझा करने के लिए, हम इसे एक सर्वर पर डिप्लॉय कर सकते हैं। हम Flask लाइब्रेरी का उपयोग करके एक सरल API बना सकते हैं।
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)
सारांश
इस लेख में, हमने बड़े भाषा मॉडल्स का उपयोग करके अपने खुद के कोड जनरेट करने के लिए टूल को बनाने के बारे में चर्चा की। हमने दिखाया कि मॉडल को कैसे लोड करें, कोड जनरेट करें और टूल की फंक्शनलिटी को कैसे बढ़ाएं। आप और अधिक फंक्शन जोड़कर और जनरेट किए गए कोड की गुणवत्ता में सुधार करके इस टूल को और आगे विकसित कर सकते हैं।
उदाहरण कोड
यहाँ एक पूर्ण उदाहरण कोड है जिसे आप अपने खुद के टूल के लिए एक स्टार्टिंग पॉइंट के रूप में उपयोग कर सकते हैं।
from transformers import AutoModelForCausalLM, AutoTokenizer
from flask import Flask, request, jsonify
# मॉडल लोड करना
model_name = "mistral"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# कोड जनरेट करना
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 इंटरफ़ेस
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)
निष्कर्ष
अपने LLM का उपयोग करके कोड जनरेट करने के लिए अपना खुद का टूल बनाना एक रोमांचक कार्य है जो डेवलपर्स के काम को काफी आसान बना सकता है। Mistral जैसे उन्नत भाषा मॉडल्स की उपलब्धता के कारण, हर कोई अपने व्यक्तिगत आवश्यकताओं के अनुसार अपने खुद के टूल बना सकता है।