Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Unggah File sebagai Teks

Jatuhkan file apa pun ke dalam obrolan Anda dan biarkan LibreChat membacanya — tidak perlu pengaturan.

Unggah File sebagai Teks

Pernahkah Anda ingin memberikan PDF, file kode, atau spreadsheet ke AI dan hanya mengatakan "baca ini"? Itulah tepatnya fungsi dari Upload as Text.

Anda melampirkan file, LibreChat mengekstrak teks darinya, dan konten lengkapnya langsung ditempelkan ke dalam percakapan Anda. AI kemudian dapat membaca setiap kata di dalamnya — tanpa plugin, tanpa basis data vektor, tanpa layanan tambahan untuk dikonfigurasi. Fitur ini langsung berfungsi tanpa perlu pengaturan tambahan.

Tidak perlu pengaturan

Upload as Text langsung berfungsi di setiap instance LibreChat. Fitur ini menggunakan parsing teks bawaan — Anda tidak memerlukan OCR, pipeline RAG, atau layanan eksternal apa pun untuk memulai.


Cara menggunakannya

Klik ikon lampiran

Di bilah input obrolan, klik ikon paperclip (📎).

Pilih "Upload as Text"

Dari menu tarik-turun, pilih Upload as Text. Ini menginstruksikan LibreChat untuk membaca isi file alih-alih meneruskannya sebagai lampiran mentah.

Pilih file Anda

Pilih file dari perangkat Anda. LibreChat akan mengekstrak teks dan menyematkannya langsung ke dalam pesan Anda.

Ajukan pertanyaan Anda

Ketik prompt Anda seperti biasa. AI sekarang memiliki teks lengkap dari file Anda dalam konteks dan dapat merujuk bagian mana pun darinya.

Tidak melihat opsinya?

Jika "Upload as Text" tidak muncul, kapabilitas context mungkin telah dinonaktifkan oleh admin Anda. Fitur ini aktif secara default — namun jika daftar kapabilitas telah dikustomisasi, context perlu disertakan secara eksplisit. Lihat bagian konfigurasi di bawah.


Apa yang terjadi di balik layar

Saat Anda mengunggah file dengan cara ini, LibreChat tidak hanya membuang byte mentah ke dalam prompt. LibreChat menjalankannya melalui alur pemrosesan untuk mengekstrak teks yang bersih dan dapat dibaca:

  1. Deteksi tipe MIME — LibreChat memeriksa jenis file yang Anda unggah (PDF, gambar, audio, kode sumber, dll.) dengan memeriksa tipe MIME-nya.
  2. Pemilihan metode — Berdasarkan jenis file dan layanan apa yang tersedia, sistem akan memilih metode ekstraksi terbaik menggunakan prioritas berikut:
PrioritasMetodeKapan digunakan
1stOCRFile adalah gambar atau dokumen hasil pindai, dan OCR dikonfigurasi
2ndSTT (Speech-to-Text)File adalah audio, dan STT dikonfigurasi
3rdText parsingFile cocok dengan tipe MIME teks yang dikenal
4thFallbackTidak ada yang cocok di atas — tetap mencoba text parsing

Sebuah .pdf pada instans dengan OCR yang dikonfigurasi: → OCR akan aktif. Sangat berguna untuk dokumen hasil pindai dan tata letak yang kompleks.

Sebuah .pdf pada instans default (tanpa OCR): → Penguraian teks menanganinya. Berfungsi dengan baik untuk PDF yang dibuat secara digital.

File Python .py: → Langsung ke penguraian teks. Kode sumber sudah berupa teks — tidak perlu konversi.

Sebuah .mp3 pada instans dengan STT yang dikonfigurasi: → Speech-to-Text mentranskripsikannya menjadi teks untuk percakapan tersebut.

Sebuah tangkapan layar .png tanpa OCR yang dikonfigurasi: → Beralih ke penguraian teks (hasil terbatas — pertimbangkan untuk mengatur OCR untuk gambar).

  1. Pemotongan token — Teks yang diekstraksi dipotong hingga fileTokenLimit (default: 100.000 token) agar tidak melebihi jendela konteks model.
  2. Prompt injection — Teks tersebut disertakan ke dalam konteks percakapan, tepat di samping pesan Anda.

File apa saja yang didukung

Ini diurai secara langsung — karena sudah berupa teks, maka tidak diperlukan konversi.

  • Teks biasa (.txt), Markdown (.md), CSV, JSON, XML, HTML, CSS
  • Bahasa pemrograman — Python, JavaScript, TypeScript, Java, C#, PHP, Ruby, Go, Rust, Kotlin, Swift, Scala, Perl, Lua
  • File konfigurasi — YAML, TOML, INI
  • Skrip shell, file SQL

Penguraian teks menangani hal ini secara langsung. Jika OCR dikonfigurasi, fitur ini akan mengambil alih untuk akurasi yang lebih baik pada tata letak yang kompleks.

  • PDF — digital dan hasil pindai (PDF hasil pindai mendapatkan manfaat dari OCR)
  • Word.docx, .doc
  • PowerPoint.pptx, .ppt
  • Excel.xlsx, .xls
  • Buku EPUB

Gambar memerlukan OCR untuk menghasilkan teks yang berguna. Tanpanya, hasilnya akan kurang memuaskan.

  • JPEG, PNG, GIF, WebP
  • HEIC, HEIF (format Apple)
  • Tangkapan layar, foto dokumen, halaman yang dipindai

File audio memerlukan STT untuk dikonfigurasi. Tidak ada fallback — audio tidak dapat "diurai menjadi teks."

  • MP3, WAV, OGG, FLAC
  • M4A, WebM
  • Rekaman suara, klip podcast

Unggah sebagai Teks vs. opsi unggah lainnya

LibreChat memiliki tiga cara untuk mengunggah file. Masing-masing bekerja secara berbeda dan cocok untuk situasi yang berbeda:

Panduan keputusan cepat:

SituasiOpsi terbaik
"Baca kontrak 5 halaman ini dan ringkas"Unggah sebagai Teks
"Saya punya 50 PDF, temukan yang menyebutkan harga"Pencarian File (RAG)
"Apa isi tangkapan layar ini?" (model visi)Unggahan Standar
"Jalankan skrip Python ini" (interpreter kode)Unggahan Standar
"Periksa file kode ini untuk mencari bug"Unggah sebagai Teks
"Cari melalui dokumen perusahaan kami"Pencarian File (RAG)

Kemampuan context

Di balik layar, Upload as Text ditenagai oleh kapabilitas context. Inilah yang mengontrol apakah fitur tersebut muncul di UI obrolan Anda.

Kemampuan context diaktifkan secara default. Anda hanya perlu mengubahnya jika admin Anda telah menyesuaikan daftar kemampuan dan secara tidak sengaja menghilangkannya.

librechat.yaml
endpoints:
  agents:
    capabilities:
      - "context"  # This is what enables "Upload as Text"

Kemampuan context yang sama juga mendukung Agent File Context (mengunggah file melalui Agent Builder untuk menyematkan teks ke dalam instruksi sistem agen). Perbedaannya terletak pada di mana teks tersebut berakhir:

Unggah sebagai TeksKonteks File Agen
Di manaInput obrolan (percakapan apa pun)Panel Agent Builder
CakupanHanya percakapan saat iniBertahan dalam instruksi agen
Kasus penggunaanPertanyaan dokumen sekali pakaiMembangun agen khusus dengan pengetahuan bawaan

Batas token dan pemotongan (truncation)

Ketika sebuah file terlalu panjang untuk dimuat ke dalam jendela konteks model, LibreChat akan memotong teks yang diekstrak agar tetap berada dalam batas yang ditentukan. Hal ini terjadi secara otomatis — Anda tidak perlu mengkhawatirkannya, namun ada baiknya untuk mengetahui cara kerjanya.

librechat.yaml
fileConfig:
  fileTokenLimit: 100000  # Default: 100,000 tokens

Pemotongan berarti konten hilang

Jika file Anda melebihi batas, teks akan terpotong di bagian akhir. Jika Anda mendapatkan jawaban yang tidak lengkap, mungkin inilah penyebabnya. Anda dapat meningkatkan fileTokenLimit, namun perlu diingat bahwa nilai yang lebih besar akan menggunakan lebih banyak token per pesan — yang akan meningkatkan biaya dan mungkin mencapai batas konteks model itu sendiri.

Aturan praktis:

  • 100k token ≈ buku setebal 300 halaman (lebih dari cukup untuk sebagian besar kasus penggunaan)
  • Jika Anda bekerja dengan file yang sangat besar, pertimbangkan File Search (RAG) sebagai gantinya — fitur ini hanya mengambil bagian yang relevan alih-alih memasukkan semuanya ke dalam konteks.

Opsional: meningkatkan ekstraksi dengan OCR

Penguraian teks berfungsi dengan baik untuk dokumen yang dibuat secara digital (PDF yang disimpan dari Word, file kode, teks biasa). Namun, jika Anda mengunggah dokumen hasil pemindaian, foto halaman, atau gambar yang berisi teks, pengurai bawaan tidak akan memberikan hasil yang optimal.

Di situlah peran OCR. Saat dikonfigurasi, LibreChat secara otomatis menggunakan OCR untuk jenis file yang memerlukannya — Anda tidak perlu melakukan apa pun secara berbeda sebagai pengguna.


Referensi konfigurasi penanganan file

Bagian ini ditujukan bagi admin yang ingin mengontrol jenis file mana yang diproses dengan metode yang mana. Pengaturan default sudah berfungsi dengan baik — Anda hanya perlu mengubah bagian ini jika ingin menyempurnakan perilakunya.


Pemecahan Masalah


Bagaimana panduan ini?