Building a Centralized AI-Powered Developer Support System Using RAG

adobe · Tech · 2025 · source Agentic: no · promotional bias: med · source-backed · extracted with prompt 0.5.4 (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 developer support search

Adobe developers needed a centralized way to find answers across wiki pages, software guidelines, troubleshooting guides, and other internal support content without spending time searching across fragmented sources.

Constraints:

Architecture

Adobe built Unified Support using Amazon Bedrock Knowledge Bases and OpenSearch Serverless vector search. Content is ingested from S3, chunked, embedded with Amazon Titan V2 into 1,024-dimensional vectors, indexed with metadata, retrieved with the same embedding model at query time, filtered by metadata for multi-tenancy, ranked by semantic similarity, and evaluated with document relevance and MRR.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  internal-knowledge-sources[Internal knowledge sources] --> s3-ingestion[S3 ingestion]
  s3-ingestion --> bedrock-knowledge-bases[Bedrock Knowledge Bases]
  developer-query[Developer query] --> bedrock-knowledge-bases
  bedrock-knowledge-bases --> opensearch-vector-engine[OpenSearch vector engine]
  opensearch-vector-engine --> metadata-filter[Metadata filter]
  metadata-filter --> ranked-answer[Ranked answer]
  ranked-answer --> evaluation-framework[Evaluation framework]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Internal knowledge sources Wiki pages, software guidelines, troubleshooting guides, and past issue resolutions. S3 ingestion
S3 ingestion Stores source data files and metadata files for indexing. Internal knowledge sources, Bedrock Knowledge Bases
Bedrock Knowledge Bases Managed RAG index for chunking, embedding, retrieval, and query embedding. S3 ingestion, OpenSearch vector engine, Developer query
OpenSearch vector engine Vector database storing chunk embeddings and metadata. Bedrock Knowledge Bases, Metadata filter
Metadata filter Narrows retrieval to relevant domains, years, or content types. OpenSearch vector engine, Ranked answer
Developer query Question from an internal developer seeking support. Bedrock Knowledge Bases
Ranked answer Top-ranked information presented to the developer. Metadata filter, Evaluation framework
Evaluation framework Document relevance and MRR measurements against ground-truth data. Ranked answer

Data flow

Source files and metadata are loaded from S3. Bedrock Knowledge Bases chunks and vectorizes the data with Amazon Titan V2, stores vectors in OpenSearch Serverless, embeds developer questions with the same model, retrieves and ranks relevant chunks, and presents top-ranked support information to the developer.

3 supporting quotes
“* Data ingestion – We start by pulling data from Amazon Simple Storage Service (Amazon S3) buckets.”article, stated
“Each chunk is passed through an embedding model (in this case, Amazon Titan V2 on Amazon Bedrock) creating a 1,024-dimension numerical vector.”article, implied
“* Similarity search and retrieval – The system retrieves the most relevant chunks in the vector database based on similarity scores to the query.”article, stated

Why this architecture

A managed RAG stack let Adobe improve retrieval precision while keeping ingestion, chunking, vectorization, metadata filtering, and evaluation configurable. Metadata filtering matters because developer support questions span domains and need narrower retrieval than plain semantic similarity alone.

3 supporting quotes
“Metadata filtering empowers developers to retrieve not just semantically relevant information, but a well-defined subset of that information based on specific criteria.”article, stated
“Among the approaches tested, the fixed-size 400-token strategy—shown in blue—proved to be the simplest and most effective, consistently yielding the highest accuracy across different retrieval sizes.”article, stated
“This improvement not only enhanced the developer experience but also contributed to reduced support costs. In this post, we discuss the details of this solution and how Adobe enhances their developer productivity.”article, implied

Models used: Amazon Titan V2 embedding model · large language model judge

Scale

Alternatives considered (roads not taken)

Use the initial prototype unchanged

Rejected because: The prototype exposed scale, onboarding, synchronization, and infrastructure-efficiency gaps.

“This early phase highlighted key areas requiring further development to operate effectively at Adobe’s scale, including addressing scalability needs, simplifying resource onboarding, improving content synchronization mechanisms, and optimizing infrastructure efficiency.”article, stated

Rely on semantic similarity without metadata filtering

Rejected because: Developers need a limited relevant subset when questions span multiple domains.

“This powerful tool enables you to apply filters to your retrievals, helping developers narrow the search results to a limited set of documents based on the filter, thereby improving the relevancy of the search.”article, stated

Use more complex chunking by default

Rejected because: Fixed-size 400-token chunks proved simplest and most effective in their experiments.

“Among the approaches tested, the fixed-size 400-token strategy—shown in blue—proved to be the simplest and most effective, consistently yielding the highest accuracy across different retrieval sizes.”article, stated

Patterns

rag-retrieval (retrieval)

Unified Support uses Bedrock Knowledge Bases and vector retrieval over internal developer documents.

“This solution dramatically improved their developer support system, resulting in a 20% increase in retrieval accuracy.”article, stated

retrieval-ranking (retrieval)

Retrieved documents are ranked by semantic similarity and evaluated with MRR.

“the top-ranked information is presented to the user.”article, stated

llm-as-judge (evaluation)

Document relevance uses an LLM as an impartial judge for retrieved chunks.

“This metric uses a large language model (LLM) as an impartial judge to compare retrieved chunks against user queries.”article, stated

eval-driven-development (evaluation)

Chunking and retrieval choices were compared against ground-truth data using document relevance and MRR.

“We evaluated retrieval performance against Adobe’s ground truth data”article, stated

Tradeoffs

Chunking strategy

Chose fixed-size 400-token chunks over larger fixed, semantic, or hierarchical chunks for this use case.

Rationale: It was the simplest and consistently highest-accuracy option in Adobe's tests.

“fixed-size 400-token strategy—shown in blue—proved to be the simplest and most effective”article, stated

Retrieval scoping

Chose metadata filtering plus vector similarity over unfiltered vector search.

Rationale: Filtering gives developers semantically relevant information within a defined subset.

“not just semantically relevant information, but a well-defined subset of that information based on specific criteria.”article, stated

Gotchas (what bit them)

Raw semantic retrieval is not enough for multi-domain support.

Root cause: Developer questions span CI/CD, project environments, libraries, and other domains.

Resolution: Use metadata files and filtering to narrow retrieval scope.

“Sometimes, our questions even span multiple domains, making it crucial to have a system for retrieving relevant information.”article, stated

Chunking strategy materially changes retrieval quality.

Root cause: Different chunk sizes and hierarchical/semantic approaches change what context is retrieved.

Resolution: Experiment with chunking strategies and evaluate with MRR/document relevance.

“we explored various data chunking strategies to optimize the performance of retrieval.”article, stated

Evaluation

Adobe evaluated retrieval with document relevance, LLM-as-judge scores, MRR, multiple top-k context sizes, and different chunking strategies.

Metrics: 20% retrieval accuracy increase · document relevance score 1-10 · MRR · top-k 1-5 · 400-token chunks with 20% overlap

“Document relevance offers a qualitative approach to assessing retrieval accuracy.”article, implied
“MRR is a more sensitive metric for evaluating the impact of chunking strategies”article, implied

Outcomes

The solution is aimed at thousands of Adobe internal developers and uses 1,024-dimensional embeddings with configurable retrieval top-k from 1 to 5.

“This solution provides a foundation for improved developer support and scalable deployment across Adobe’s teams.”article, stated