एक इंटरैक्टिव द्विभाषी (अरबी और अंग्रेजी) चैट इंटरफ़ेस बनाना ओपन सोर्स मराज-मिनी के साथ आर्क एआई: जीपीयू द्वारा त्वरण, पियर्स, ट्रांसफार्मर, त्वरक, बिट्संडबिट्स और ग्रैडो के लाभ

इस ट्यूटोरियल में, हम ARSI के Maraj-Mi मॉडल द्वारा संचालित एक द्विभाषी चैट सहायक को लागू करते हैं, जो T4 GPU का उपयोग करके Google Colab पर एकजुट है। यह ट्यूटोरियल ओपन सोर्स लैंग्वेज की ओपन सोर्स लैंग्वेज की क्षमताओं को प्रदर्शित करता है, जब वे फ्री क्लाउड संसाधनों की सीमाओं के भीतर राज्य -of -th -art -art AI समाधानों को समायोजित करने का एक व्यावहारिक, हस्तनिर्मित अनुभव प्रदान करते हैं। हम उपकरणों के एक शक्तिशाली ढेर का उपयोग करेंगे:

  1. आरसी की मारा-मिनी मॉडल
  2. मॉडल लोडिंग और टोकनकरण के लिए ट्रांसफॉर्मर लाइब्रेरी
  3. कुशल मात्रा के लिए वेग और bitsendbytes
  4. गहरी सीखने की गणना के लिए पिटोरच
  5. एक इंटरैक्टिव वेब इंटरफ़ेस बनाने के लिए ग्रेडियो
# Enable GPU acceleration
!nvidia-smi --query-gpu=name,memory.total --format=csv


# Install dependencies
!pip install -qU transformers accelerate bitsandbytes
!pip install -q gradio

पहले हम GPU और NVIDIA-SMI कमांड के नाम का उपयोग करके कुल मेमोरी को क्वेरी करके GPU त्वरण को सक्षम करते हैं। यह तब प्रमुख पायथन लाइब्रेरी को इंस्टॉल और अपडेट करता है – जैसे ट्रांसफॉर्मर, एक्सेलेरेटर, बिट्संडाइट्स और ग्रैडो – मशीन लर्निंग फंक्शन का समर्थन करने और इंटरैक्टिव एप्लिकेशन को तैनात करने के लिए।

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline, BitsAndBytesConfig


quant_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.float16,
    bnb_4bit_use_double_quant=True
)




model = AutoModelForCausalLM.from_pretrained(
    "arcee-ai/Meraj-Mini",
    quantization_config=quant_config,
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("arcee-ai/Meraj-Mini")

फिर हम कुशल मॉडल लोडिंग के लिए Bitsundbitesconfig का उपयोग करके 4-बिट मात्रा में निर्धारित सेटिंग्स को कॉन्फ़िगर करते हैं, फिर अपने टोकनराइज़र के साथ “Arsi-AI/Maraj-Minnie” वर्किंग लैंग्वेज मॉडल को लोड करते हैं, स्वचालित रूप से इष्टतम प्रदर्शन के लिए उपकरणों को मैपिंग करते हैं।

chat_pipeline = pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    max_new_tokens=512,
    temperature=0.7,
    top_p=0.9,
    repetition_penalty=1.1,
    do_sample=True
)

यहां हम एक पाठ -पाइपलाइन बनाते हैं जो गले लगाने के चेहरे के पाइपलाइन फ़ंक्शन का उपयोग करके चैट इंटरैक्शन के अनुरूप है। यह पाठ उत्पादन के दौरान भिन्नता और स्थिरता को संतुलित करने के लिए अधिकतम नए टोकन, तापमान, TOP_P और दोहराने के दंड को समायोजित करता है।

def format_chat(messages):
    prompt = ""
    for msg in messages:
        prompt += f"<|im_start|>{msg('role')}n{msg('content')}<|im_end|>n"
    prompt += "<|im_start|>assistantn"
    return prompt


def generate_response(user_input, history=()):
    history.append({"role": "user", "content": user_input})
    formatted_prompt = format_chat(history)
    output = chat_pipeline(formatted_prompt)(0)('generated_text')
    assistant_response = output.split("<|im_start|>assistantn")(-1).split("<|im_end|>")(0)
    history.append({"role": "assistant", "content": assistant_response})
    return assistant_response, history

हम संचार इंटरफ़ेस को सुविधाजनक बनाने के लिए दो कार्यों को परिभाषित करते हैं। पहला फ़ंक्शन कस्टम डेलिमिटेंट्स के साथ एक संरचित प्रॉम्प्ट में इतिहास चैट करता है, जबकि दूसरा नया उपयोगकर्ता संदेश को जोड़ता है, पाठ-भुगतान पीढ़ी की पाइपलाइन का उपयोग करके प्रतिक्रिया का उत्पादन करता है और तदनुसार बातचीत के इतिहास को अपडेट करता है।

import gradio as gr


with gr.Blocks() as demo:
    chatbot = gr.Chatbot()
    msg = gr.Textbox(label="Message")
    clear = gr.Button("Clear History")
   
    def respond(message, chat_history):
        response, _ = generate_response(message, chat_history.copy())
        return response, chat_history + ((message, response))


    msg.submit(respond, (msg, chatbot), (msg, chatbot))
    clear.click(lambda: None, None, chatbot, queue=False)


demo.launch(share=True)

अंत में, हम ग्रैडो का उपयोग करके एक वेब-आधारित चैटबॉट इंटरफ़ेस बनाते हैं। यह चैट हिस्ट्री, मैसेज इनपुट और क्लियर हिस्ट्री बटन के लिए यूआई तत्व बनाता है और वार्तालाप को अपडेट करने के लिए टेक्स्ट-पे जेनरेशन की पाइपलाइन के साथ एक एकीकृत प्रतिक्रिया फ़ंक्शन को परिभाषित करता है। अंत में, डेमो को सार्वजनिक प्रविष्टि के लिए सक्षम साझा करने के साथ शुरू किया गया है।


यहाँ है कोटिनी नोटबुक। इसके अलावा, हमें फॉलो करना न भूलें ट्विटर और हमसे जुड़ें टेलीग्राफिक मीडिया और लिंक्डइन जी.आर.सिर हिलाकर सहमति देना। हमसे जुड़ने के लिए मत भूलना 80K+ एमएल सबमिटेड


ASIF Razzaq एक दूरदर्शी उद्यमी और इंजीनियर के रूप में मार्केटएकपोस्ट मीडिया इंक के सीईओ हैं, ASIF सामाजिक अच्छे के लिए कृत्रिम बुद्धिमत्ता की संभावना को बढ़ाने के लिए प्रतिबद्ध है। उनका सबसे हालिया प्रयास आर्टिफिशियल इंटेलिजेंस मीडिया प्लेटफॉर्म, मार्कटेकपोस्ट का उद्घाटन है, जो मशीन लर्निंग की गहराई के लिए और कवरेज की गहराई के लिए गहरी सीखने की खबर के लिए है। यह तकनीकी रूप से ध्वनि है और एक बड़े दर्शकों द्वारा आसानी से समझ में आता है। प्लेटफ़ॉर्म में 2 मिलियन से अधिक मासिक दृश्य हैं, जो दर्शकों के बीच अपनी लोकप्रियता दिखाते हैं।

पार्लेंट: LLMS (B ED) के साथ एक विश्वसनीय AI ग्राहक का सामना करना

Scroll to Top