"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > एआई का उपयोग करके संरचनात्मक आउटपुट के लिए सबसे तेज़ और सटीक इनवॉइस डेटा एक्सट्रैक्टर बनाएं

एआई का उपयोग करके संरचनात्मक आउटपुट के लिए सबसे तेज़ और सटीक इनवॉइस डेटा एक्सट्रैक्टर बनाएं

2024-11-01 को प्रकाशित
ब्राउज़ करें:275

Create the fastest and precise invoice data extractor for structural output using AI

दुकान रसीद निष्कर्षण के लिए पाइडेंटिक मॉडल के साथ LlamaExtract का उपयोग करना

इस लेख में, हम यह पता लगाएंगे कि दुकान रसीदों से संरचित डेटा निकालने के लिए पाइडेंटिक मॉडल से स्कीमा के साथ शामिल 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]

कोई प्रश्न है या आप मेरी पोस्ट के बारे में सबसे पहले जानना चाहते हैं:-
लिंक्डइन पर ✅ मुझे फ़ॉलो करें?
मुझे ट्विटर/एक्स पर फ़ॉलो करें?

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/wmisingo/create-the-fastest-and-precise-invoice-data-extractor-for-structural-output-using-ai-pe1?1 यदि कोई उल्लंघन है , कृपया स्टडी_गोलंग @163.कॉमडिलीट से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3