Ikhtisar Proyek
Aceh Agentic RAG + OCR adalah backend untuk platform kecerdasan dokumen pemerintah yang di-host sendiri. Platform ini melayani pengguna internal Pemprov Aceh, mencari dari sumber pemerintah dengan kapasitas pengindeksan yang diwajibkan sebesar 100.000+ dokumen, menjawab dalam Bahasa Indonesia dan Bahasa Inggris, dan dirancang untuk menjaga penyimpanan dokumen, inferensi, pencarian, manajemen prompt, dan observabilitas tetap berada di dalam Huawei Cloud yang dikendalikan klien.
Batas Platform
Layanan saat ini bersifat API-first. FastAPI menyediakan rute HTTP JSON dan
Server-Sent Events (SSE) untuk query, pencarian, ingesti, OCR, siklus hidup dokumen,
percakapan, memori, primitif model, dan generasi langsung. Kode consumer Kafka/DMS
dan publisher status stage mengikuti
kontrak event mitra.
frontend/ adalah pengecualian klien sementara yang eksplisit: saat ini direktori
tersebut menyediakan Pustaka Aceh dan dashboard tren kueri internal yang terbatas selama
frontend mitra belum tersedia (ADR-0015).
Pengguna dan Sumber Utama
Platform ini dirancang untuk 10–50 pengguna internal yang bersifat bersamaan.
Jenis sumber yang didukung adalah JDIH, OpenData, PPID, SatuData, dan upload.
Dokumen JDIH dan PPID mengikuti jalur parse → fallback OCR → chunk → embed → index.
Rekam terstruktur OpenData dan SatuData adalah sumber tool pada saat query dan dilewati
sebelum embedding sehingga salinan index yang stale tidak bersaing dengan nilai live.
Kemampuan yang Sudah Diimplementasikan
| Kemampuan | Perilaku Saat Ini |
|---|---|
| Ingesti multi-format | Unggahan, teks inline, batch objek storage, dan asupan URL yang diizinkan berbagi validasi, penyimpanan, parsing, OCR, chunking, dan aturan indexing. Ingesti Kafka/DMS mengikuti kontrak event mitra. |
| OCR dan gerbang review | POST /ocr menyediakan inspeksi ekstraksi saja. Rekaman ingesti mencatat confidence OCR, mengecualikan chunk dengan sinyal rendah atau di bawah ambang batas dari pencarian, dan dapat mengarahkan dokumen ke needs_review; review tingkat dokumen menggunakan fraksi halaman yang gagal dan selalu meninjau halaman yang hilang. |
| Pencarian hybrid | Semantic pgvector HNSW dan pencarian full-text PostgreSQL digabungkan dengan RRF, lalu di-rerank dengan bge-reranker-v2-m3. |
| Agentic RAG | /query menjalankan Router → Planner → Executor → Synthesizer. Vector Search adalah default; Legal Check, Summarizer, Cross-Reference, Excel Query, Open Data, dan BPS Statistics terdaftar saat seam mereka tersedia. SQL Query hanya terdaftar saat sumber SQL terstruktur dikonfigurasi. |
| Jawaban berbasis sumber | /query dan /query/stream mengembalikan atau menampilkan sitasi sumber hanya setelah pemeriksaan kesesuaian dan Pengaman Kebijakan Pemerintah. |
| Percakapan dan memori | Pembuatan percakapan, riwayat berbatas kepemilikan, resume sesi, daftar/hapus memori, hapus data saya, dan konsolidasi malam sudah diimplementasikan. |
| Permukaan model | /embeddings dan /rerank mengekspos primitif yang dibatasi; /generate adalah panggilan model mentah yang diautentikasi dan secara eksplisit tidak berbasis sumber; /models melaporkan ID model yang dikonfigurasi. |
| Evaluasi | Golden dataset seed saat ini memiliki 86 kasus Bahasa Indonesia dari JDIH, PPID, OpenData, SatuData, dan fixture OCR. Perintah evaluasi untuk pencarian, jawaban, sitasi, OCR, kebijakan, dan per-sumber tersedia melalui make. |
Status Saat Ini
origin/main berisi API yang berfungsi, worker ingesti, orkestrator Agentic RAG,
stack Compose lokal, runner evaluasi, dan otomasi deployment. Produksi melayani ref
2cc9a417 (2026-10-07) di apps-0002 dengan frontend di
https://rag-aceh-neo.reviewstagepro.com (Studio di /studio); host review-staging
lama sudah dihapus (audit produksi firstmate 2026-10-07). Asal API publik
didokumentasikan di Ikhtisar API.
Beberapa kemampuan secara sengaja dikonfigurasi-gate:
- Ingesti URL dinonaktifkan hingga daftar izin dan persetujuan operator ditetapkan.
- Pembacaan OpenData, SatuData, dan BPS saat query dinonaktifkan secara default dan memerlukan daftar izin egress masing-masing; BPS juga memerlukan kunci aplikasi.
- SQL Query absen dari Planner hingga sumber terstruktur read-only dikonfigurasi.
- Profil A30 lokal melayani Qwen3-14B-AWQ, BGE-M3 (1024 dimensi),
bge-reranker-v2-m3, dan PaddleOCR-VL-0.9B.
Lihat snapshot produksi yang diaudit untuk ref deployment, pengaturan runtime, inventaris korpus, dan deployment yang masih tertunda.
Tulang Punggung Sistem
Klien API
→ FastAPI HTTP/SSE atau batas Kafka/DMS
→ worker ingesti atau Router → Planner → Executor → Synthesizer
→ PostgreSQL + pgvector + pencarian full-text
→ endpoint model yang dikonfigurasi melalui LiteLLM
→ prompt/trace Langfuse dan catatan audit append-only
Batasan yang Tidak Bisa Ditawar
- Data dan inferensi tetap berada di dalam Huawei Cloud untuk operasi yang disampaikan; egress LLM eksternal dijaga dan dinonaktifkan untuk staging/produksi.
- Dependensi yang disampaikan berlisensi open source OSI.
- Pencarian bersifat hybrid secara default; pencarian semantic-only tidak dapat diterima.
- Setiap jawaban yang dihasilkan memerlukan sitasi sumber dan pemeriksaan kesesuaian.
- Confidence OCR dan gerbang sinyal rendah mencegah teks yang tidak tepercaya masuk ke indeks yang dapat dicari.
- Pengaman Kebijakan Pemerintah membungkus setiap jawaban
/querydan/query/stream;/generatementah adalah pengecualian eksplisit.