Lewati ke isi

Glosarium

Istilah kunci yang dipakai di seluruh dokumentasi HUPH. Diurut per abjad.

Aria — persona AI chatbot yang berinteraksi dengan user di WhatsApp. Tidak singkatan — sekadar nama yang terasa ramah untuk calon mahasiswa.

BGE-M3(legacy, removed April 2026) Model embedding open- source dari BAAI, menghasilkan dense (1024 dimensi) dan sparse vector dalam satu pass. HUPH memakainya via self-hosted apps/rag Python service selama Mar–awal Apr 2026. Sudah digantikan oleh Dify + OpenAI embeddings. Sudah tidak ada di repo saat ini.

BGE-reranker-v2-m3(legacy, removed April 2026) Cross- encoder dari BAAI untuk rerank top kandidat setelah hybrid search awal. Dihapus bersamaan dengan apps/rag ketika AI pipeline pindah ke Dify.

Channel — entry point pesan user. Sejak April 2026, HUPH hanya punya SATU channel aktif: WhatsApp (via 360dialog). Telegram dan Web dihapus di cleanup Apr 8.

Claude Haiku — LLM Anthropic yang dipakai untuk generate response, klasifikasi intent (Layer 3 fallback), dan eval judging. Model ID saat ini: claude-haiku-4-5 (tanpa suffix tanggal). Dipanggil via Anthropic API langsung (bukan AWS Bedrock).

Cluster — grouping akademik prodi UPH. HUPH punya 5 cluster:

  • CASS (College of Arts & Social Sciences)
  • CBT (College of Business & Technology)
  • CHS (College of Health Sciences)
  • CIST (College of Information Science & Technology)
  • CNE (College of Nursing & Education)

Setiap cluster punya counselor khusus.

Cluster ownership (sticky vs flip) — model ownership hybrid- lite HUPH. owner_source pada lead menentukan cara flip:

  • program_match — fluid, ikut program terakhir yang disebut
  • register_intent — lock saat user bilang "mau daftar"
  • manual — override admin, selalu menang

Lihat halaman escalation.

Counselor Dashboard — view admin Phase 1.6 (merged Apr 9 via PR #2) yang menampilkan antrian per-counselor, KPI, dan akses lead yang di-scope.

Dify — platform AI self-hosted yang dipakai HUPH sebagai layer chat completion + annotation reply + KB management. Di-host di dify.huph.val.id. FAQ annotation match dalam ~300 ms, melewati full LLM pipeline.

Dify Annotation — pasangan Q&A curated di Dify yang match query user via fuzzy match. Bypass LLM, balas ~300 ms. Sistem FAQ HUPH men-sync row faq_local ke Dify annotation.

Escalation — menyerahkan percakapan dari Aria ke counselor manusia. Set conversations.status = 'escalated' dan pause bot. Di-trigger oleh rule (user frustrated, percakapan panjang) atau Take Over manual dari Inbox admin.

Escalation kind — salah satu dari 2 jenis notifikasi:

  • escalation — judul "Escalation: ", fire saat action=escalate, status flip
  • notify — judul "Hot lead: ", fire saat action=notify, status tidak berubah

FAQ vs KB — dua jalur jawaban berbeda:

  • FAQ = pasangan exact-match curated yang disimpan lokal dan sinkron ke Dify annotation. Cepat (~300 ms), no LLM.
  • Knowledge Base (KB) = retrieval semantic search atas dokumen yang di-crawl. Lebih lambat (~6 s), lebih fleksibel.

Feature flag — env var boolean yang mengatur subsystem. Flag HUPH saat ini:

  • LEAD_CAPTURE_ENABLED — lead capture Phase 2A pipeline
  • TEAM_OWNERSHIP_ENABLED — cluster resolver dan ownership
  • ESCALATION_ROUTING_ENABLED — notification fan-out
  • API_AUTH_MODEdisabled | warn | enforce untuk Phase 0 auth

Golden QA dataset — set 21 pasangan Q-A tetap yang dipakai ukur kualitas RAG via Run Eval di tab KB Evaluation admin. Baseline per 2026-03-27: 95.2% pass rate (20/21), faithfulness 0.94, relevancy 0.93.

Hybrid search — kombinasi similarity vector dense dengan keyword matching sparse, di-fuse via RRF. Historically diimplementasikan di HUPH via BGE-M3 self-hosted + query langsung ke Qdrant; arsitektur sekarang delegasi ke workflow Dify yang menjalankan logika serupa atas Milvus.

Intent Router — classifier 4-tier Phase 1 yang route pesan masuk ke handler yang tepat sebelum RAG. Tier: deterministic regex → keyword heuristic → Claude Haiku → default.

JWE (NextAuth) — format JWT ter-enkripsi yang dipakai NextAuth untuk session token. Bukan signed JWT — decoding butuh next-auth/jwt encode/decode dengan NEXTAUTH_SECRET yang sama, bukan jsonwebtoken.sign/verify. Silent failure kalau tertukar.

Lead — record terstruktur dengan data kontak (nama, phone, email, program interest) yang di-ekstrak dari percakapan. Berbeda dari conversation — satu conversation bisa hasilkan 0 atau 1 lead, dan satu lead bisa punya banyak conversations.

Lead stage (real enum DB): incomplete → new → contacted → qualified → enrolled → lost

Milvus — vector database yang dipakai saat ini. Dipakai oleh Dify untuk KB retrieval. Di-bring up via docker-compose.milvus.yml, terpisah dari docker-compose.yml utama. Menggantikan Qdrant di akhir Mar / awal Apr 2026.

Qdrant(legacy, removed April 2026) Vector database yang dulu dipakai oleh self-hosted RAG service. docker-compose.yml line 33 secara eksplisit comment: "Qdrant removed — replaced by Milvus". Volume qdrant_data disimpan 30 hari sebagai backup.

NextAuth — library auth yang dipakai apps/admin untuk session management. Pakai JWE cookie (bukan signed JWT). Tabel admin_users custom sebagai identity store, password bcrypt hash.

Persona — scaffolding prompt yang diaplikasikan berdasarkan user type. Variabel: user_type, tone, address_style, emoji_usage, answer_length, guidance_rules.

Phoenix — Arize Phoenix, dipakai untuk trace OpenTelemetry collection di port 6006. Komplemen Langfuse (yang fokus observability LLM).

RAG (Retrieval-Augmented Generation) — pattern yang dipakai HUPH untuk jawaban chatbot: retrieve dokumen relevan dari vector DB, lalu feed ke LLM sebagai konteks generation. Implementasi HUPH sekarang seluruhnya ada di stack Dify (Dify handle embeddings, similarity search di Milvus, dan panggilan LLM). Self-hosted apps/rag Python service yang menjalankan pipeline ini di Mar–awal Apr 2026 sudah dihapus. Lihat halaman AI Pipeline architecture.

RBAC Phase 1.5 — cluster-based access control pada endpoint admin. marketing_counselor dengan cluster_id=X hanya melihat lead + conversation cluster X. marketing_staff dan marketing_admin bersifat global.

RRF (Reciprocal Rank Fusion) — algoritma fuse hasil dense dan sparse search di hybrid retrieval. Setiap kandidat dapat score berdasarkan rank di setiap ranking, lalu dijumlah antar ranking. HUPH historically memakainya di direct Qdrant hybrid search; workflow Dify sekarang pakai semantik fusion serupa secara internal.

Socket.io — transport realtime yang dipakai HUPH (menggantikan SSE deprecated). Jalan embedded di API server port 3101 dengan namespace /admin. Di-autentikasi via NextAuth JWE yang di- forward pada upgrade request.

Take Over — aksi counselor dari Inbox admin yang meng-escalate percakapan: set conversations.status = 'escalated', assign assigned_agent_id ke counselor, pause Aria. Di-konfirmasi via ConfirmDialog untuk cegah kecelakaan.

Timezone trigger bug (WIB) — bug historis di mana kolom timestamp without time zone di-serialize tanpa offset UTC, membuat frontend parse sebagai waktu WIB lokal dan menunjukkan "7 jam lalu" untuk event baru. Fixed 2026-04-08 via cast AT TIME ZONE 'UTC' di semua 5 fungsi trigger.

UPH — Universitas Pelita Harapan. Universitas yang HUPH dibangun untuk. Lihat uph.edu.

WhatsApp 24-hour window — constraint WhatsApp Business API: pesan outbound free-form hanya diizinkan dalam 24 jam dari pesan terakhir user. Setelah itu, wajib pakai Meta Template Messages yang sudah di-approve (2–7 hari review). Mempengaruhi halaman follow-up.