मुख्य सामग्री पर जाएँ

Pixtral 12B: व्यावहारिक उदाहरणों के साथ मार्गदर्शिका

Le Chat के जरिए इंटरैक्टिव रूप में या La Plateforme पर उपलब्ध API के माध्यम से प्रोग्रामेटिक रूप में Mistral के Pixtral 12B का उपयोग करना सीखें।
· 8 मि॰ पढ़ें

AI के साथ खोजें

Mistral ने Pixtral 12B जारी किया है, जो 12 बिलियन पैरामीटर वाला ओपन-सोर्स लार्ज लैंग्वेज मॉडल (LLM) है। यह Mistral का पहला मल्टीमॉडल मॉडल है, जिसका अर्थ है कि यह टेक्स्ट और इमेज—दोनों को प्रोसेस कर सकता है।

यहाँ बताया गया है कि Pixtral LLM परिदृश्य में क्यों महत्वपूर्ण जोड़ है:

  • यह बिना किसी प्री-प्रोसेसिंग के सभी आकारों की इमेज को कुशलतापूर्वक प्रोसेस करता है।
  • 128K का कॉन्टेक्स्ट विंडो जटिल प्रॉम्प्ट्स और अनेक इमेज को संभालने में सक्षम बनाता है।
  • टेक्स्ट-ओनली और मल्टीमॉडल—दोनों तरह के कार्यों में मजबूत प्रदर्शन।
  • गैर-आय अर्जित (non-monetized) प्रोजेक्ट्स के लिए निःशुल्क, जिससे शोधकर्ताओं और शौक़िया उपयोगकर्ताओं के लिए उपयुक्त।
  • Apache 2.0 लाइसेंस के अंतर्गत ओपन-सोर्स, जो AI के लोकतंत्रीकरण का समर्थन करता है।

इस ट्यूटोरियल में, मैं Le Chat वेब चैट इंटरफेस के माध्यम से और API के जरिए प्रोग्रामेटिक रूप से Pixtral का उपयोग करने के अनेक उदाहरण और चरण-दर-चरण मार्गदर्शन दूँगा। लेकिन पहले, Pixtral के कुछ आवश्यक सैद्धांतिक पहलुओं को समझते हैं।

Pixtral 12B क्या है?

Mistral AI ने Pixtral 12B लॉन्च किया है—एक ऐसा मॉडल जिसे इमेज और टेक्स्ट को साथ में प्रोसेस करने के लिए डिज़ाइन किया गया है। 12 बिलियन पैरामीटर्स के साथ, यह चार्ट्स, दस्तावेज़ों या ग्राफ़ की व्याख्या जैसे विज़ुअल्स और भाषा के मिश्रण वाले कार्यों को संभाल सकता है।

यह उन वातावरणों में उपयोगी है जहाँ दोनों फ़ॉर्मैट्स की गहरी समझ आवश्यक होती है।

Pixtral 12B की एक प्रमुख विशेषता यह है कि यह एक ही इनपुट में कई इमेज को उनकी नेटिव रेज़ोल्यूशन में प्रोसेस कर सकता है। मॉडल में 128,000-टोकन का कॉन्टेक्स्ट विंडो है, जो लंबे और जटिल दस्तावेज़ों, इमेज या कई डेटा स्रोतों का एक साथ विश्लेषण करने की अनुमति देता है। यह वित्तीय रिपोर्टिंग या व्यवसायों के लिए दस्तावेज़ स्कैनिंग जैसे क्षेत्रों में सहायक बनाता है।

Pixtral के बेंचमार्क

Multimodal Knowledge & Reasoning से संबंधित कार्यों में Pixtral अच्छा प्रदर्शन करता है, विशेषकर MathVista टेस्ट में जहाँ यह सबसे आगे है। मल्टीमॉडल QA कार्यों में भी, खासकर ChartQA में, इसकी स्थिति मजबूत है।

Pixtral benchmarks

स्रोत: Mistral AI

हालाँकि, निर्देश-पालन और केवल-टेक्स्ट आधारित कार्यों में Claude-3 Haiku और Gemini Flash-8B जैसे अन्य मॉडल प्रतिस्पर्धी या बेहतर प्रदर्शन दिखाते हैं। यह संकेत देता है कि Pixtral 12B मल्टीमॉडल और विज़ुअल रीज़निंग में उत्कृष्ट है, लेकिन शुद्ध टेक्स्ट-आधारित कार्यों में अग्रणी न भी हो।

Pixtral की आर्किटेक्चर

Pixtral 12B की आर्किटेक्चर को टेक्स्ट और इमेज को साथ-साथ प्रोसेस करने के लिए डिज़ाइन किया गया है। इसमें दो मुख्य घटक हैं: विज़न एन्कोडर और मल्टीमॉडल ट्रांसफ़ॉर्मर डिकोडर।

विज़न एन्कोडर, जिसमें 400 मिलियन पैरामीटर्स हैं, विभिन्न आकारों और रेज़ोल्यूशन्स की इमेज के अनुरूप विशेष रूप से प्रशिक्षित है।

Pixtral's vision encoder.

स्रोत: Mistral AI

दूसरा घटक, मल्टीमॉडल ट्रांसफ़ॉर्मर डिकोडर, 12 बिलियन पैरामीटर्स वाला एक बड़ा मॉडल है। यह मौजूदा Mistral Nemo आर्किटेक्चर पर आधारित है और ऐसे अनुक्रमों में अगले टेक्स्ट टोकन की भविष्यवाणी करने के लिए डिज़ाइन किया गया है जिनमें टेक्स्ट और इमेज डेटा परस्पर गुँथा होता है।

यह डिकोडर बहुत लंबे कॉन्टेक्स्ट (128k टोकन तक) प्रोसेस कर सकता है, जिससे यह अनेक इमेज टोकन और बड़े दस्तावेज़ों में विस्तृत टेक्स्टुअल जानकारी को संभाल पाता है।

Pixtral's multimodal transformer decoder.

स्रोत: Mistral AI

यह संयुक्त आर्किटेक्चर Pixtral को इमेज के विभिन्न आकारों और फ़ॉर्मैट्स को संभालने में सक्षम बनाता है, जिससे उच्च-रेज़ोल्यूशन इमेज को संदर्भ खोए बिना सारगर्भित टोकन में बदला जा सके।

Le Chat पर Pixtral का उपयोग कैसे करें

Pixtral तक निःशुल्क पहुँच का सबसे आसान तरीका है Le Chat, उनका चैट इंटरफ़ेस। यह इंटरफ़ेस अन्य LLM चैट इंटरफ़ेस—जैसे ChatGPT—की तरह दिखता है।

The Le Chat web interface.

Pixtral का उपयोग करने के लिए, नीचे प्रॉम्प्ट इनपुट के पास स्थित मॉडल सेलेक्टर पर जाएँ और उपलब्ध मॉडलों की सूची में से Pixtral मॉडल चुनें।

Selecting the Pixtral model in Le Chat.

Pixtral एक मल्टीमॉडल मॉडल है जो टेक्स्ट और इमेज—दोनों का समर्थन करता है। नीचे दिए गए क्लिप आइकन का उपयोग करके, हम एक या अधिक इमेज अपलोड कर सकते हैं और उन्हें टेक्स्ट प्रॉम्प्ट के साथ जोड़ सकते हैं। उदाहरण के लिए, यह सुविधा हमें किसी इमेज में दिखाए गए फल की पहचान करने में मदद कर सकती है।

A multimodal prompt example of using Pixtral in Le Chat.

आइए एक और उदाहरण देखें जहाँ हम Pixtral से अनुरोध करते हैं कि वह एक पाई चार्ट वाली इमेज को मार्कडाउन टेबल में बदल दे:

Using Le Chat to transform a chart into a text table.

La Plateforme पर Pixtral की API से कैसे जुड़ें

हालाँकि वेब इंटरफ़ेस के जरिए Pixtral का उपयोग करना सरल और सहज है, पर इसे हमारे प्रोजेक्ट्स में शामिल करने के लिए यह उपयुक्त नहीं है। इस खंड में, हम Python का उपयोग करके उनकी API के माध्यम से La Plateforme पर Pixtral के साथ कैसे इंटरैक्ट करें, इस पर चर्चा करेंगे।

प्रोफ़ाइल सेटअप

शुरू करने के लिए, हमें एक खाता बनाना होगा। यह Google खाते से एक क्लिक में किया जा सकता है, या वैकल्पिक रूप से, यूज़रनेम और पासवर्ड के साथ पारंपरिक खाता बनाकर।

खाता बनाने पर, हमसे वर्कस्पेस सेट करने के लिए कहा जाएगा। आप अपने वर्कस्पेस के लिए कोई भी नाम चुन सकते हैं और "I'm a solo creator" विकल्प का चयन कर सकते हैं।

Creating a workspace in La Platforme.

खाता बनाने के बाद, बिलिंग प्लान पेज पर जाएँ। यहाँ, हम या तो एक प्रायोगिक (experimental) बिलिंग प्लान बना सकते हैं, जो हमें API को निःशुल्क आज़माने की अनुमति देता है, या एक पेड प्लान सेट कर सकते हैं। ध्यान देने योग्य बात यह है कि निःशुल्क प्रायोगिक प्लान के लिए हमें अपने खाते से वैध फ़ोन नंबर लिंक करना आवश्यक है।

Selecting a billing plan in La Platforme.

अब हमारा प्रोफ़ाइल API कुंजी बनाने के लिए तैयार होना चाहिए। यह कुंजी Mistral API को अनुरोध भेजने और Python के जरिए प्रोग्रामेटिक रूप से Pixtral से इंटरैक्ट करने के लिए आवश्यक है।

API कुंजी बनाना

API कुंजी जनरेट करने के लिए, API कुंजी पेज पर जाएँ। पेज के शीर्ष पर नई API कुंजी बनाने का बटन है:

Creating API Keys in La Platforme.

कुंजी बनाते समय, हमसे उसका नाम और समाप्ति तिथि सेट करने के लिए कहा जाता है। हालाँकि, दोनों फ़ील्ड वैकल्पिक हैं, इसलिए चाहें तो उन्हें खाली छोड़ा जा सकता है।

API key creation form for Mistral's La Plateforme

आम तौर पर, कुंजियों के लिए समाप्ति तिथि निर्धारित करना उचित होता है। अक्सर कुंजियाँ किसी API पर प्रयोग करने के लिए बनाई जाती हैं और फिर भुला दी जाती हैं, जिससे वे अनिश्चितकाल के लिए सक्रिय रह जाती हैं। समाप्ति तिथि तय करने से यह सुनिश्चित होता है कि यदि कोई कुंजी अनजाने में लीक हो जाए, तो उसे हमेशा के लिए उपयोग नहीं किया जा सकेगा और संभावित जोखिम कम होंगे।

Safekeeping the API key after creation.

कुंजी बन जाने पर, यह प्रदर्शित की जाएगी। यह एकमात्र अवसर होता है जब कुंजी देखी जा सकती है, इसलिए इसे कॉपी करना आवश्यक है। यदि कुंजी खो जाती है, तो समाधान है—उसे सूची से हटाकर नई कुंजी बनाना।

मैं सुझाव दूँगा कि Python स्क्रिप्ट वाले उसी डायरेक्टरी में एक .env फ़ाइल बनाकर नीचे दिए गए स्वरूप में कुंजी संग्रहीत करें (<key_value> को वास्तविक कुंजी से बदलें):

# contents of the .env fileAPI_KEY=<key_value>

इस चरण को छोड़कर हमारी स्क्रिप्ट में API कुंजी को हार्डकोड करना अनुशंसित नहीं है। ऐसा करने से हम बिना कुंजी साझा किए अपना कोड साझा नहीं कर पाएँगे। इस विधि के बारे में अधिक जानें इस ट्यूटोरियल में: Python environment variables।

डिपेंडेंसी इंस्टॉल करें

शुरू करने के लिए, हमें आवश्यक डिपेंडेंसी इंस्टॉल करनी होंगी, जिनमें शामिल हैं:

  • mistralai, API इंटरेक्शन के लिए Mistral द्वारा प्रदत्त क्लाइंट लाइब्रेरी।
  • python-dotenv, एक मॉड्यूल जो .env फ़ाइल से environment variables लोड करने के काम आता है।
pip install python-dotenv mistralai

डिपेंडेंसी इंस्टॉल होने के बाद, हम स्क्रिप्ट बनाना शुरू कर सकते हैं। उसी डायरेक्टरी में .env फ़ाइल के साथ mistral_example.py नाम की फ़ाइल बनाएँ। प्रारंभिक चरण में मॉड्यूल इम्पोर्ट करना और API कुंजी को किसी वैरिएबल में लोड करना शामिल है।

# Create a mistral_example.py file in the same folder as the .env fileimport osfrom mistralai import Mistralfrom dotenv import load_dotenvload_dotenv()api_key = os.getenv("API_KEY")

इसके बाद, हम क्लाइंट को इनिशियलाइज़ कर सकते हैं।

क्लाइंट इनिशियलाइज़ करें

Mistral डॉक्युमेंटेशन पेज उपलब्ध सभी मॉडलों की सूची प्रदान करता है। हमें विशेष रूप से नवीनतम Pixtral मॉडल में रुचि है, जिसका API एन्डपॉइंट pixtral-12b-2409 है।

# Add this code in mistral_example.py after initializing the API keymodel = "pixtral-12b-2409"client = Mistral(api_key=api_key)

API अनुरोध करें

अब हम Mistral API को अनुरोध भेजने और प्रोग्रामेटिक रूप से Pixtral के साथ इंटरैक्ट करने के लिए तैयार हैं। यहाँ टेक्स्ट प्रॉम्प्ट सबमिट करने का एक उदाहरण दिया गया है:

# Add this code in mistral_example.py after initializing the clientchat_response = client.chat.complete(  model=model,  messages = [   {     "role": "user",     "content": [       {         "type": "text",         "text": "What is 1 + 1?"       }     ]   }, ])print(chat_response.choices[0].message.content)

हम इस स्क्रिप्ट को टर्मिनल पर चला सकते हैं और अपने प्रॉम्प्ट पर Pixtral की प्रतिक्रिया देख सकते हैं:

$ python mistral_example.py                  The sum of 1 + 1 is 2. So,1 + 1 = 2

API का मल्टीमॉडैलिटी के साथ उपयोग

दिए गए उदाहरण में, टेक्स्ट प्रॉम्प्ट को content फ़ील्ड के माध्यम से सबमिट किया गया है, जहाँ type को "text" पर सेट किया गया है।

{  "type": "text",  "text": "What is 1 + 1?"}

content फ़ील्ड एक ऐरे है जो हमें कई डेटा अंश भेजने की अनुमति देता है। एक मल्टी-मॉडल मॉडल होने के नाते, Pixtral इमेज डेटा भी स्वीकार करता है। प्रॉम्प्ट में URL से इमेज का उपयोग करने के लिए, हम content फ़ील्ड में "image_url" प्रकार निर्दिष्ट करके उसे शामिल कर सकते हैं:

{  "type": "image_url",  "Image_url": "<image_url>” }

<image_url> को इमेज के वास्तविक URL से बदलें। उदाहरण के लिए, हम नीचे दिए गए परफ़ॉर्मेंस चार्ट्स का विश्लेषण करने के लिए Pixtral का उपयोग कर सकते हैं:

स्रोत: Mistral AI

chat_response = client.chat.complete( model=model, messages = [   {     "role": "user",     "content": [       {         "type": "text",         "text": "According to the chart, how does Pixtral 12B performs compared to other models?"       },       {         "type": "image_url",         "image_url": "https://mistral.ai/images/news/pixtral-12b/pixtral-benchmarks.png"       }     ]   }, ])print(chat_response.choices[0].message.content)

जब यह अनुरोध सबमिट किया जाता है, तो Pixtral को विश्लेषण के लिए टेक्स्ट प्रॉम्प्ट और चार्ट वाली इमेज—दोनों मिलती हैं, और फिर यह विश्लेषण का विवरण देते हुए प्रतिक्रिया प्रदान करता है। इसकी लंबाई काफ़ी होने के कारण हम यहाँ प्रतिक्रिया प्रदर्शित नहीं कर रहे हैं।

लोकल इमेज लोड करना

पिछले उदाहरण में, हमने URL से इमेज प्रदर्शित करने का तरीका दिखाया। वैकल्पिक रूप से, हम अपने हार्ड ड्राइव पर संग्रहीत इमेज को base-64 एन्कोडेड इमेज के रूप में लोड करके उपयोग कर सकते हैं। base-64 में इमेज लोड और एन्कोड करने के लिए, हम बिल्ट-इन base64 पैकेज का उपयोग करते हैं:

def encode_image_base64(image_path): with open(image_path, "rb") as image_file:   return base64.b64encode(image_file.read()).decode("utf-8")

base-64 एन्कोडेड इमेज का उपयोग करते समय, हम अब भी एन्कोडेड इमेज देने के लिए image_url प्रकार का ही उपयोग करते हैं, पर हमें इसके आगे data:image/jpeg;base64, जोड़ना होता है:

{  "type": "image_url",  "image_url": f"data:image/jpeg;base64,{base_64_image}"}

base_64_image वह परिणाम है जो encode_image_base64() फ़ंक्शन कॉल करके इमेज लोड करने पर मिलता है। आइए इसका उपयोग करके Pixtral से मेरी बनाई गई निम्नलिखित दो स्केच के आधार पर दो पेज वाली एक टू-डू लिस्ट वेबसाइट बनाने को कहें:

Sketch for the TODO list app interface.

हम दो इमेज अलग-अलग उपलब्ध कराते हैं और साथ ही एक प्रॉम्प्ट देते हैं जिसमें इमेज के आधार पर HTML वेबसाइट बनाने को कहा जाता है:

list_image = encode_image_base64("./todo-list.jpeg")new_item_image = encode_image_base64("./new-item-form.jpeg")chat_response = client.chat.complete( model=model, messages = [   {     "role": "user",     "content": [       {         "type": "text",         "text": "Create a HTML website with two pages like in the images"       },       {         "type": "image_url",         "image_url": f"data:image/jpeg;base64,{list_image}"       },       {         "type": "image_url",         "image_url": f"data:image/jpeg;base64,{new_item_image}"       },           ]   }, ])print(chat_response.choices[0].message.content)

Pixtral दो कोड ब्लॉक्स आउटपुट करेगा जिनमें दोनों पेजों की सामग्री होगी। हमने कोड को index.html और add.html नामक दो फ़ाइलों में सहेजा और उन्हें ब्राउज़र में खोला। परिणाम यह रहा:

Rendered TODO list app by Pixtral.

यद्यपि यह अभी पूरी तरह कार्यरत एप्लिकेशन नहीं है, फिर भी यह चलने योग्य है और आगे के विकास के लिए उत्कृष्ट शुरुआती बिंदु है।

निष्कर्ष

Pixtral 12B, Mistral का पहला मल्टीमॉडल मॉडल है। यह बिना प्री-प्रोसेसिंग के सभी आकारों की इमेज संभाल सकता है, जटिल प्रॉम्प्ट्स के लिए 128K का कॉन्टेक्स्ट विंडो प्रदान करता है और टेक्स्ट-ओनली तथा मल्टीमॉडल—दोनों तरह के कार्यों में अच्छा प्रदर्शन करता है। 

गैर-आय अर्जित प्रोजेक्ट्स के लिए निःशुल्क उपलब्ध और Apache 2.0 लाइसेंस के अंतर्गत ओपन-सोर्स होने के कारण, Pixtral शोधकर्ताओं और शौक़िया उपयोगकर्ताओं—दोनों के लिए मूल्यवान है।

इस ट्यूटोरियल में, मैंने Pixtral के उपयोग पर व्यावहारिक जानकारियाँ दी हैं, और उदाहरणों तथा चरण-दर-चरण निर्देशों के माध्यम से इसकी क्षमताएँ उजागर की हैं।

FAQs

क्या Pixtral का उपयोग निःशुल्क है, और किन शर्तों पर?

Pixtral का उपयोग Le Chat पर या API के जरिए गैर-आय अर्जित प्रोजेक्ट्स में निःशुल्क है।

क्या Pixtral ओपन-सोर्स है?

हाँ। यह Apache 2.0 लाइसेंस के अंतर्गत ओपन-सोर्स है।

Pixtral किस प्रकार के इनपुट डेटा को सपोर्ट करता है?

Pixtral, Mistral AI का पहला मल्टी-मॉडल LLM है। यह टेक्स्ट और इमेज—दोनों को सपोर्ट करता है।

Pixtral किस तरह की इमेज सपोर्ट करता है?

Pixtral बिना किसी प्री-प्रोसेसिंग के किसी भी आकार की इमेज को सपोर्ट करता है।

Pixtral महत्वपूर्ण क्यों है?

सिर्फ 12 बिलियन पैरामीटर्स वाले मॉडल के लिए Pixtral का प्रदर्शन उत्कृष्ट है। इसके अलावा, इसका उपयोग निःशुल्क किया जा सकता है और यह ओपन-सोर्स है।

François Aubry

लेखक

François Aubry

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

विषय