An AI RAG Copilot for Live Events
Grounded Q&A, chatbots, and agents over event knowledge
Options on the table
Background
Nova Dynamic Media runs large-scale enterprise live events — webcasts and conferences where the audience actively participates. Every session generates a constant stream of interaction data on top of the live video: questions and upvotes, poll and survey responses, transcripts, and engagement metrics, all tied to that specific event.
The team wanted to put that data to work with AI: a copilot to help moderators run the room live, chatbots that let audiences ask about the content during and after a session, and a way to query event metrics in plain language instead of building a report. The hard part was never 'add an LLM' — it was making the AI accurate and trustworthy on one event's private data, in real time, in front of enterprise clients.
The challenge
During large-scale, high-concurrency virtual events, moderators and speakers were overwhelmed by the sheer volume of real-time audience interaction and the size of the event datasets behind it.
- The manual bottleneck: Generating metrics, summarizing a presentation, or finding information buried in historical transcripts meant manual report generation or tedious database queries.
- The context gap: Standard LLM APIs couldn't give accurate, real-time answers about a specific live session — they had no context for that event's unique data.
- The hallucination risk: Ungrounded AI chat invents facts. During an active enterprise webcast that's a compliance and reputation disaster, not a quirk.
Why AWS Bedrock & Knowledge Bases
We chose the Bedrock ecosystem to build a fully serverless, managed AI layer — solving these problems without provisioning heavy vector-database infrastructure or hand-writing chunking and embedding pipelines.
- Amazon Bedrock: Instant, secure access to foundation models like Claude, with data privacy guaranteed — our event data never trains public models.
- Knowledge Bases for Bedrock: Handled the entire RAG flow — parsing, chunking and embedding raw S3 event assets into a vector store to ground the AI in absolute truth.
- Bedrock Agents: Gave the AI actionable capability — calling backend APIs and answering operational questions in plain language, not just chatting.
How we implemented it
The system is a serverless, event-driven pipeline that runs from raw event assets all the way to grounded inference, in four layers — ingestion, a managed RAG index, a retrieval-augmented chat path, and an action-taking agent — each scoped per event and locked down with least-privilege IAM.
- Ingestion & data lake: Live activity, Q&A and event logs stream through Amazon Kinesis Firehose, which buffers on size/time and writes partitioned objects (by event and date) into S3. Transcripts and presentation assets land under the same per-event prefixes, giving one durable, queryable source of truth.
- Managed RAG index: Each S3 prefix is wired to a Bedrock Knowledge Base backed by an OpenSearch Serverless vector index. New objects trigger an incremental ingestion job that chunks documents (fixed-size with overlap), embeds them with a Titan/Cohere embeddings model, and stores the vectors alongside event-scoped metadata — so a retrieval can never cross event boundaries.
- Retrieval-augmented chat path: The frontend calls AppSync (Cognito-authenticated); a resolver Lambda issues a Bedrock RetrieveAndGenerate request. Top-k semantic search returns the most relevant chunks under a metadata filter for the active event, the context is assembled into a Claude prompt, and the grounded answer streams back with source citations. Bedrock Guardrails enforce PII/compliance policy on every response.
- Agentic metrics layer: A Bedrock Agent exposes action groups defined by an OpenAPI schema mapped to our analytics endpoints. On a plain-language question it runs a ReAct-style loop — parse intent → select the right action → invoke the backing Lambda (which reads the live Valkey/S3 telemetry) → synthesize a conversational answer — holding per-session state for follow-up questions.
- Security & multi-tenant isolation: userId and tenant are taken from the AppSync authorizer context, every Lambda runs under least-privilege IAM, and event-scoped metadata filtering keeps one client's data invisible to another client's queries — table stakes for enterprise webcasts.
The outcome
- Zero hallucinations: Strictly grounding Claude's prompts in the vector data lake gave accurate, context-specific answers with full reliability.
- Less operational overhead: Moderators moved from manual data tracking to a unified dashboard where the AI grouped, summarized and answered audience queries automatically.
- Instant insights: Post-event reporting that used to take hours or days became an instant, conversational assistant for both audiences and clients.
