Gallup built an AI assistant, Gallup AI, to provide personalized leadership coaching by leveraging 90 years of proprietary workplace research. This system design focuses on a serverless architecture utilizing Amazon Bedrock for generative AI, RAG through Knowledge Bases and Kendra, and various AWS services for scalability, real-time responses, and data management. It demonstrates how to integrate large language models (LLMs) with private data for domain-specific AI applications.
Read original on AWS Architecture BlogGallup possessed extensive workplace science research but lacked a centralized, real-time mechanism to deliver personalized guidance to leaders. The goal was to transform this knowledge into an instantly accessible AI assistant, integrating it directly into their existing Gallup Access application workflow. This required a system capable of semantic search over a vast knowledge base and generating contextually relevant responses at scale.
The Gallup AI assistant is built on a serverless-first architecture designed for high scalability and low operational overhead. It primarily leverages Amazon Bedrock for its generative AI capabilities, including access to Anthropic's Claude models, and integrates with other AWS services to form a robust RAG (Retrieval Augmented Generation) system. This approach allowed Gallup to move from prototype to production rapidly without a dedicated ML Ops team.
Architectural Choice: Serverless for Agility and Scale
Serverless Design Philosophy: The adoption of a serverless architecture significantly reduces infrastructure management burden, allowing Gallup to focus on business logic and content. Services like Lambda, Bedrock, ElastiCache Serverless, and DynamoDB auto-scale, handling fluctuating loads efficiently without manual provisioning or scaling efforts.
When a leader queries Gallup AI, the system orchestrates several steps: proprietary workplace research (stored in S3) is ingested into Amazon Bedrock Knowledge Bases, and the Gallup website content is continuously crawled and indexed by Amazon Kendra. Upon receiving a query, relevant documents are retrieved from both sources, scored, filtered, and consolidated before being passed to the Claude models in Amazon Bedrock for generating a response. AWS Lambda handlers manage this flow, while ElastiCache provides fast access to conversation history, and RDS ensures persistent storage of interactions. Bedrock Guardrails are applied during generation for content safety.