इस लेख में, हम यह पता लगाएंगे कि दुकान रसीदों से संरचित डेटा निकालने के लिए पाइडेंटिक मॉडल से स्कीमा के साथ शामिल LlamaExtract का उपयोग कैसे करें। यह दृष्टिकोण रसीद जानकारी को व्यवस्थित रूप से व्यवस्थित करने में मदद करता है, जिससे विश्लेषण और प्रबंधन करना आसान हो जाता है।
सबसे पहले, सुनिश्चित करें कि आपके पास लामा-एक्स्ट्रैक्ट क्लाइंट लाइब्रेरी स्थापित है। निम्नलिखित कमांड का उपयोग करें:
pip install llama-extract pydantic
नोट: यदि आपको पीआईपी अपडेट करने के बारे में कोई नोटिस दिखाई देता है, तो आप दिए गए कमांड का उपयोग करके इसे अपडेट कर सकते हैं।
सबसे पहले, लॉगिन करें और लामा इंडेक्स क्लाउड से निःशुल्क एपीआई-कुंजी प्राप्त करें
अपनी LlamaExtract API कुंजी के लिए पर्यावरण चर सेट करें:
import os os.environ["LLAMA_CLOUD_API_KEY"] = "YOUR LLAMA INDEX CLOUD API HERE"
इस उदाहरण के लिए, मान लें कि हमारे पास पीडीएफ प्रारूप में दुकान रसीदों का एक डेटासेट है। इन फ़ाइलों को रसीदें नामक निर्देशिका में रखें।
DATA_DIR = "data/receipts" fnames = os.listdir(DATA_DIR) fnames = [fname for fname in fnames if fname.endswith(".pdf")] fpaths = [os.path.join(DATA_DIR, fname) for fname in fnames] fpaths
आउटपुट में रसीदों के फ़ाइल पथ सूचीबद्ध होने चाहिए:
['data/receipts/receipt.pdf']
हम पाइडेंटिक का उपयोग करके अपने डेटा मॉडल को परिभाषित करेंगे, यह एपीआई को बताएगा कि हम कौन से फ़ील्ड/डेटा की अपेक्षा कर रहे हैं या पीडीएफ से निकालना चाहते हैं। दुकान रसीदों के लिए, हमें स्टोर का नाम, तारीख, कुल राशि और खरीदी गई वस्तुओं की सूची निकालने में रुचि हो सकती है।
from pydantic import BaseModel from typing import List class Item(BaseModel): name: str quantity: int price: float class Receipt(BaseModel): store_name: str date: str total_amount: float items: List[Item]
अब, हम LlamaExtract में एक निष्कर्षण स्कीमा को परिभाषित करने के लिए पाइडेंटिक मॉडल का उपयोग कर सकते हैं।
from llama_extract import LlamaExtract extractor = LlamaExtract(verbose=True) schema_response = await extractor.acreate_schema("Receipt Schema", data_schema=Receipt) schema_response.data_schema
आउटपुट स्कीमा निम्नलिखित जैसा होना चाहिए:
{ 'type': 'object', '$defs': { 'Item': { 'type': 'object', 'title': 'Item', 'required': ['name', 'quantity', 'price'], 'properties': { 'name': {'type': 'string', 'title': 'Name'}, 'quantity': {'type': 'integer', 'title': 'Quantity'}, 'price': {'type': 'number', 'title': 'Price'} } } }, 'title': 'Receipt', 'required': ['store_name', 'date', 'total_amount', 'items'], 'properties': { 'store_name': {'type': 'string', 'title': 'Store Name'}, 'date': {'type': 'string', 'title': 'Date'}, 'total_amount': {'type': 'number', 'title': 'Total Amount'}, 'items': { 'type': 'array', 'title': 'Items', 'items': {'$ref': '#/$defs/Item'} } } }
परिभाषित स्कीमा के साथ, अब हम अपनी रसीद फ़ाइलों से संरचित डेटा निकाल सकते हैं। रसीद को प्रतिक्रिया मॉडल के रूप में निर्दिष्ट करके, हम सुनिश्चित करते हैं कि निकाला गया डेटा मान्य और संरचित है।
responses = await extractor.aextract( schema_response.id, fpaths, response_model=Receipt )
यदि आवश्यक हो तो आप कच्चे JSON आउटपुट तक पहुंच सकते हैं:
data = responses[0].data print(data)
उदाहरण JSON आउटपुट:
{ 'store_name': 'ABC Electronics', 'date': '2024-08-05', 'total_amount': 123.45, 'items': [ {'name': 'Laptop', 'quantity': 1, 'price': 999.99}, {'name': 'Mouse', 'quantity': 1, 'price': 25.00}, {'name': 'Keyboard', 'quantity': 1, 'price': 50.00} ] }
इस लेख में, हमने दिखाया कि डेटा स्कीमा को परिभाषित करने और दुकान रसीदों से संरचित डेटा निकालने के लिए पाइडेंटिक मॉडल के साथ LlamaExtract का उपयोग कैसे करें। यह दृष्टिकोण सुनिश्चित करता है कि निकाली गई जानकारी सुव्यवस्थित और मान्य है, जिससे इसे संभालना और विश्लेषण करना आसान हो जाता है।
इसका उपयोग कई मामलों, चालान, रसीदें, रिपोर्ट आदि के लिए भी किया जा सकता है।
हैप्पी कोडिंग!!
क्या आपके पास कोई प्रोजेक्ट है? क्या आप चाहते हैं कि मैं आपकी सहायता करूँ??: [email protected]
कोई प्रश्न है या आप मेरी पोस्ट के बारे में सबसे पहले जानना चाहते हैं:-
लिंक्डइन पर ✅ मुझे फ़ॉलो करें?
मुझे ट्विटर/एक्स पर फ़ॉलो करें?
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3