
ContextGem: ekstraksi data dokumen dengan Python
Ekstrak data terstruktur dari dokumen dengan Python dan AI, lalu periksa rujukan sumbernya.

ContextGem adalah framework Python gratis dan sumber terbuka dari Shcherbak AI AS untuk mengekstrak informasi terstruktur dari dokumen. Anda menjelaskan data yang dibutuhkan dan memilih LLM atau model keputusan. Framework ini mengatur prompt, model data, serta validasi format jawaban.
Apa kegunaan ContextGem? Penjelasan sederhana
Bayangkan Anda perlu mencatat tenggat pembayaran, syarat pengakhiran, dan biaya bulanan dari kontrak. Pengembang menentukan bidang dan tipe datanya, lalu ContextGem memproses setiap dokumen dengan aturan yang sama. Hasilnya bisa berupa tanggal, angka, label, atau objek JSON yang dipakai aplikasi lain.
Ini merupakan alat untuk membangun pemrosesan dokumen dengan Python. Anda tetap perlu menulis kode, menyiapkan model, dan memeriksa hasil. Situs proyek menyediakan kode serta dokumentasi, bukan layanan umum yang langsung siap digunakan hanya dengan mengunggah berkas.
Membuat alur ekstraksi pertama
- Instal
pip install -U contextgem. Untuk konversi berkas, gunakanpip install -U "contextgem[docling]". - Untuk teks, buat
Document(raw_text=...). Untuk berkas, pakaiDocumentConverter().convert(file)dari Docling laluDocument.from_docling(result.document). - Tentukan Aspects dan Concepts dengan uraian yang jelas, tipe data, serta rujukan yang diperlukan.
- Atur
DocumentLLMdengan model yang didukung, kredensial, atau endpoint lokal. - Jalankan
doc = llm.extract_all(doc), lalu bacaget_concept_by_name(...).extracted_itemspada dokumen yang dikembalikan. - Bandingkan nilai dan sumber dengan contoh yang jawabannya sudah diketahui. Uji bidang kosong dan susunan berbeda sebelum memperbesar volume.
Panduan awal resmi menyediakan contoh lengkap. Integrasi Docling menjelaskan PDF, DOCX, PPTX, XLSX, dan HTML dengan struktur serta rujukan halaman yang tersedia. Kualitas konversi memengaruhi ekstraksi, sehingga masukan juga perlu diperiksa.
Memisahkan bagian bertema dan nilai terstruktur
Aspect memilih bagian asli yang berkaitan dengan topik, misalnya ketentuan pembayaran. Concept mengambil nilai atau penilaian tertentu, seperti jumlah hari atau objek biaya layanan. Concept bisa diterapkan pada seluruh dokumen atau suatu Aspect, termasuk melalui subtopik.
Tipe yang didukung mencakup teks, angka, tanggal, boolean, label, penilaian, dan objek JSON. Pada ekstraksi dengan LLM, Anda dapat meminta rujukan paragraf atau kalimat serta alasan bila berguna. Rujukan membantu kembali ke sumber, tetapi tidak menjamin penafsiran model benar. Jumlah uang, tanggal, dan keputusan penting perlu dicocokkan dengan dokumen serta aturan bisnis.
Memilih LLM dan model keputusan
Melalui LiteLLM, ContextGem mendukung penyedia cloud yang didokumentasikan dan backend lokal seperti Ollama dan LM Studio. LLM cocok untuk jawaban terbuka, berbagai tipe nilai, dan gambar yang didukung. Model kecil perlu diuji dengan dokumen nyata untuk memastikan instruksi kompleks dapat diikuti.
Model keputusan menangani pertanyaan tertutup: benar/salah, label, atau tingkat penilaian, serta pemilihan Aspects teks. Model ini mengembalikan probabilitas dan mendukung ambang keputusan tanpa menghasilkan teks bebas. Kemampuan gambar atau JSON sebarang tidak sama dengan LLM. Kelompok model dapat membagi tugas berdasarkan peran dan menggunakan model cadangan.
Menggunakan ulang aturan dan menghubungkannya ke agen
ExtractionPipeline menyimpan definisi topik dan bidang agar dapat digunakan ulang. Dokumen, pipeline, dan konfigurasi yang didukung bisa diserialkan. to_dict() dan to_json() memudahkan pengiriman hasil; penulisan ke basis data atau pembuatan spreadsheet tetap dikerjakan aplikasi Anda.
Contoh alur agen menunjukkan ekstraksi metadata saat pemasukan, alat ekstraksi yang bisa dipanggil, dan pertanyaan tertutup pada titik keputusan. Bahasa keluaran dapat mengatur nilai teks dan alasan, sedangkan rujukan tetap dalam bahasa aslinya.
ContextGem menganalisis dokumen satu per satu secara mendalam, termasuk dalam kelompok paragraf. Ia tidak menyediakan pencarian seluruh koleksi atau kueri lintas dokumen sendiri. Kebutuhan tersebut memerlukan sistem retrieval tambahan. Model dan pembagian teks memengaruhi mutu, waktu, serta biaya.
Biaya, lisensi, dan privasi dokumen
Diperiksa pada 29 Oktober 2026: framework gratis dengan lisensi Apache 2.0, dan penggunaan komersial mengikuti syarat lisensinya. API model cloud, perangkat keras, serta operasional lokal dapat menimbulkan biaya terpisah. Tidak ada harga universal per dokumen atau kuota gratis untuk semua model.
Kebijakan keamanan resmi menyatakan ContextGem tidak mengumpulkan telemetri. Dokumen dan prompt dikirim hanya ke model yang Anda atur melalui LiteLLM yang berjalan di lingkungan Anda. Periksa kebijakan penyimpanan penyedia cloud. Untuk model lokal, tinjau endpoint dan cadangan cloud; dependensi, model pemisah kalimat, serta informasi harga masih dapat memerlukan unduhan publik.
Pertanyaan umum
Apakah seluruh penggunaan gratis?
Framework gratis. API model, perangkat keras, dan operasional bisa berbiaya terpisah; lisensi tidak memberikan inferensi gratis tanpa batas.
Bisakah memproses PDF dan Word?
Alur yang didokumentasikan menggunakan Docling lalu Document.from_docling(result.document). Periksa hasil konversi dan rujukan nilai yang diekstrak.
Apakah model lokal dapat dipakai untuk dokumen pribadi?
Backend yang didukung mencakup Ollama dan LM Studio. Kualitas, koneksi jaringan, dan jalur cadangan cloud tetap perlu diperiksa.
Apakah menggantikan RAG untuk koleksi dokumen?
Fokusnya analisis satu dokumen. Pencarian koleksi dan pengambilan lintas berkas membutuhkan komponen tambahan.
Sumber resmi dan komunitas
- Persyaratan instalasi: Python 3.11–3.14, pengecualian Intel Mac dan batas Alpine/musl.
- Model yang didukung: pilihan lokal dan cloud.
- GitHub Discussions: pertanyaan implementasi.
- Pelacak masalah: laporan kesalahan dan usulan fitur.
- Migrasi ke versi 1: perubahan bagi integrasi lama.





