Skip to content

Shopping Assistant

Answers product questions from your catalogue and reviews.

Industry Level Difficulty Recommended mode
Retail & e-commerce 2 of 5 Intermediate flat
  • Customers ask questions product pages don’t answer.
  • Support costs rise.
  • Generic bots invent facts.
  1. Specifications, FAQs and reviews are embedded.
  2. Answers cite products and reviews.
  3. Local LLM keeps data in-house.
  4. Updated nightly.
Today With Shopping Assistant on SrvDB
Unanswered questions Grounded answers
Invented facts Cited sources
Support load Self-service
  1. Embed content.
  2. Answer with citations.
  3. Escalate gaps.
  4. Refresh.
  5. Measure.
  • 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.
  • Compatibility questions
  • Size and fit
  • Comparisons
  • Care instructions
  • Delivery questions
  • Store staff help

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("./shopping-assistant-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 product_answer(question, k=5):
hits = db.search(embed(question), k)
return [(json.loads(db.get(i)), round(score, 3)) for i, score in hits]
  • Answers must cite catalogue data.
  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 Semantic Product Search Shoppers describe what they want and find it.
2 · Intermediate Shopping Assistant (this page) Answers product questions from your catalogue and reviews.
3 · Advanced Listing Guardian Detects duplicate and counterfeit-looking listings.
4 · Expert Multimodal Kiosk In-store kiosk that searches by text or photo.
5 · Frontier Edge Recommender “More like this” recommendations running on store or app hardware.

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