Skip to content

Helpdesk Answer Bot

Drafts replies from similar solved tickets and articles.

Industry Level Difficulty Recommended mode
Customer support 2 of 5 Intermediate flat
  • Agents rewrite the same answers daily.
  • New agents lack context.
  • Replies vary in quality.
  1. Solved tickets and articles are embedded.
  2. Each new ticket retrieves the closest solutions.
  3. A local LLM drafts a reply citing them.
  4. Agent edits are fed back.
Today With Helpdesk Answer Bot on SrvDB
Writing every reply Reviewing a draft
Inconsistent answers Consistent, sourced replies
Slow onboarding Context for every agent
  1. Embed solved tickets.
  2. Retrieve per ticket.
  3. Draft reply.
  4. Agent edits and sends.
  5. Upsert the final answer.
  • Exact search (flat): every query compares against every stored vector, so results are exact and explainable.
  • upsert: inserts new items and replaces changed ones, so the knowledge base stays current.
  • Crash-safe persist(): after it returns, data survives a crash or power loss and reopens exactly as committed.
  • Thread-safe handles: one database object can be shared between threads; searches run in parallel.
  • Password and account issues
  • Billing questions
  • How-to questions
  • Bug workarounds
  • Shipping questions
  • Multilingual replies

embed() is your embedding model (for example sentence-transformers, or a function that turns your records into feature vectors).

import json
import srvdb
db = srvdb.Database("./helpdesk-answer-bot-db", dimension=384)
def ingest(items):
"""items: list of (id, text, metadata dict)"""
db.upsert(
ids=[i for i, _, _ in items],
embeddings=[embed(t) for _, t, _ in items],
metadatas=[json.dumps(m) for _, _, m in items],
)
db.persist() # crash-safe checkpoint
def suggested_answers(ticket_text, k=5):
hits = db.search(embed(ticket_text), k)
return [(json.loads(db.get(i)), round(score, 3)) for i, score in hits]
  • Agents approve every reply.
  1. Prototype: load a sample of real data with flat mode and check that searches return what an expert expects.
  2. Measure: if you move to an approximate mode, compare its results with flat on the same queries (recall).
  3. Pipeline: add continuous upsert and decide when to call persist().
  4. Harden: test restarts and crashes, add logging, review every output path with domain experts.
  5. Deploy: ship the database directory with the application or service.
Level Project What it does
1 · Beginner Knowledge Base Search Customers and agents find the right article from their own words.
2 · Intermediate Helpdesk Answer Bot (this page) Drafts replies from similar solved tickets and articles.
3 · Advanced Ticket Deduplicator Finds duplicate tickets and emerging issue clusters.
4 · Expert Customer Memory Agent Remembers each customer’s history across conversations.
5 · Frontier Offline Support Kiosk A self-service assistant that works without internet.

See also: Use cases · Live examples (coming soon)