AI product data platform for 500,000 technical products
A PIM, AI enrichment and hybrid search platform around Dynamics 365 Business Central that classifies, describes and makes half a million electrical products searchable.
- products searchable
- ~500K
- ETIM accuracy
- 90.7%
- embedding latency
- 20–50 ms
- challenge
- Product data arrived from the ERP, manufacturer sites and PDF datasheets in inconsistent shape. Every product needed an ETIM classification, a standardized short description and features accurate enough for the webshops to sell from. At this scale, doing it by hand is impossible.
- approach
- A LangGraph workflow enriches each product: Gemini reads the product image, hybrid retrieval over the ETIM standard with Cohere reranking and a Gemini tiebreaker picks the class, and datasheet extraction fills in the features. Durable Functions push the result back into Business Central and keep search dictionaries and embeddings fresh. Search is Elasticsearch 9, fusing BM25 and vector results with RRF on top of a self-hosted BGE-M3 embedding service running on bare metal with OpenVINO INT8. Gemini models are fine-tuned on the platform's own production data through Vertex AI.
- outcome
- Around 500,000 products are indexed and searchable, ETIM classification runs at 90.7% accuracy against a curated 140-product ground truth, and the self-hosted embedding tier answers in 20–50 ms at roughly a tenth of the cost of managed cloud inference. An MCP server and a Copilot Studio agent for web, WhatsApp and SMS are in progress.
- Python
- LangGraph
- FastAPI
- Gemini / Vertex AI
- Cohere Rerank
- BGE-M3 + OpenVINO
- Elasticsearch 9
- .NET 8 Durable Functions
- Azure Container Apps
- Cosmos DB
- Redis
- Go
- MCP