Enterprise-Grade RAG System for Internal Knowledge Management
pdi · Tech · 2026 · source Agentic: no · promotional bias: high · source-backed · extracted with prompt 0.5.6 (schema v2)
Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.
Problem
Domain: Internal enterprise knowledge assistant
PDI Technologies needed employees to access fragmented company knowledge across websites, Confluence, SharePoint, Azure DevOps, and other data sources through a secure AI chat interface.
Constraints:
- Knowledge was scattered across disparate systems.
- The system needed a custom RAG foundation for accurate and relevant responses.
- Crawlers had to preserve source hierarchy, relationships, embedded images, permissions, and metadata.
- The platform needed zero-trust security and role-based access.
- PDI needed serverless scale, dynamic token management, and low operational overhead.
Architecture
PDI built PDIQ on AWS with configurable crawlers, S3 document storage, SNS events, Lambda/ECS processing, Bedrock models, Titan embeddings, Aurora PostgreSQL vector storage, DynamoDB metadata, Amazon Nova Pro for retrieval/response, and zero-trust role-based access controls. Documents are converted to markdown, enriched with generated image captions, chunked, summarized, embedded, and retrieved for chat answers.
Diagram confidence: explicit (topology described by the source).
flowchart LR administrator-crawler-configuration["Administrator crawler configuration"] --> crawler-tasks["Crawler tasks"] crawler-tasks --> s3-document-store["S3 document store"] s3-document-store --> document-processing-lambda["Document processing Lambda"] document-processing-lambda --> bedrock-models["Bedrock models"] document-processing-lambda --> aurora-vector-store["Aurora vector store"] document-processing-lambda --> dynamodb-metadata["DynamoDB metadata"] aurora-vector-store --> pdiq-chat-assistant["PDIQ chat assistant"] pdiq-chat-assistant --> zero-trust-access-layer["Zero-trust access layer"]
Components
| Component | Role | Interacts with |
|---|---|---|
Administrator crawler configuration |
Configures knowledge bases, crawler settings, credentials, and schedules. | Crawler tasks |
Crawler tasks |
Extract content from Confluence, Azure DevOps, SharePoint, and other sources. | S3 document store |
S3 document store |
Stores source documents and triggers downstream processing on object changes. | Document processing Lambda |
Document processing Lambda |
Chunks, summarizes, captions images, and generates embeddings. | Bedrock models, Aurora vector store, DynamoDB metadata |
Bedrock models |
Generate captions, summaries, embeddings, and responses. | Document processing Lambda |
Aurora vector store |
Stores vector embeddings and text/metadata for similarity search. | PDIQ chat assistant |
DynamoDB metadata |
Stores crawler configuration, image metadata, and captions for reuse. | Document processing Lambda |
PDIQ chat assistant |
End-user interface for role-appropriate knowledge search and answers. | Zero-trust access layer |
Zero-trust access layer |
Validates permissions and group context before users query datasets. | — |
Data flow
Administrators configure crawlers; Lambda invokes ECS crawler tasks; source documents land in S3; object events trigger chunking, image captioning, summary generation, and embeddings; Aurora stores vectors; users query role-appropriate knowledge bases; Nova Pro retrieves relevant content and generates responses.
Why this architecture
PDI chose a custom AWS RAG architecture to make scattered enterprise knowledge searchable while preserving metadata, image context, source synchronization, role-based access, and serverless scale.
Models used: Amazon Bedrock · Amazon Titan Text Embeddings V2 · Amazon Nova Pro · Aurora PostgreSQL · AWS Lambda · Amazon ECS · DynamoDB · S3
Scale
- PDI is described as having 40 years of industry experience.“With 40 years of experience, PDI Technologies assists customers in all aspects of their business”article, stated
- PDIQ's summary-in-chunks design increased approval rate for accuracy from 60% to 79%.“resulting in an increase of approval rate for accuracy from 60% to 79%.”article, stated
- PDI uses Amazon Nova Pro to retrieve the most relevant document and generate a response.“PDI uses Amazon Nova Pro to retrieve the most relevant document and generates a response”article, stated
Alternatives considered (roads not taken)
Use generic document chunks without whole-document summaries.
Rejected because: PDI found summaries atop chunks improve the context available to the LLM.
Ignore image content in source documents.
Rejected because: PDI injects generated image captions into markdown to make images searchable.
Require one crawler design for all sources.
Rejected because: Separate crawler configurations allow source-specific extraction and extensibility.
Patterns
rag-retrieval (retrieval)
PDIQ embeds documents and retrieves relevant content for grounded chat answers.
privacy-preserving-processing (governance)
Zero-trust RBAC and encrypted crawler credentials constrain which knowledge bases users can query.
semantic-caching (optimization)
PDI reuses generated image captions to avoid repeated LLM calls for the same images.
Tradeoffs
Build a custom RAG pipeline on AWS.
Chose Serverless crawlers, S3, Lambda/ECS, Bedrock, Aurora, and DynamoDB. over A simple off-the-shelf chat over documents..
Rationale: PDI needed source-specific crawling, image captioning, dynamic token management, security, and sync.
Use serverless architecture.
Chose AWS serverless services that scale with demand. over Always-on custom infrastructure..
Rationale: The article ties serverless to automatic scaling, lower overhead, and cost optimization.
Gotchas (what bit them)
Images disappear from search if only text chunks are embedded.
Root cause: Markdown conversion can replace images with references unless captions are injected.
Resolution: Generate captions and inject them into markdown next to image tags.
Source synchronization needs deletes and updates, not just adds.
Root cause: Enterprise documents change or disappear after initial ingestion.
Resolution: Compare hashes for updates and trigger cleanup jobs for deleted source objects.
Chunk-only context can be insufficient for accurate answers.
Root cause: The matched chunk may not contain enough whole-document context.
Resolution: Add customized summary sections atop chunks for LLM context.
Evaluation
PDI evaluates through approval-rate accuracy, support resolution, customer satisfaction, NPS, cost reduction, token management, and retrieval quality.
Metrics: Accuracy approval rate 60% to 79% · CSAT · NPS · Resolution rates · Cost reduction · Token balance between summaries and content
Outcomes
- PDIQ improved the accuracy approval rate from 60% to 79%.
- The assistant helps support teams resolve customer queries faster.
- The platform improves customer satisfaction, NPS, productivity, and cost efficiency according to the article.
PDIQ is designed for enterprise-wide internal knowledge and serverless scale, with source crawlers across Confluence, Azure DevOps, SharePoint, and other systems.