ফাইল হ্যান্ডল করা

প্রাকৃতিক লেখা তথ্যের পাশাপাশি, আপনি সংগ্রহের জন্য বিভিন্ন ধরণের ফাইল থেকে তথ্য নিতে ইচ্ছুক হতে পারেন, যেমন পাওয়ার পয়েন্ট প্রেজেন্টেশন বা পিডিএফ ফাইল।

আপনি LangChain ডকুমেন্ট লোডার ব্যবহার করে ফাইনে থেকে টেক্সট ফরম্যাটে পার্স করতে পারেন যা LLMs এ পাঠিয়ে দেওয়া যাবে।

MIME টাইপ ভিত্তিক পার্সিং

এখানে, আমরা MIME টাইপ ভিত্তিক পার্সিং দেখব যা বেশ অধিকাংশে অনুলেখ্য আবেদনের জন্য দরকার হয় যদি আপনি ব্যবহারকারী আপলোড করা ফাইল গুলি গ্রহণ করে সার্ভার কোড লিখছেন।

এ ক্ষেত্রে, এটা সেই ফাইল পরের অণুরূপ ভুল মনে করাটা সেরা যেতেই না সে বরং ফাইলের বাইনারি বিষয়ক সামগ্রী থেকেই মাইমটাইপ ধরা করা।

আসুন কিছু কনটেন্ট ডাউনলোড করি। এটা একটি HTML ফাইল হবে, তবে নীচের কোডগুলি অন্য ধরণের ফাইল দিয়েও দারাবার করবে।

import requests

response = requests.get("https://en.wikipedia.org/wiki/Car")
data = response.content
data[:20]
b'<!DOCTYPE html>\n<htm'

পার্সার গুলি কনফিগার করুন

import magic
from langchain.document_loaders.parsers import BS4HTMLParser, PDFMinerParser
from langchain.document_loaders.parsers.generic import MimeTypeBasedParser
from langchain.document_loaders.parsers.txt import TextParser
from langchain_community.document_loaders import Blob

HANDLERS = {
    "application/pdf": PDFMinerParser(),
    "text/plain": TextParser(),
    "text/html": BS4HTMLParser(),
}

MIMETYPE_BASED_PARSER = MimeTypeBasedParser(
    handlers=HANDLERS,
    fallback_parser=None,
)

mime = magic.Magic(mime=True)
mime_type = mime.from_buffer(data)

blob = Blob.from_data(
    data=data,
    mime_type=mime_type,
)

parser = HANDLERS[mime_type]
documents = parser.parse(blob=blob)
print(documents[0].page_content[:30].strip())
বাস - উইকিপিডিয়া