FAQ Management — Fast Answers via Dify Annotation
Purpose
This page explains how to manage HUPH's FAQ (Frequently Asked Questions) — questions that come up often with curated baseline answers. FAQs respond instantly (~300 ms) without calling an LLM, so users get much faster replies for common questions. Intended for counselors and marketing staff curating chatbot content.
Prerequisites
- Logged in as counselor/marketing/admin
- Understand the difference between FAQ (exact-match curated) and Knowledge Base (semantic search) — explained below
FAQ vs Knowledge Base
| Aspect | FAQ | Knowledge Base |
|---|---|---|
| Matching | Exact / fuzzy match on question | Semantic search with embeddings |
| Speed | ~300 ms (no LLM call) | ~6 seconds (full LLM pipeline) |
| Who edits | Counselor/marketing (manual curation) | Crawler + doc upload |
| Data source | faq_local table → synced to Dify Annotation |
Qdrant vector DB |
| Best for | Common repeated questions (fees, schedule, location) | Specific questions that need reasoning |
If the question is frequent and the answer is consistent — make it a FAQ. If the question varies and needs contextual reasoning — let the KB handle it.
Steps
1. Open FAQ Management
Click Knowledge base → FAQ in the sidebar (URL: /knowledge/faq).
You will see the existing FAQ list, currently around 30 entries.
┌──────────────────────────────────────────────┐
│ FAQ Management [+ Add] │
│ │
│ [x] How much is medical school 2026? │
│ IDR ... per semester + form ... │
│ [edit] [toggle on/off] [delete] │
│ │
│ [x] Application schedule? │
│ Wave 1 Oct–Dec, Wave 2 Jan–Mar ... │
│ [edit] [toggle on/off] [delete] │
│ │
│ [ ] Merit scholarship (disabled) │
│ ... │
└──────────────────────────────────────────────┘
The left checkbox indicates active status — unchecked (disabled) FAQs are not used by Dify Annotation.
2. Add a new FAQ from scratch
Click + Add, fill in:
- Question — the canonical form (e.g. "How much is medical school tuition?")
- Alternative questions (optional) — wording variations that should match the same answer
- Answer — full reply, simple markdown allowed
Click Save. The FAQ syncs to Dify Annotation within seconds.
3. Promote a FAQ from a correction
When you've already given a correction in the Inbox (clicked 👎 → typed the correct answer), you can promote that correction to a permanent FAQ. From the correction panel click Promote to FAQ — the question is taken from the original user message, the answer from your correction. Review once, edit if needed, Save.
4. Toggle on/off
Sometimes a FAQ needs to be temporarily disabled (outdated fee, closed intake window). Instead of deleting, click the toggle off checkbox. The FAQ stays in the database but won't be used by the chatbot. Re-enable it any time.
5. Edit an existing FAQ
Click edit on the FAQ row. Change the question/answer, Save. Dify sync is automatic.
6. Check Dify sync
After add/edit/toggle, syncing to Dify usually takes ~2–5 seconds. Sync status is shown in the right column (green ✓ = synced, yellow ⚠ = pending, red ✗ = failed).
Example scenarios
User asks about the application form fee per program. Previously Aria answered via KB with ~6-second latency. The counselor creates a new FAQ with question "application form fee" and answer showing a price table per program. After sync, every time a user asks about the form fee → Dify Annotation answers in ~300 ms.
Toggle off an expired scholarship FAQ. The Wave 1 scholarship promo has closed. The counselor toggles off the "Wave 1 2026 scholarship" FAQ, creates a new one for Wave 2. The old entry stays in the database for reference but is no longer used.
Troubleshooting
FAQ doesn't match despite similar wording. Symptom: the user asks "what's the price of medical school" but Aria answers via the full LLM instead of the FAQ. Cause: Dify Annotation matching is fairly strict; wording variants can miss. Fix: add Alternative questions to the relevant FAQ ("tuition price", "school fee", "tuition fee" etc.). Edit → Save → retry.
FAQ doesn't sync to Dify — status ⚠ or ✗. Symptom: a new FAQ shows sync stuck. Cause: Dify API down, network issue, or API key expired. Fix: try re-edit + save (force re-sync). If still failing, contact dev team to check the Dify stack health (Dify can OOM under tight memory limits — bumped as of April 2026 but may recur).
Duplicate FAQ with similar questions. Symptom: two entries for "medical school tuition" with different answers. Cause: two counselors creating at once without coordination. Fix: review together, delete the wrong one, ensure the correct one is saved and toggled on.
See also
- Inbox — promote a correction to a FAQ
- Knowledge base — how FAQ differs from KB and when to use each
- Troubleshooting — more common issues