Case studyRetail & Fashion · PLMIn productionRAG & augmented search

RAG Centric PLM

A conversational AI assistant for the Centric PLM knowledge base, integrated directly into Microsoft Teams

Discuss a similar project

Réponse courte

RAG Centric PLM is a conversational AI assistant developed by Digit-AI that turns roughly 1,400 Centric PLM technical documentation files into a knowledge base searchable in natural language, accessible from Microsoft Teams. Retail/fashion consultants and project managers ask their questions and get a sourced answer in seconds, with citations to back it up. The RAG pipeline chains a router (Claude Haiku 4.5) that selects which collections to query, a hybrid retrieval (Qdrant, cosine + BM25, ~54,800 chunks across 5 collections) followed by a cross-encoder reranker, then a generation step (Claude Sonnet 4.6) that writes the answer with source citations. The application is in production on Azure (francecentral region), with incremental ingestion from SharePoint and Confluence, versioned backup and auto-healing.

Context

The client context

Centric PLM consultants spend a considerable amount of time searching for information across rich but scattered documentation

Retail/fashion consultants and project managers deploying Centric PLM juggle very dense, scattered documentation: administration guides, expression examples, integration scripts, client reports. Finding the right answer could take several hours. RAG Centric PLM makes this knowledge base searchable in natural language and answers in seconds, with source citations.

!

Scattered documentation

Administration guides, expression examples, integration scripts, client reports… spread across several media.

!

High search time

A precise question could require several hours of manual digging before getting a reliable answer.

!

Multi-client, multi-format

Client-specific configurations (Site.xml, Site.js, slicers, expressions), integration scripts in SQL/CSV/XML.

!

Evolving knowledge

The base grows every week: new training, client feedback, Centric product updates.

Functional scope

Consultants and project managers deploying Centric PLM in retail and fashion. Covered processes: natural-language querying from Teams, sourced answers, exploration via a web interface, incremental ingestion of the sources and continuous quality evaluation.

Key constraints

Sovereign hosting in the francecentral region · Answers systematically sourced and auditable · An evolving base synchronized automatically · Security (prompt-injection defenses, centralized secrets, non-root containers) · High availability with backup and auto-healing.

Objectives

What RAG Centric PLM solves

Three areas to make Centric PLM knowledge instantly accessible and reliable

Reduce search time

Go from hours of manual digging to a few seconds for a precise answer, directly in Teams.

KPI: hours → secondsKPI: a single entry point (Teams)

Reliable, sourced answers

Every answer cites its sources (file, collection, score) and relies on low-temperature generation for factual rigor.

KPI: 100% sourcedKPI: auditable answers

An always-current base

Incremental ingestion from SharePoint and Confluence to continuously reflect evolving knowledge, with no manual reindexing.

KPI: daily/weekly syncKPI: delta ingestion
Features

What RAG Centric PLM enables

Beyond the conversational chat, an application designed to fit into everyday tools and evolve continuously

💬

Conversational bot in Teams

Ask a question in a channel or direct chat and get an answer in seconds, without switching tools. Native Teams SSO authentication.

📎

Sourced answers

Every answer cites the chunks used (file name, client, collection, relevance score) so you can trace back to the source document.

🌐

Streamlit web interface

For advanced uses: collection exploration, ingestion statistics, replay of an evaluation over a set of questions.

🔄

Incremental ingestion

Daily SharePoint sync (delta query) and weekly Confluence sync (CBFR + CKB spaces): only new or modified files are reprocessed.

🛡️

Versioned backup

Daily Qdrant snapshot to Azure Blob, versioning by date and GFS retention (7 days / 4 weeks / 6 months), with point-in-time restore.

🧪

Continuous evaluation

A set of 39 evaluation questions replayable on every release, with side-by-side comparison and auto-classification (complete / partial / refusal).

Stack

Tech stack

A modern, largely open-source stack deployed on Azure Container Apps in the francecentral region for data sovereignty

Language & API

Python 3.11FastAPIStreamlit

Vector & embeddings

Qdrant 1.12sentence-transformers (E5-large)BAAI bge-reranker-v2

Artificial intelligence

Claude Haiku 4.5Claude Sonnet 4.6 (Anthropic)

Integrations

Microsoft Bot FrameworkSharePoint (Graph API)Confluence Cloud

Infrastructure

Docker · GHCRAzure Container AppsAzure Blob Storage

CI/CD & secrets

GitHub ActionsDoppler

Distinctive pattern — A 3-stage routed RAG pipeline: rather than naive vector search, the pipeline chains a router (Claude Haiku) that targets the right collections, a hybrid retrieval (cosine + BM25) followed by a cross-encoder reranker, then a generation step (Claude Sonnet, temperature 0.1) that writes a sourced answer protected against prompt injection. The result: precise, traceable and reliable answers over a base of ~54,800 chunks.

Architecture

Architecture diagrams

Sources synchronized into Qdrant, a three-stage RAG pipeline, and dual access via Teams + a web interface — all on Azure francecentral

Knowledge sources

SharePoint Online

Centric drive · daily delta (Graph API)

Confluence Cloud

CBFR + CKB spaces · weekly

Incremental ingestion

Chunking + E5-large embeddings

Only new/modified files

Vector store

Qdrant 1.12

~54,800 chunks · 5 collections · cosine + BM25

RAG pipeline

Router (Claude Haiku 4.5)

Retrieval + reranker

Generation (Claude Sonnet 4.6)

User access

Microsoft Teams bot

Native SSO · sourced answers

Streamlit web interface

Exploration, stats, evaluation

Platform (Azure francecentral)

Container Apps · Blob GFS backup · Doppler

Sovereign hosting

Results

Impact and qualitative gains

The service is in production: here is how the consultant experience has evolved

~54,800
Vectorized chunks
Spread across 5 collections
5
Specialized collections
Configuration · integration · functional · reference · confluence
2
Synchronized sources
SharePoint (daily) + Confluence (weekly)
24/7
Teams availability
Daily backup + GFS retention
IndicatorBeforeWith RAG Centric PLMGain
Time to find a precise technical answerSeveral hours, sometimes several daysA few seconds to a few minutesDrastically reduced
Access to documentationMany tools (drives, wikis, emails)A single entry point: a Teams chatCentralized
Answer traceabilityHard (from memory or screenshots)Every answer cites its sourcesAuditable
Knowledge-base updatesManual, occasional indexingDaily SharePoint + weekly Confluence syncAutomated
Data securityDocuments shared by email, attachmentsAzure francecentral hosting, anti-injectionHardened

Security & operations

🇪🇺

Sovereign hosting

All services in the francecentral region (Paris) on Azure. Internal ingress between services, external ingress limited to the API and the web app.

🔐

Centralized secrets

Managed via Doppler, then injected as referenced secrets in the Container Apps. No plaintext keys, with bandit / gitleaks / hadolint audits.

🧱

Prompt-injection defenses

The system prompt guards against user prompt injection. A secret-redaction filter on logs, and containers running as a non-root user.

♻️

Backup & restore

Daily Qdrant snapshot to Azure Blob, versioned copy with GFS rotation and one-command point-in-time restore.

🚦

Auto-healing

A sentinel job runs every 15 minutes: if a Qdrant collection is empty while a backup exists, it restores automatically.

⚙️

GitOps CI/CD

A push to main triggers the build of the 5 Docker images via GitHub Actions, the push to GHCR and the Container Apps deployment.

Examples

Sample questions handled

A few real questions asked of the application (excerpt from the internal evaluation set), illustrating the diversity of topics covered

Q

How do you set up a watchAttribute in Centric PLM?

A

The watchAttribute JavaScript API is configured in Site.js to trigger an action when a user changes an attribute value on a node. Several patterns exist (same node, target node, multiple nodes via changeList).

Sources: 5 chunks from the configuration and reference collections (Centric Configuration Training, AAT-AdvancedAttributeConfiguration).

Q

What is the difference between list, map and vector attributes?

A

The answer summarizes the three structures, their typical use case in Centric configuration, and points to the corresponding Site.xml examples for each attribute type.

Sources: Chunks from configuration, Centric training and client integration examples.

Q

What are the main steps of a PLM version-upgrade project?

A

The application lists the typical sequence (preparation, pre-prod, acceptance, prod), with the points to watch per module and references to the Centric release notes.

Sources: Reference chunks, Centric v7.4 release notes, project sheets.

Let's start by talking it through

No aggressive sales pitch. No 12-step form. Just 30 minutes to understand your situation and see if we can help. First conversation free, no strings attached.