जानें कि Python के साथ Mistral के OCR API का उपयोग करके दस्तावेज़ों से टेक्स्ट और इमेज कैसे निकाली जाएँ और अनुप्रयोगों में OCR क्षमताएँ कैसे एकीकृत की जाएँ।
पिछले सप्ताह, Mistral ने Mistral OCR जारी किया, जो एक अभिनव ऑप्टिकल कैरेक्टर रिकग्निशन (OCR) API है। उनका API दस्तावेज़ों और छवियों को समझने के लिए AI क्षमताओं का नया मानक तय करता है। यह छवियों, गणित, तालिकाओं और अधिक सहित दस्तावेज़ों को उच्च सटीकता के साथ प्रोसेस और पार्स कर सकता है।
इस लेख में, मैं चरण-दर-चरण बताऊँगा कि Python का उपयोग करके Mistral OCR कैसे करें। मैं आपको दिखाऊँगा कि इसे दस्तावेज़ों, छवियों के साथ कैसे उपयोग करें, और चैट के साथ मिलाकर प्रॉम्प्ट्स को दस्तावेज़ों के साथ कैसे संयोजित करें।
Mistral OCR क्या है?
ऑप्टिकल कैरेक्टर रिकग्निशन, या OCR, एक तकनीक है जो विभिन्न प्रकार के दस्तावेज़ों—जैसे स्कैन किए गए कागज़ी दस्तावेज़, PDF फ़ाइलें, या डिजिटल कैमरे से ली गई छवियाँ—को संपादन योग्य और खोजनीय डेटा में परिवर्तित करती है।
OCR छवियों में पाठ अक्षरों की पहचान कर, उनके पैटर्न का विश्लेषण कर, और इन दृश्य तत्वों को मशीन-एन्कोडेड पाठ में अनुवाद कर काम करता है। इस तकनीक ने मुद्रित सामग्री के साथ हमारी बातचीत का तरीका बदल दिया है—ऐतिहासिक अभिलेखों को डिजिटाइज़ करने से लेकर व्यावसायिक फ़ॉर्म से डेटा एंट्री को स्वचालित करने तक सब कुछ संभव बनाया है।
Mistral का OCR API इस क्षेत्र में एक महत्वपूर्ण प्रगति का प्रतिनिधित्व करता है, जो डेवलपर्स को छवियों और दस्तावेज़ों से उत्कृष्ट सटीकता के साथ पाठ निकालने का शक्तिशाली उपकरण प्रदान करता है।
पारंपरिक OCR समाधानों के विपरीत, जो केवल पाठ की पहचान करते हैं, Mistral का API दस्तावेज़ों के संदर्भ और संरचना को समझने के लिए उन्नत AI मॉडल का उपयोग करता है और सामग्री निकालते समय फ़ॉर्मैटिंग बनाए रखता है। इसका अर्थ है कि यह जटिल लेआउट पहचान सकता है, हेडर और मुख्य पाठ के बीच अंतर कर सकता है, और तालिकाओं व मल्टी-कॉलम फ़ॉर्मैट्स को सही ढंग से समझ सकता है।
Mistral के OCR API को खास बनाती है इसकी Mistral की भाषा-समझ क्षमताओं के साथ एकीकरण। यह सिस्टम केवल पाठ निकालता ही नहीं—इसे समझता भी है।
इससे अधिक उन्नत दस्तावेज़-प्रोसेसिंग वर्कफ़्लोज़ संभव होते हैं, जहाँ API न केवल पाठ पहचान सकता है, बल्कि दस्तावेज़ की सामग्री से संबंधित प्रश्नों के उत्तर दे सकता है, जानकारी का सार प्रस्तुत कर सकता है, या विशिष्ट डेटा बिंदु निकाल सकता है।
साथ ही, Mistral का OCR API कई भाषाओं और वर्णमालाओं में काम करने के लिए डिज़ाइन किया गया है, जो इसे वैश्विक अनुप्रयोगों के लिए बहुमुखी बनाता है। सटीक पाठ पहचान और गहरी भाषा-समझ का यह संयोजन Mistral के समाधान को केवल एक साधारण OCR टूल के बजाय अगली पीढ़ी के दस्तावेज़ इंटेलिजेंस समाधान के रूप में स्थापित करता है।
Mistral OCR की कीमतें और सीमाएँ
Mistral OCR API निःशुल्क नहीं है, लेकिन इसकी कीमत केवल $1 प्रति 1,000 पृष्ठ (या $0.001 प्रति पृष्ठ) है। मेरे विचार में, यह काफी प्रतिस्पर्धी और किफायती मूल्य निर्धारण है।
दस्तावेज़ फ़ाइलें 50 MB आकार से अधिक नहीं होनी चाहिए और 1,000 पृष्ठों से लंबी नहीं होनी चाहिए।
कुंजी बनाने वाले फ़ॉर्म में, हम इसे एक नाम और समाप्ति तिथि दे सकते हैं।
यदि हमारे कई प्रोजेक्ट हैं और प्रत्येक एक अलग कुंजी का उपयोग करता है, तो नाम संगठनात्मक उद्देश्यों के लिए उपयोगी है। इस ट्यूटोरियल के लिए, हम इसे खाली छोड़ सकते हैं।
समाप्ति तिथि उपयोगी है ताकि यदि हम इसे गलती से साझा कर दें, तो लोगों को हमारी कुंजी तक हमेशा के लिए पहुँच न मिल सके।
कुंजी बनाने के बाद, इसे कॉपी करें और उसी फ़ोल्डर में .env नाम की फ़ाइल बनाएँ जहाँ हम स्क्रिप्ट लिखेंगे।
कुंजी को निम्नलिखित प्रारूप में फ़ाइल में पेस्ट करें:
यदि आप GitHub का उपयोग करते हैं, तो सुनिश्चित करें कि इस फ़ाइल को .gitignore में जोड़ें ताकि API कुंजी GitHub पर अपलोड न हो।
Python वातावरण सेटअप
Python के साथ Mistral के OCR API का उपयोग करने के लिए, निम्नलिखित पैकेज इंस्टॉल करें:
mistralai: यह Mistral द्वारा उनके API के साथ इंटरैक्ट करने के लिए दिया गया पैकेज है।
python-dotenv: .env फ़ाइल से API कुंजी को आसानी से लोड करने के लिए पैकेज।
datauri: यह पैकेज छवि डेटा को प्रोसेस कर उन्हें फ़ाइलों में सहेजने के लिए उपयोग होता है।
हम इन्हें इस कमांड से इंस्टॉल कर सकते हैं:
pip install mistralai python-dotenv datauriसंचालित द्वारा
मैं एक अलग वातावरण बनाने की सलाह देता/देती हूँ ताकि आपकी इंस्टॉलेशन, आपके डिफ़ॉल्ट Python इंस्टॉलेशन से कॉन्फ्लिक्ट न करे। ऐसा करने का एक तरीका Anaconda का उपयोग करना है:
पहला कमांड mistral नाम का वातावरण बनाता है जो Python 3.9 का उपयोग करता है। फिर, हम उस वातावरण को सक्रिय करते हैं और ऊपर दिए गए पैकेज इंस्टॉल करते हैं।
Mistral OCR के साथ इंटरैक्ट करने के लिए Python स्क्रिप्ट बनाना
आइए देखें कि हम Mistral के OCR API को पहला अनुरोध कैसे भेज सकते हैं।
आवश्यक निर्भरताएँ इम्पोर्ट करें
.env फ़ाइल वाले उसी फ़ोल्डर में, ocr.py नाम की नई Python स्क्रिप्ट बनाएँ और आवश्यक पैकेज इम्पोर्ट करें:
from mistralai import Mistral
from dotenv import load_dotenv
import datauri
import osसंचालित द्वारा
ध्यान दें कि हम os भी इम्पोर्ट करते हैं, जिसका उपयोग हम वातावरण से API कुंजी को एक वेरिएबल में लोड करने के लिए करेंगे। हमें इसे इंस्टॉल करने की ज़रूरत नहीं है क्योंकि यह बिल्ट-इन पैकेज है।
API कुंजी लोड करें और Mistral क्लाइंट इनिशियलाइज़ करें
अगला, हम निम्न पंक्तियाँ जोड़ते हैं ताकि API कुंजी लोड की जा सके और Mistral क्लाइंट इनिशियलाइज़ हो सके:
load_dotenv()
api_key = os.environ["MISTRAL_API_KEY"]
client = Mistral(api_key=api_key)संचालित द्वारा
Mistral OCR API को अनुरोध भेजना
OCR API का सबसे सरल उपयोग किसी ऑनलाइन होस्टेड PDF के URL के साथ है। इस उदाहरण के लिए, यह Mistral 7B पेपर लें जो arXiv (एक प्लेटफ़ॉर्म जो शोध पत्रों के प्री-सबमिशन संस्करण होस्ट करता है) पर होस्टेड है:
ocr_response = client.ocr.process(
model="mistral-ocr-latest",
document={"type":"document_url","document_url":"https://arxiv.org/pdf/2501.00663",},)print(ocr_response)संचालित द्वारा
फिर हम python ocr.py कमांड से स्क्रिप्ट चला सकते हैं। यह निम्नलिखित प्रतिक्रिया उत्पन्न करेगा:
pages=[OCRPageObject(index=0, markdown='# Mistral 7B \n\nAlbert Q. Jiang,
...संचालित द्वारा
प्रतिक्रिया संरचना
प्रतिक्रिया में कई फ़ील्ड होते हैं। पूर्ण विवरण Mistral के API दस्तावेज़ में उपलब्ध हैं। हमें विशेष रूप से pages फ़ील्ड की परवाह है, जिसमें प्रत्येक पृष्ठ का मार्कडाउन पाठ होता है।
हम पृष्ठों की संख्या प्रिंट कर सकते हैं ताकि देखें कि यह PDF फ़ाइल से मेल खाती है:
# Mistral 7B
Albert Q. Jiang, Alexandre Sablayrolles, Arthur Mensch, Chris Bamford, Devendra Singh Chaplot, Diego de las Casas, Florian Bressand, Gianna Lengyel, Guillaume Lample, Lucile Saulnier, Lélio Renard Lavaud, Marie-Anne Lachaux, Pierre Stock, Teven Le Scao, Thibaut Lavril, Thomas Wang, Timothée Lacroix, William El Sayed

#### Abstract
We introduce Mistral 7B, a 7-billion-parameter language
...संचालित द्वारा
PDF फ़ाइल को Markdown में बदलना
PDF को Markdown में बदलने के लिए, हम सभी पृष्ठों पर लूप लगाते हैं और प्रत्येक का मार्कडाउन कंटेंट एक फ़ाइल में लिखते हैं। ऐसा करने के लिए यहाँ एक फ़ंक्शन है।
defcreate_markdown_file(ocr_response, output_filename ="output.md"):withopen(output_filename,"wt")as f:for page in ocr_response.pages:
f.write(page.markdown)संचालित द्वारा
यहाँ मूल PDF फ़ाइल और हमारे द्वारा जनरेट की गई Markdown फ़ाइल के बीच साइड-बाय-साइड तुलना है:
छवियों को प्रोसेस करना
पिछले उदाहरण में, हमने देखा कि Markdown फ़ाइल में PDF की छवियाँ नहीं थीं। ऐसा इसलिए क्योंकि हमने केवल मार्कडाउन पाठ बनाया था, छवि फ़ाइलें नहीं।
यदि हम मार्कडाउन आउटपुट देखें, तो हम पाते हैं कि उसमें एक छवि संदर्भ मौजूद है:
ऊपर के आउटपुट में हम देखते हैं कि वास्तव में img-0.jpeg का संदर्भ मौजूद है। पर डेटा मौजूद नहीं है: image_base64=None।
छवि डेटा प्राप्त करने के लिए, हमें OCR अनुरोध को संशोधित कर include_image_base64=True पैरामीटर जोड़ना होगा ताकि छवि डेटा शामिल हो सके।
ocr_response = client.ocr.process(
model="mistral-ocr-latest",
document={"type":"document_url","document_url":"https://arxiv.org/pdf/2310.06825",},
include_image_base64=True,)संचालित द्वारा
यदि हम फिर से छवियाँ प्रिंट करें, तो देखेंगे कि image_base_64 फ़ील्ड अब भरे हुए हैं। जैसा कि फ़ील्ड के नाम से स्पष्ट है, छवि डेटा base64 में संग्रहीत है। हम base-64 छवि अभ्यावेदन कैसे काम करता है, इसकी बारीकियों में नहीं जाएँगे। इसके बजाय, हम एक फ़ंक्शन दे रहे हैं जो पहले इंस्टॉल किए गए datauri पैकेज का उपयोग कर छवि को फ़ाइल में लिखता है:
def save_image(image):
parsed = datauri.parse(image.image_base64)
with open(image.id, "wb") as file:
file.write(parsed.data)संचालित द्वारा
अब हम create_markdown_file() फ़ंक्शन को अपडेट कर सकते हैं ताकि सभी छवियाँ भी फ़ाइलों में लिखी जाएँ:
defcreate_markdown_file(ocr_response, output_filename ="output.md"):withopen(output_filename,"wt")as f:for page in ocr_response.pages:
f.write(page.markdown)for image in page.images:
save_image(image)संचालित द्वारा
यदि हम अपडेटेड कोड चलाएँ और Markdown पूर्वावलोकन को फिर से रेंडर करें, तो हमें छवियाँ दिखाई देंगी।
स्थानीय फ़ाइल का उपयोग
ऊपर के उदाहरण में, हमने पहले से होस्टेड फ़ाइल का उपयोग किया। अपने कंप्यूटर से किसी PDF फ़ाइल के साथ काम करने के लिए, Mistral API हमें client.files.upload() फ़ंक्शन के ज़रिए फ़ाइल अपलोड करने देता है। मान लें कि PDF फ़ाइल myfile.pdf स्क्रिप्ट वाले उसी फ़ोल्डर में है, तो ऐसा करें:
filename ="myfile.pdf"
uploaded_pdf = client.files.upload(file={"file_name": filename,"content":open(filename,"rb"),},
purpose="ocr")संचालित द्वारा
इस तरह अपलोड की गई हर फ़ाइल का एक अद्वितीय ID होता है, जो उस फ़ाइल का संदर्भ देने के लिए आवश्यक है। हम परिणाम के id एट्रिब्यूट से इसे प्राप्त कर सकते हैं, इस तरह:
यह फ़ंक्शन base64 पैकेज का उपयोग करता है, जो एक बिल्ट-इन पैकेज है, इसलिए हमें इसे इंस्टॉल करने की आवश्यकता नहीं है।
आइए उस रसीद पर OCR चलाने की कोशिश करें जिसे हमने receipt.jpeg नाम की फ़ाइल में सहेजा है:
हम अपने कंप्यूटर से इमेज लोड करने के लिए load_image() फ़ंक्शन का उपयोग करके OCR अनुरोध कर सकते हैं:
ocr_response = client.ocr.process(
model="mistral-ocr-latest",
document={"type":"image_url","image_url": load_image("receipt.jpeg"),},)संचालित द्वारा
यह रहा परिणाम:
यह पूरी तरह सही नहीं है, लेकिन परिणाम बहुत दूर नहीं है।
Mistral OCR को Chat के साथ संयोजित करना
OCR डेटा को ऐसे टेक्स्ट फ़ॉर्मेट में बदलने का एक कुशल तरीका देता है जो LLMs के उपयोग के लिए तैयार हो। Mistral API उपयोगकर्ताओं को LLM अनुरोधों में दस्तावेज़ों और प्रॉम्प्ट्स को संयोजित करने की अनुमति देता है। बैकएंड में, LLM उपभोग के लिए दस्तावेज़ों को प्रोसेस करने हेतु OCR API का उपयोग किया जाता है।
आइए इसका उपयोग उस लेख को संक्षेपित करने के लिए करें जिसका हमने इस ट्यूटोरियल में संदर्भ लिया है।
यदि आप पहली बार Mistral चैट API का उपयोग कर रहे हैं, तो आप यह विस्तृत Mistral गाइड पढ़ना चाहेंगे क्योंकि हम इसके काम करने के तरीके के विवरण में नहीं जाएंगे।
यहाँ उस लेख की आसान-से-समझ आने वाली व्याख्या माँगने का एक पूर्ण Python उदाहरण है:
from mistralai import Mistral
import os
from dotenv import load_dotenv
load_dotenv()
api_key = os.environ["MISTRAL_API_KEY"]
client = Mistral(api_key=api_key)
messages =[{"role":"user","content":[{"type":"text","text":"Explain this article in detail to someone who doesn't have a technical background",},{"type":"document_url","document_url":"https://arxiv.org/pdf/2310.06825",},],}]
chat_response = client.chat.complete(
model="mistral-small-latest",
messages=messages,)print(chat_response.choices[0].message.content)संचालित द्वारा
ध्यान दें कि फ़ाइल उसी फ़ॉर्मेट में दी गई है जो हमने ऊपर सीखा था:
{
"type": "document_url",
"document_url": "https://arxiv.org/pdf/2310.06825",
}संचालित द्वारा
Mistral OCR के वास्तविक-जीवन उपयोग
अब जब आपने अपने Python प्रोजेक्ट्स में Mistral OCR को लागू करना सीख लिया है, तो आइए कुछ व्यावहारिक उपयोग मामलों की खोज करें जहाँ आप जो सीखे हैं उसे लागू कर सकते हैं।
शोध-पत्र विश्लेषण
आप वैज्ञानिक पत्रों से टेक्स्ट, समीकरण, टेबल और आकृतियाँ निकालकर एक निजी शोध सहायक बना सकते हैं। आप ऐसी प्रणाली बना सकते हैं जो मुख्य निष्कर्षों का सारांश दे, पद्धति के विवरण निकाले, या आपके क्षेत्र के पत्रों का खोजयोग्य डेटाबेस तैयार करे।
दस्तावेज़ डिजिटाइजेशन परियोजनाएँ
आप भौतिक अभिलेखों या स्कैन किए गए दस्तावेज़ों को खोजयोग्य डिजिटल संग्रहों में बदल सकते हैं। यह विशेष रूप से ऐतिहासिक दस्तावेज़ों, पारिवारिक अभिलेखों, या उन संस्थागत आर्काइव्स के लिए उपयोगी है जिन्हें संरक्षण और आसान पहुँच की आवश्यकता होती है।
बहुभाषी दस्तावेज़ प्रसंस्करण
आप विभिन्न भाषाओं में दस्तावेज़ों को प्रोसेस करने के लिए Mistral OCR की बहुभाषी क्षमताओं का उपयोग कर सकते हैं। यह अंतरराष्ट्रीय व्यवसायों, अनुवाद सेवाओं, या वैश्विक शोध परियोजनाओं के लिए उपयोगी हो सकता है जिन्हें अलग-अलग लिपियों वाले दस्तावेज़ों से जानकारी निकालने की आवश्यकता होती है।
शैक्षणिक सामग्री प्रबंधन
आप पाठ्यपुस्तकों, लेक्चर स्लाइड्स और हस्तलिखित नोट्स को डिजिटल फ़ॉर्मेट में बदल सकते हैं। ऐसी प्रणाली बनाएँ जो प्रमुख अवधारणाएँ, सूत्र, और आरेख निकालकर निजी अध्ययन सामग्री या प्रश्न बैंक तैयार करे।
वित्तीय दस्तावेज़ प्रसंस्करण
आप इनवॉइस, रसीदें, वित्तीय विवरण, या कर दस्तावेज़ों से डेटा निष्कर्षण को स्वचालित कर सकते हैं। इससे लेखा प्रक्रियाएँ सुव्यवस्थित हो सकती हैं या खर्च प्रबंधन और वित्तीय विश्लेषण में मदद मिल सकती है।
निष्कर्ष
Mistral का OCR API दस्तावेज़ों और छवियों से टेक्स्ट निकालने और उसे समझने के लिए एक शक्तिशाली टूल प्रदान करता है। इस ट्यूटोरियल में, हमने विभिन्न दस्तावेज़-प्रसंस्करण कार्यों के लिए इसे सेट अप और उपयोग करने के तरीके देखे।
इस ट्यूटोरियल में बताए गए चरणों का पालन करके, आप अपने अनुप्रयोगों में Mistral के OCR को शामिल कर सकते हैं—चाहे आप आर्काइव्स को डिजिटाइज़ कर रहे हों, डेटा एंट्री को स्वचालित कर रहे हों, या बुद्धिमान दस्तावेज़ प्रबंधन प्रणालियाँ बना रहे हों। जैसे-जैसे तकनीक विकसित होती है, हम और भी अधिक सटीक और संदर्भ-सचेत दस्तावेज़ प्रसंस्करण क्षमताओं की उम्मीद कर सकते हैं, जो भौतिक दस्तावेज़ों और डिजिटल वर्कफ़्लो के बीच की खाई को और कम करेंगी।
Full-stack इंजीनियर एवं संस्थापक, CheapGPT पर। पढ़ाना हमेशा से मेरा जुनून रहा है। विद्यार्थी जीवन से ही मैं उत्साहपूर्वक ट्यूशन देने और अन्य विद्यार्थियों की सहायता करने के अवसर तलाशता रहा हूँ। इसी जुनून ने मुझे पीएचडी करने के लिए प्रेरित किया, जहाँ मैंने अपने शैक्षणिक प्रयासों के साथ शिक्षण सहायक के रूप में भी काम किया। उन वर्षों में पारंपरिक कक्षा-परिवेश में काम करना, संबंध बनाना और सीखने को आसान बनाना मुझे अत्यंत संतोष देता था। लेकिन ऑनलाइन लर्निंग प्लेटफ़ॉर्म के आगमन के साथ, मैंने डिजिटल शिक्षा की रूपांतरकारी क्षमता को पहचाना। वास्तव में, हमारी ही विश्वविद्यालय में ऐसे एक प्लेटफ़ॉर्म के विकास में मैं सक्रिय रूप से शामिल था। मैं पारंपरिक शिक्षण सिद्धांतों को नवोन्मेषी डिजिटल पद्धतियों के साथ जोड़ने के लिए गहराई से प्रतिबद्ध हूँ। मेरा उद्देश्य ऐसे पाठ्यक्रम बनाना है जो न केवल रोचक और सूचनाप्रद हों, बल्कि इस डिजिटल युग के शिक्षार्थियों के लिए सुगम भी हों।
पिछले सप्ताह, Mistral ने Mistral OCR जारी किया, जो एक अभिनव ऑप्टिकल कैरेक्टर रिकग्निशन (OCR) API है। उनका API दस्तावेज़ों और छवियों को समझने के लिए AI क्षमताओं का नया मानक तय करता है। यह छवियों, गणित, तालिकाओं और अधिक सहित दस्तावेज़ों को उच्च सटीकता के साथ प्रोसेस और पार्स कर सकता है।
इस लेख में, मैं चरण-दर-चरण बताऊँगा कि Python का उपयोग करके Mistral OCR कैसे करें। मैं आपको दिखाऊँगा कि इसे दस्तावेज़ों, छवियों के साथ कैसे उपयोग करें, और चैट के साथ मिलाकर प्रॉम्प्ट्स को दस्तावेज़ों के साथ कैसे संयोजित करें।
Mistral OCR क्या है?
ऑप्टिकल कैरेक्टर रिकग्निशन, या OCR, एक तकनीक है जो विभिन्न प्रकार के दस्तावेज़ों—जैसे स्कैन किए गए कागज़ी दस्तावेज़, PDF फ़ाइलें, या डिजिटल कैमरे से ली गई छवियाँ—को संपादन योग्य और खोजनीय डेटा में परिवर्तित करती है।
OCR छवियों में पाठ अक्षरों की पहचान कर, उनके पैटर्न का विश्लेषण कर, और इन दृश्य तत्वों को मशीन-एन्कोडेड पाठ में अनुवाद कर काम करता है। इस तकनीक ने मुद्रित सामग्री के साथ हमारी बातचीत का तरीका बदल दिया है—ऐतिहासिक अभिलेखों को डिजिटाइज़ करने से लेकर व्यावसायिक फ़ॉर्म से डेटा एंट्री को स्वचालित करने तक सब कुछ संभव बनाया है।
Mistral का OCR API इस क्षेत्र में एक महत्वपूर्ण प्रगति का प्रतिनिधित्व करता है, जो डेवलपर्स को छवियों और दस्तावेज़ों से उत्कृष्ट सटीकता के साथ पाठ निकालने का शक्तिशाली उपकरण प्रदान करता है।
Source: Mistral
पारंपरिक OCR समाधानों के विपरीत, जो केवल पाठ की पहचान करते हैं, Mistral का API दस्तावेज़ों के संदर्भ और संरचना को समझने के लिए उन्नत AI मॉडल का उपयोग करता है और सामग्री निकालते समय फ़ॉर्मैटिंग बनाए रखता है। इसका अर्थ है कि यह जटिल लेआउट पहचान सकता है, हेडर और मुख्य पाठ के बीच अंतर कर सकता है, और तालिकाओं व मल्टी-कॉलम फ़ॉर्मैट्स को सही ढंग से समझ सकता है।
Mistral के OCR API को खास बनाती है इसकी Mistral की भाषा-समझ क्षमताओं के साथ एकीकरण। यह सिस्टम केवल पाठ निकालता ही नहीं—इसे समझता भी है।
इससे अधिक उन्नत दस्तावेज़-प्रोसेसिंग वर्कफ़्लोज़ संभव होते हैं, जहाँ API न केवल पाठ पहचान सकता है, बल्कि दस्तावेज़ की सामग्री से संबंधित प्रश्नों के उत्तर दे सकता है, जानकारी का सार प्रस्तुत कर सकता है, या विशिष्ट डेटा बिंदु निकाल सकता है।
साथ ही, Mistral का OCR API कई भाषाओं और वर्णमालाओं में काम करने के लिए डिज़ाइन किया गया है, जो इसे वैश्विक अनुप्रयोगों के लिए बहुमुखी बनाता है। सटीक पाठ पहचान और गहरी भाषा-समझ का यह संयोजन Mistral के समाधान को केवल एक साधारण OCR टूल के बजाय अगली पीढ़ी के दस्तावेज़ इंटेलिजेंस समाधान के रूप में स्थापित करता है।
Mistral OCR की कीमतें और सीमाएँ
Mistral OCR API निःशुल्क नहीं है, लेकिन इसकी कीमत केवल $1 प्रति 1,000 पृष्ठ (या $0.001 प्रति पृष्ठ) है। मेरे विचार में, यह काफी प्रतिस्पर्धी और किफायती मूल्य निर्धारण है।
दस्तावेज़ फ़ाइलें 50 MB आकार से अधिक नहीं होनी चाहिए और 1,000 पृष्ठों से लंबी नहीं होनी चाहिए।
अधिक जानकारी उनके प्राइसिंग पेज पर मिल सकती है।
Mistral OCR API सेटअप
इस पते पर जाएँ Mistral API कुंजी पृष्ठ और "Create new key" बटन पर क्लिक करें।
कुंजी बनाने वाले फ़ॉर्म में, हम इसे एक नाम और समाप्ति तिथि दे सकते हैं।
कुंजी बनाने के बाद, इसे कॉपी करें और उसी फ़ोल्डर में
.envनाम की फ़ाइल बनाएँ जहाँ हम स्क्रिप्ट लिखेंगे।कुंजी को निम्नलिखित प्रारूप में फ़ाइल में पेस्ट करें:
यदि आप GitHub का उपयोग करते हैं, तो सुनिश्चित करें कि इस फ़ाइल को
.gitignoreमें जोड़ें ताकि API कुंजी GitHub पर अपलोड न हो।Python वातावरण सेटअप
Python के साथ Mistral के OCR API का उपयोग करने के लिए, निम्नलिखित पैकेज इंस्टॉल करें:
mistralai: यह Mistral द्वारा उनके API के साथ इंटरैक्ट करने के लिए दिया गया पैकेज है।python-dotenv:.envफ़ाइल से API कुंजी को आसानी से लोड करने के लिए पैकेज।datauri: यह पैकेज छवि डेटा को प्रोसेस कर उन्हें फ़ाइलों में सहेजने के लिए उपयोग होता है।हम इन्हें इस कमांड से इंस्टॉल कर सकते हैं:
मैं एक अलग वातावरण बनाने की सलाह देता/देती हूँ ताकि आपकी इंस्टॉलेशन, आपके डिफ़ॉल्ट Python इंस्टॉलेशन से कॉन्फ्लिक्ट न करे। ऐसा करने का एक तरीका Anaconda का उपयोग करना है:
पहला कमांड
mistralनाम का वातावरण बनाता है जो Python 3.9 का उपयोग करता है। फिर, हम उस वातावरण को सक्रिय करते हैं और ऊपर दिए गए पैकेज इंस्टॉल करते हैं।Mistral OCR के साथ इंटरैक्ट करने के लिए Python स्क्रिप्ट बनाना
आइए देखें कि हम Mistral के OCR API को पहला अनुरोध कैसे भेज सकते हैं।
आवश्यक निर्भरताएँ इम्पोर्ट करें
.envफ़ाइल वाले उसी फ़ोल्डर में,ocr.pyनाम की नई Python स्क्रिप्ट बनाएँ और आवश्यक पैकेज इम्पोर्ट करें:ध्यान दें कि हम
osभी इम्पोर्ट करते हैं, जिसका उपयोग हम वातावरण से API कुंजी को एक वेरिएबल में लोड करने के लिए करेंगे। हमें इसे इंस्टॉल करने की ज़रूरत नहीं है क्योंकि यह बिल्ट-इन पैकेज है।API कुंजी लोड करें और Mistral क्लाइंट इनिशियलाइज़ करें
अगला, हम निम्न पंक्तियाँ जोड़ते हैं ताकि API कुंजी लोड की जा सके और Mistral क्लाइंट इनिशियलाइज़ हो सके:
Mistral OCR API को अनुरोध भेजना
OCR API का सबसे सरल उपयोग किसी ऑनलाइन होस्टेड PDF के URL के साथ है। इस उदाहरण के लिए, यह Mistral 7B पेपर लें जो arXiv (एक प्लेटफ़ॉर्म जो शोध पत्रों के प्री-सबमिशन संस्करण होस्ट करता है) पर होस्टेड है:
फिर हम
python ocr.pyकमांड से स्क्रिप्ट चला सकते हैं। यह निम्नलिखित प्रतिक्रिया उत्पन्न करेगा:प्रतिक्रिया संरचना
प्रतिक्रिया में कई फ़ील्ड होते हैं। पूर्ण विवरण Mistral के API दस्तावेज़ में उपलब्ध हैं। हमें विशेष रूप से
pagesफ़ील्ड की परवाह है, जिसमें प्रत्येक पृष्ठ का मार्कडाउन पाठ होता है।हम पृष्ठों की संख्या प्रिंट कर सकते हैं ताकि देखें कि यह PDF फ़ाइल से मेल खाती है:
परिणाम:
प्रत्येक पृष्ठ में कई फ़ील्ड होते हैं। सबसे महत्वपूर्ण हैं:
markdown: पृष्ठ की मार्कडाउन सामग्री।images: पृष्ठ पर मौजूद छवियाँ।उदाहरण के लिए, हम पहले पृष्ठ की मार्कडाउन सामग्री इस तरह प्रिंट कर सकते हैं:
PDF फ़ाइल को Markdown में बदलना
PDF को Markdown में बदलने के लिए, हम सभी पृष्ठों पर लूप लगाते हैं और प्रत्येक का मार्कडाउन कंटेंट एक फ़ाइल में लिखते हैं। ऐसा करने के लिए यहाँ एक फ़ंक्शन है।
यहाँ मूल PDF फ़ाइल और हमारे द्वारा जनरेट की गई Markdown फ़ाइल के बीच साइड-बाय-साइड तुलना है:
छवियों को प्रोसेस करना
पिछले उदाहरण में, हमने देखा कि Markdown फ़ाइल में PDF की छवियाँ नहीं थीं। ऐसा इसलिए क्योंकि हमने केवल मार्कडाउन पाठ बनाया था, छवि फ़ाइलें नहीं।
यदि हम मार्कडाउन आउटपुट देखें, तो हम पाते हैं कि उसमें एक छवि संदर्भ मौजूद है:
लेकिन वह छवि रेंडर नहीं हो रही। प्रत्येक पृष्ठ की छवियाँ
imagesएट्रिब्यूट में संग्रहीत होती हैं।आउटपुट:
ऊपर के आउटपुट में हम देखते हैं कि वास्तव में
img-0.jpegका संदर्भ मौजूद है। पर डेटा मौजूद नहीं है:image_base64=None।छवि डेटा प्राप्त करने के लिए, हमें OCR अनुरोध को संशोधित कर
include_image_base64=Trueपैरामीटर जोड़ना होगा ताकि छवि डेटा शामिल हो सके।यदि हम फिर से छवियाँ प्रिंट करें, तो देखेंगे कि
image_base_64फ़ील्ड अब भरे हुए हैं। जैसा कि फ़ील्ड के नाम से स्पष्ट है, छवि डेटा base64 में संग्रहीत है। हम base-64 छवि अभ्यावेदन कैसे काम करता है, इसकी बारीकियों में नहीं जाएँगे। इसके बजाय, हम एक फ़ंक्शन दे रहे हैं जो पहले इंस्टॉल किए गएdatauriपैकेज का उपयोग कर छवि को फ़ाइल में लिखता है:अब हम
create_markdown_file()फ़ंक्शन को अपडेट कर सकते हैं ताकि सभी छवियाँ भी फ़ाइलों में लिखी जाएँ:यदि हम अपडेटेड कोड चलाएँ और Markdown पूर्वावलोकन को फिर से रेंडर करें, तो हमें छवियाँ दिखाई देंगी।
स्थानीय फ़ाइल का उपयोग
ऊपर के उदाहरण में, हमने पहले से होस्टेड फ़ाइल का उपयोग किया। अपने कंप्यूटर से किसी PDF फ़ाइल के साथ काम करने के लिए, Mistral API हमें
client.files.upload()फ़ंक्शन के ज़रिए फ़ाइल अपलोड करने देता है। मान लें कि PDF फ़ाइलmyfile.pdfस्क्रिप्ट वाले उसी फ़ोल्डर में है, तो ऐसा करें:इस तरह अपलोड की गई हर फ़ाइल का एक अद्वितीय ID होता है, जो उस फ़ाइल का संदर्भ देने के लिए आवश्यक है। हम परिणाम के
idएट्रिब्यूट से इसे प्राप्त कर सकते हैं, इस तरह:उस फ़ाइल पर OCR करने के लिए, हमें इसका URL देना होगा। हम
client.files.get_signed_url()फ़ंक्शन के माध्यम से फ़ाइल ID देकर इसे प्राप्त कर सकते हैं:इसे एक साथ रखते हुए, हम एक फ़ंक्शन लागू कर सकते हैं जो Mistral API का उपयोग कर फ़ाइल अपलोड करता है और उसका URL प्राप्त करता है:
यहाँ एक उदाहरण है जिसमें स्थानीय फ़ाइल के साथ OCR अनुरोध किया गया है:
किसी अन्य फ़ाइल का उपयोग करने के लिए, हम
myfile.pdfको उस फ़ाइल के नाम से बदल दें जिसका हम उपयोग करना चाहते हैं।किसी छवि पर OCR
OCR API छवि इनपुट्स के साथ भी काम करता है। किसी छवि का उपयोग करने के लिए, हम
document_urlके बजायimage_urlप्रकार का उपयोग करते हैं:ऊपर के उदाहरण में, हमें
<url of the image>को छवि के URL से बदलना होगा।स्थानीय छवि का उपयोग करने के लिए, हम इसे लोड करने हेतु निम्नलिखित फ़ंक्शन का उपयोग कर सकते हैं:
यह फ़ंक्शन
base64पैकेज का उपयोग करता है, जो एक बिल्ट-इन पैकेज है, इसलिए हमें इसे इंस्टॉल करने की आवश्यकता नहीं है।आइए उस रसीद पर OCR चलाने की कोशिश करें जिसे हमने
receipt.jpegनाम की फ़ाइल में सहेजा है:हम अपने कंप्यूटर से इमेज लोड करने के लिए
load_image()फ़ंक्शन का उपयोग करके OCR अनुरोध कर सकते हैं:यह रहा परिणाम:
यह पूरी तरह सही नहीं है, लेकिन परिणाम बहुत दूर नहीं है।
Mistral OCR को Chat के साथ संयोजित करना
OCR डेटा को ऐसे टेक्स्ट फ़ॉर्मेट में बदलने का एक कुशल तरीका देता है जो LLMs के उपयोग के लिए तैयार हो। Mistral API उपयोगकर्ताओं को LLM अनुरोधों में दस्तावेज़ों और प्रॉम्प्ट्स को संयोजित करने की अनुमति देता है। बैकएंड में, LLM उपभोग के लिए दस्तावेज़ों को प्रोसेस करने हेतु OCR API का उपयोग किया जाता है।
आइए इसका उपयोग उस लेख को संक्षेपित करने के लिए करें जिसका हमने इस ट्यूटोरियल में संदर्भ लिया है।
यदि आप पहली बार Mistral चैट API का उपयोग कर रहे हैं, तो आप यह विस्तृत Mistral गाइड पढ़ना चाहेंगे क्योंकि हम इसके काम करने के तरीके के विवरण में नहीं जाएंगे।
यहाँ उस लेख की आसान-से-समझ आने वाली व्याख्या माँगने का एक पूर्ण Python उदाहरण है:
ध्यान दें कि फ़ाइल उसी फ़ॉर्मेट में दी गई है जो हमने ऊपर सीखा था:
Mistral OCR के वास्तविक-जीवन उपयोग
अब जब आपने अपने Python प्रोजेक्ट्स में Mistral OCR को लागू करना सीख लिया है, तो आइए कुछ व्यावहारिक उपयोग मामलों की खोज करें जहाँ आप जो सीखे हैं उसे लागू कर सकते हैं।
शोध-पत्र विश्लेषण
आप वैज्ञानिक पत्रों से टेक्स्ट, समीकरण, टेबल और आकृतियाँ निकालकर एक निजी शोध सहायक बना सकते हैं। आप ऐसी प्रणाली बना सकते हैं जो मुख्य निष्कर्षों का सारांश दे, पद्धति के विवरण निकाले, या आपके क्षेत्र के पत्रों का खोजयोग्य डेटाबेस तैयार करे।
दस्तावेज़ डिजिटाइजेशन परियोजनाएँ
आप भौतिक अभिलेखों या स्कैन किए गए दस्तावेज़ों को खोजयोग्य डिजिटल संग्रहों में बदल सकते हैं। यह विशेष रूप से ऐतिहासिक दस्तावेज़ों, पारिवारिक अभिलेखों, या उन संस्थागत आर्काइव्स के लिए उपयोगी है जिन्हें संरक्षण और आसान पहुँच की आवश्यकता होती है।
बहुभाषी दस्तावेज़ प्रसंस्करण
आप विभिन्न भाषाओं में दस्तावेज़ों को प्रोसेस करने के लिए Mistral OCR की बहुभाषी क्षमताओं का उपयोग कर सकते हैं। यह अंतरराष्ट्रीय व्यवसायों, अनुवाद सेवाओं, या वैश्विक शोध परियोजनाओं के लिए उपयोगी हो सकता है जिन्हें अलग-अलग लिपियों वाले दस्तावेज़ों से जानकारी निकालने की आवश्यकता होती है।
शैक्षणिक सामग्री प्रबंधन
आप पाठ्यपुस्तकों, लेक्चर स्लाइड्स और हस्तलिखित नोट्स को डिजिटल फ़ॉर्मेट में बदल सकते हैं। ऐसी प्रणाली बनाएँ जो प्रमुख अवधारणाएँ, सूत्र, और आरेख निकालकर निजी अध्ययन सामग्री या प्रश्न बैंक तैयार करे।
वित्तीय दस्तावेज़ प्रसंस्करण
आप इनवॉइस, रसीदें, वित्तीय विवरण, या कर दस्तावेज़ों से डेटा निष्कर्षण को स्वचालित कर सकते हैं। इससे लेखा प्रक्रियाएँ सुव्यवस्थित हो सकती हैं या खर्च प्रबंधन और वित्तीय विश्लेषण में मदद मिल सकती है।
निष्कर्ष
Mistral का OCR API दस्तावेज़ों और छवियों से टेक्स्ट निकालने और उसे समझने के लिए एक शक्तिशाली टूल प्रदान करता है। इस ट्यूटोरियल में, हमने विभिन्न दस्तावेज़-प्रसंस्करण कार्यों के लिए इसे सेट अप और उपयोग करने के तरीके देखे।
इस ट्यूटोरियल में बताए गए चरणों का पालन करके, आप अपने अनुप्रयोगों में Mistral के OCR को शामिल कर सकते हैं—चाहे आप आर्काइव्स को डिजिटाइज़ कर रहे हों, डेटा एंट्री को स्वचालित कर रहे हों, या बुद्धिमान दस्तावेज़ प्रबंधन प्रणालियाँ बना रहे हों। जैसे-जैसे तकनीक विकसित होती है, हम और भी अधिक सटीक और संदर्भ-सचेत दस्तावेज़ प्रसंस्करण क्षमताओं की उम्मीद कर सकते हैं, जो भौतिक दस्तावेज़ों और डिजिटल वर्कफ़्लो के बीच की खाई को और कम करेंगी।