09. Teks (TextLoader)

Pemuat TXT

Mari kita lihat cara memuat file dengan ekstensi .txt ke dalam pemuat.

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.

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.

doc_sources = [doc.metadata["source"] for doc in docs]
doc_sources
print("[Metadata]\n")
print(docs[2].metadata)
print("\n========= [Preview] =========\n")
print(docs[2].page_content[:500])
print("[Metadata]\n")
print(docs[3].metadata)
print("\n========= [Preview] =========\n")
print(docs[3].page_content[:500])
print("[Metadata]\n")
print(docs[4].metadata)
print("\n========= [Preview] =========\n")
print(docs[4].page_content[:500])

Last updated