09. Teks (TextLoader)
Pemuat TXT
ℹ️
Pada bagian ini, anda akan memerlukan file berikut: appendix-keywords.txt (opens in a new tab)
Mari kita lihat cara memuat file dengan ekstensi .txt
ke dalam pemuat.
Python
from langchain_community.document_loaders import TextLoader
# Buat pemuat teks
loader = TextLoader("data/appendix-keywords.txt")
# Memuat dokumen
docs = loader.load()
print(f"Jumlah dokumen: {len(docs)}\n")
print("[Metadata]\n")
print(docs[0].metadata)
print("\n========= [Preview] =========\n")
print(docs[0].page_content[:500])
Mendeteksi penyandian file secara otomatis dengan TextLoader
Dalam contoh ini, kita akan menggunakan kelas TextLoader untuk mengeksplorasi beberapa strategi yang berguna untuk memuat daftar berkas acak secara massal dari direktori.
Pertama, mari kita memuat sekumpulan teks dengan penyandian acak untuk mengilustrasikan masalahnya.
silent_errors
: Anda bisa mengoper parameter silent_errors ke pemuat direktori untuk melewatkan berkas yang tidak bisa dimuat dan melanjutkan proses pemuatan.autodetect_encoding
: Anda juga bisa mengoper autodetect_encoding ke kelas pemuat untuk memintanya secara otomatis mendeteksi penyandian berkas sebelum gagal.
Python
from langchain_community.document_loaders import DirectoryLoader
path = "data/"
text_loader_kwargs = {"autodetect_encoding": True}
loader = DirectoryLoader(
path,
glob="**/*.txt",
loader_cls=TextLoader,
silent_errors=True,
loader_kwargs=text_loader_kwargs,
)
docs = loader.load()
File data/appendix-keywords.txt
dan file turunannya dengan nama file yang serupa, semuanya dikodekan secara berbeda.
Python
doc_sources = [doc.metadata["source"] for doc in docs]
doc_sources
Python
print("[Metadata]\n")
print(docs[2].metadata)
print("\n========= [Preview] =========\n")
print(docs[2].page_content[:500])
Python
print("[Metadata]\n")
print(docs[3].metadata)
print("\n========= [Preview] =========\n")
print(docs[3].page_content[:500])
Python
print("[Metadata]\n")
print(docs[4].metadata)
print("\n========= [Preview] =========\n")
print(docs[4].page_content[:500])