How ganesan11062001/rc-ticket-mate works
TicketMate drafts grounded replies to Research Computing ServiceNow tickets. A team member launches the app, opens a ticket, requests a draft, reviews it, then edits and saves it; the backend retrieves RC website and rc-docs context from rc-kg before generating and citing the reply. The graph separates ticket interaction, drafting, knowledge-graph construction, retrieval/API, and evaluation. Source-index references and README statements support some links where excerpts are incomplete; unsampled internals are not inferred beyond those references.
Main entry points: main.py Draft API · run.py Content ingestion · app.py Retrieval HTTP API · graphrag.py Hybrid GraphRAG
Components 26
Ticket interaction
- Chrome extension
ticketmate/extension/content.js - Web interface
ticketmate/backend/web/app.js
Drafting backend
- Draft API
ticketmate/backend/app/main.py - Session auth
ticketmate/backend/app/auth.py - Prompt and models
ticketmate/backend/app/prompts.py - LLM client
ticketmate/backend/app/llm_client.py - Knowledge API client
ticketmate/backend/app/kg_client.py - Run logging
ticketmate/backend/app/runlog.py
Knowledge graph build
- Content ingestion
rc-kg/ingest/run.py - WordPress source
rc-kg/ingest/wp_api.py - Read the Docs source
rc-kg/ingest/rtd.py - Sections and anchors
rc-kg/ingest/sections.py - Topic enrichment
rc-kg/enrich/run.py - Embedding providers
rc-kg/retrieval/embeddings.py - Graph schema and writer
rc-kg/graph/writer.py
Knowledge retrieval
- Neo4j graph
rc-kg/graph/connection.py - Retrieval HTTP API
rc-kg/api/app.py - Hybrid GraphRAG
rc-kg/retrieval/graphrag.py - Citation rendering
rc-kg/retrieval/citations.py - Citation support checks
rc-kg/retrieval/support.py
Evaluation
- Graph and retrieval evaluation
rc-kg/eval/graph_eval.py
Other components
- RC team member
- ServiceNow ticket
- vLLM model server
- RC website
- RC documentation
Connections 27
- RC team member → Chrome extension: uses
README.md - ServiceNow ticket → Chrome extension: opens ticket
README.md - Chrome extension → Draft API: requests draft
README.md - RC team member → Web interface: reviews draft
README.md - Web interface → Draft API: uses API
README.md - Draft API → Session auth: authenticates
ticketmate/backend/app/main.py - Draft API → Knowledge API client: retrieves context
ticketmate/backend/app/main.py - Draft API → LLM client: generates draft
ticketmate/backend/app/main.py - LLM client → Prompt and models: uses prompts
ticketmate/backend/app/llm_client.py - LLM client → vLLM model server: calls model
ticketmate/backend/app/llm_client.py - Draft API → Run logging: records run
ticketmate/backend/app/main.py - Knowledge API client → Retrieval HTTP API: calls HTTP API
README.md - Content ingestion → WordPress source: fetches content
rc-kg/ingest/run.py - Content ingestion → Read the Docs source: ingests docs
rc-kg/ingest/run.py - WordPress source → RC website: fetches pages
- Read the Docs source → RC documentation: fetches pages
rc-kg/ingest/rtd.py - Content ingestion → Sections and anchors: builds sections
rc-kg/ingest/run.py - Content ingestion → Graph schema and writer: writes graph data
rc-kg/ingest/run.py - Graph schema and writer → Neo4j graph: writes graph
rc-kg/graph/writer.py - Topic enrichment → Neo4j graph: updates graph
rc-kg/enrich/run.py - Topic enrichment → Embedding providers: embeds sections
rc-kg/enrich/run.py - Retrieval HTTP API → Hybrid GraphRAG: retrieves context
rc-kg/api/app.py - Hybrid GraphRAG → Embedding providers: embeds query
rc-kg/retrieval/graphrag.py - Hybrid GraphRAG → Neo4j graph: searches graph
rc-kg/retrieval/graphrag.py - Retrieval HTTP API → Citation rendering: renders citations
rc-kg/api/app.py - Retrieval HTTP API → Citation support checks: checks support
rc-kg/api/app.py - Graph and retrieval evaluation → Hybrid GraphRAG: evaluates retrieval