Response Generation Architecture
flowchart LR
Input["User Input"]:::io
Intent{"Intent
Classification"}:::decision Context[("Context
Retrieval")]:::success Strategy{"Response
Strategy"}:::decision Template["Template Engine"]:::success Retrieval["Retrieval System"]:::success LLM["LLM Generator"]:::success Formatter["Response
Formatter"]:::success Quality{"Quality
Checker"}:::quality Output["User Output"]:::io Input --> Intent Intent --> Strategy Context -.->|Context injection| Strategy Strategy -->|Intent: FAQ| Template Strategy -->|Intent: Factual| Retrieval Strategy -->|Intent: Complex| LLM Template --> Formatter Retrieval --> Formatter LLM --> Formatter Context -.->|Context injection| Formatter Formatter --> Quality Quality -->|Pass| Output Quality -.->|Validation failed| LLM classDef io fill:#3b82f6,stroke:#1e3a8a,stroke-width:2px,color:#fff,font-size:14px classDef success fill:#22c55e,stroke:#15803d,stroke-width:2px,color:#fff,font-size:14px classDef decision fill:#f97316,stroke:#9a3412,stroke-width:2px,color:#fff,font-size:14px classDef quality fill:#ef4444,stroke:#991b1b,stroke-width:2px,color:#fff,font-size:14px linkStyle default stroke:#94a3b8,stroke-width:2px,font-size:12px
Classification"}:::decision Context[("Context
Retrieval")]:::success Strategy{"Response
Strategy"}:::decision Template["Template Engine"]:::success Retrieval["Retrieval System"]:::success LLM["LLM Generator"]:::success Formatter["Response
Formatter"]:::success Quality{"Quality
Checker"}:::quality Output["User Output"]:::io Input --> Intent Intent --> Strategy Context -.->|Context injection| Strategy Strategy -->|Intent: FAQ| Template Strategy -->|Intent: Factual| Retrieval Strategy -->|Intent: Complex| LLM Template --> Formatter Retrieval --> Formatter LLM --> Formatter Context -.->|Context injection| Formatter Formatter --> Quality Quality -->|Pass| Output Quality -.->|Validation failed| LLM classDef io fill:#3b82f6,stroke:#1e3a8a,stroke-width:2px,color:#fff,font-size:14px classDef success fill:#22c55e,stroke:#15803d,stroke-width:2px,color:#fff,font-size:14px classDef decision fill:#f97316,stroke:#9a3412,stroke-width:2px,color:#fff,font-size:14px classDef quality fill:#ef4444,stroke:#991b1b,stroke-width:2px,color:#fff,font-size:14px linkStyle default stroke:#94a3b8,stroke-width:2px,font-size:12px
Color Key
Input / output
Processing and response paths
Decision points
Quality check / validation
Stage Details
Hover a stage to follow a user message from intent classification through one of three response strategies to a validated reply.