Skip to content

RAG Support Assistant

A customer-support agent that retrieves product docs, routes every answer through LangGraph, and keeps replies grounded in known sources.

Published docs hub

Docs are published under /RAG_Support_Assistant. English and Russian entry pages are maintained explicitly.

Seeded support KB

The demo KB starts from three seed documents: warranty, returns, and E10-E30 errors. E20 is present in errors_e10_e30.md.

Fixture-backed evaluation

The fixture set has 12 cases across error codes, password reset, warranty, installation, billing, and general support. The three-document demo KB does not cover every fixture category.

Traceable integration surface

The API catalog is tied to FastAPI route decorators, and /api/ask returns an answer with documents and citations.

auto

retry

Question

classify_complexity

transform_query

retrieve

grade_docs

generate

verify_facts

evaluate

route_or_retry

Answer + sources

The full flowchart, with all 12 nodes and conditional transitions, is generated automatically from agent/graph.py on the LangGraph state machine page.

What /api/ask returns for “How do I fix E20?”

Section titled “What /api/ask returns for “How do I fix E20?””
{
"answer": "Error E20 is a water-drainage problem. Likely causes: a clogged drain filter, a kinked drain hose, or a faulty drain pump [1].",
"sources": [
{ "source": "errors_e10_e30.md", "page_content": "E20 — water drainage problem …" }
],
"citations": [
{ "index": 1, "doc_id": "errors_e10_e30.md", "title": "errors_e10_e30.md", "excerpt": "drain valve / filter …" }
]
}

The shape is fixed by the Pydantic models AskResponse, SourceInfo, and Citation in api/routers/conversation.py. For the full node-by-node walkthrough, see What it does.

  • What it does walks one E20 question through the graph.
  • Reproduce E20 gives the deterministic trust path: seed, ingest, ask, verify.
  • Try locally covers the local setup path.
  • Evaluation covers what is measured, how, and where the limits are.
  • GitHub contains the source.