Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Status: Proof of Concept · Presented: November 5, 2025 · Branch: users/prnag/chat-assistant-dev (repo https://github.com/EG-A-S/egu-partnerportal/tree/users/prnag/chat-assistant-dev) · Ticket[EGU-2282] Exploring AI Chat Assistant in Zynergy Partners - EG A/S

Author: Pragnya Nagure, Team Nova

Purpose of this page: Document what was built, explain the underlying RAG pattern, and serve as a reference for future chat/AI-assistant implementations in the platform.

...

The three data sources Luma retrieves from:

SourceWhat it isHow it's retrieved in this POC
Live DataWork order records, scoped by role/permissionsEF Core query against Azure SQL, reusing the existing IWorkOrderApiService
Static dataUser Manuals, release notes, FAQsIndexed in Azure AI Search, queried via keyword search
Frontend contextCurrent page/section the user is viewingPassed from the Blazor client on each request


4. Technical Architecture

...

7. POC Status & Known Limitations

Area

LimitationWhy it matters
AuthChat endpoint has no [Authorize]; UserId is client-supplied, not verified server-sideRole-based data filtering is real, but trusts a client-given ID - needs to read the user from the authenticated token instead. 
This chatbot implementation was done before the token authentication security implementation between services
SearchOnly keyword search is active; vector search is implemented but unusedSemantic/vector search would likely improve retrieval quality for natural-language queries
Session managementDELETE api/chat/session/{id} is a stubSessions can't actually be cleared yet
ScalabilityRate limiter & session store are in-memory onlyWon't work across multiple app instances; needs a distributed cache (e.g. Redis) before scaling out


8. Recommendations for Future Implementations

...

9. Appendix - API Reference

Method

RouteNotes
POSTapi/chat  Main chat endpoint
GETapi/chat/statusEnabled flag, limits, supported languages
DELETEapi/chat/session/{sessionId}Stub, not implemented
GETapi/chat/ratelimit/{userId}Remaining requests for a user


Config sections (in appsettings.Development.json): AzureOpenAI, AzureAISearch, ChatSettings - see repo for full key list.

PPT - ZynergyPartnersChatbot.pptx