How ayushguleria2005/customer-support-pipeline works
This repository is primarily an AI customer-support orchestrator. A query enters through the HTTP API or terminal client, is classified and routed, then retrieves policy and session-memory context; the pipeline validates context, optionally chains live support tools, and generates a response or escalates to human support. The server also persists chat history and successful turns for follow-up retrieval, and supports approval-and-resume for gated actions. The README documents these capabilities; implementation details for some nodes and tool dispatch are not included in the sampled source, so uncertain internal links are omitted.
Main entry points: runPipeline.ts Pipeline runner · server.ts HTTP API · registry.ts Tool registry · index.ts Terminal client
Components 24
Entry and sessions
- HTTP API
support-orchestrator/src/server.ts - Terminal client
support-orchestrator/src/cli/index.ts
Support orchestration
- Pipeline runner
support-orchestrator/src/runPipeline.ts - Query classifier
support-orchestrator/src/nodes/classifier.ts - Confidence router
support-orchestrator/src/router.ts - Context validator
support-orchestrator/src/nodes/retrievalValidator.ts - Response generation
support-orchestrator/src/nodes/generation.ts - Response formatter
support-orchestrator/src/nodes/response.ts - Escalation handler
support-orchestrator/src/nodes/escalation.ts
Knowledge and memory
- Context retrieval
support-orchestrator/src/nodes/retrieval.ts - Embedding helper
support-orchestrator/src/embed.ts - Policy documents
support-orchestrator/src/data/docs.ts
Support actions
- Tool decision
support-orchestrator/src/nodes/toolDecide.ts - Tool executor
support-orchestrator/src/nodes/toolCall.ts - Tool registry
support-orchestrator/src/tools/registry.ts - Customer lookup
support-orchestrator/src/tools/customer/getCustomerDetails.ts - Order details
support-orchestrator/src/tools/orders/getOrderDetails.ts - Order status
support-orchestrator/src/tools/orders/getOrderStatus.ts - Refund action
support-orchestrator/src/tools/refunds/initiateRefund.ts
State and services
- Qdrant collections
support-orchestrator/src/qdrant.ts - Redis client
support-orchestrator/src/config/redis.ts
Other components
- Customer
- Groq LLM
- Human support
Connections 33
- Customer → HTTP API: submits query
- Customer → Terminal client: submits query
- HTTP API → Pipeline runner: runs query
- Terminal client → Pipeline runner: runs query
- HTTP API → Redis client: reads/writes history
- Terminal client → Redis client: reads/writes history
- Pipeline runner → Query classifier: classifies
- Query classifier → Groq LLM: requests inference
- Pipeline runner → Confidence router: checks confidence
- Pipeline runner → Escalation handler: escalates
- Pipeline runner → Context retrieval: retrieves context
- Context retrieval → Embedding helper: embeds query
- Context retrieval → Qdrant collections: searches collections
- Policy documents → Qdrant collections: indexed into
- Pipeline runner → Context validator: validates context
- Context validator → Groq LLM: requests evaluation
- Pipeline runner → Tool decision: decides tools
- Tool decision → Groq LLM: requests inference
- Pipeline runner → Tool executor: executes tools
- Tool executor → Tool registry: dispatches via
- Pipeline runner → Response generation: generates answer
- Response generation → Groq LLM: requests generation
- Pipeline runner → Response formatter: formats result
- Escalation handler → Human support: routes for support
- Tool registry → Customer lookup: dispatches lookup
- Tool registry → Order details: dispatches lookup
- Tool registry → Order status: dispatches lookup
- Tool registry → Refund action: dispatches action
- HTTP API → Qdrant collections: stores successful turns
- HTTP API → Embedding helper: embeds saved turns
- HTTP API → Pipeline runner: resumes approval
- HTTP API → Redis client: stores approval workflow
- Response formatter → Customer: returns answer