2.6 KiB
2.6 KiB
Chat Gateway with Quotas and Scrubbing
Module
AdvisoryAI
Status
IMPLEMENTED
Description
Chat gateway with configurable options (quotas, budgets) and service-layer chat orchestration is implemented.
Implementation Details
- Modules:
src/AdvisoryAi/StellaOps.AdvisoryAI/Chat/,src/AdvisoryAi/StellaOps.AdvisoryAI.WebService/ - Key Classes:
AdvisoryChatService(src/AdvisoryAi/StellaOps.AdvisoryAI/Chat/Services/AdvisoryChatService.cs) - main chat service with quota enforcementAdvisoryChatQuotaService(src/AdvisoryAi/StellaOps.AdvisoryAI/Chat/Services/AdvisoryChatQuotaService.cs) - per-user/tenant quota tracking and enforcementAdvisoryChatOptions(src/AdvisoryAi/StellaOps.AdvisoryAI/Chat/Options/AdvisoryChatOptions.cs) - configurable chat options (quotas, budgets, limits)GroundingValidator(src/AdvisoryAi/StellaOps.AdvisoryAI/Chat/GroundingValidator.cs) - validates AI responses are grounded in evidenceChatResponseStreamer(src/AdvisoryAi/StellaOps.AdvisoryAI/Chat/ChatResponseStreamer.cs) - streams chat responses with progressive deliveryChatPromptAssembler(src/AdvisoryAi/StellaOps.AdvisoryAI/Chat/ChatPromptAssembler.cs) - assembles prompts with scrubbing and context injectionConversationContextBuilder(src/AdvisoryAi/StellaOps.AdvisoryAI/Chat/ConversationContextBuilder.cs) - builds conversation context with relevant dataChatEndpoints(src/AdvisoryAi/StellaOps.AdvisoryAI.WebService/Endpoints/ChatEndpoints.cs) - REST API endpoints for chat gatewayRateLimitsService(src/AdvisoryAi/StellaOps.AdvisoryAI.WebService/Services/RateLimitsService.cs) - rate limiting for chat API callsAuthorizationService(src/AdvisoryAi/StellaOps.AdvisoryAI.WebService/Services/AuthorizationService.cs) - authorization checks for chat access
- Interfaces:
IAdvisoryChatInferenceClient,IAiConsentStore - Source: Feature matrix scan
E2E Test Plan
- Send chat messages and verify
AdvisoryChatQuotaServiceenforces per-user quotas (reject after limit exceeded) - Configure quota limits via
AdvisoryChatOptionsand verify they are applied at runtime - Verify
ChatPromptAssemblerscrubs sensitive data (credentials, tokens) from prompts before sending to LLM - Verify
GroundingValidatorflags responses that lack evidence grounding - Verify
RateLimitsServicerate-limits excessive chat API calls - Verify
ChatResponseStreamerdelivers streaming responses with proper chunking - Verify
AuthorizationServicerejects chat requests from unauthorized users