Menangani Berkas
Selain data teks mentah, Anda mungkin ingin mengekstrak informasi dari jenis file lain seperti presentasi PowerPoint atau PDF.
Anda dapat menggunakan pengurai dokumen LangChain untuk menguraikan file menjadi format teks yang dapat dimasukkan ke dalam LLMs.
Parsial berdasarkan tipe MIME
Di sini, kita akan melihat pada penguraian berdasarkan tipe MIME yang sering berguna untuk aplikasi berbasis ekstraksi jika Anda menulis kode server yang menerima unggahan file pengguna.
Dalam hal ini, lebih baik diasumsikan bahwa ekstensi file yang diberikan oleh pengguna salah dan sebagai gantinya disimpulkan tipe MIME dari konten biner file tersebut.
Mari unduh beberapa konten. Ini akan menjadi file HTML, tetapi kode di bawah akan berfungsi dengan jenis file lain.
import requests
respon = requests.get("https://en.wikipedia.org/wiki/Car")
data = respon.content
data[:20]
b'<!DOCTYPE html>\n<htm'
Konfigurasikan pengurai
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
PENGENDALI = {
"application/pdf": PDFMinerParser(),
"text/plain": TextParser(),
"text/html": BS4HTMLParser(),
}
PENGURAIPARSIAL_MIME = MimeTypeBasedParser(
pengendali=PENGENDALI,
pengurai_pengganti=None,
)
mime = magic.Magic(mime=True)
tipe_mime = mime.from_buffer(data)
blob = Blob.from_data(
data=data,
tipe_mime=tipe_mime,
)
pengurai = PENGENDALI[tipe_mime]
dokumen = pengurai.parse(blob=blob)
print(dokumen[0].konten_halaman[:30].strip())
Mobil - Wikipedia