Bobbette — Quote chatbot

A conversational assistant that structures quote requests, suggests pricing and gets commercial teams moving right away.

Conversational commerce
Azure OpenAI
Retrieval pipelines
RBAC & governance

Role & scope

I led the project from discovery through to a production-ready architecture. The focus was on connecting product catalogues, CRM and the pricing engine so the chatbot delivers context-rich answers and takes work off sales teams' hands.

  • Discovery workshops to sharpen use cases, data structures and risks.
  • RAG pipeline with chunking, enrichment and ranking based on up-to-date product data.
  • Azure OpenAI with guardrails, an eval harness and observability to safeguard quality.
  • RBAC and an audit trail so commercial and legal teams can collaborate compliantly.
View live demo

Impact

  • Quote turnaround time cut from days to hours through automatic summarisation and task routing.
  • Higher conversion through consistent follow-up and the suggestion of cross/upsell alternatives.
  • A monitoring dashboard provides real-time insight into quality, usage and future optimisations.

Architectuur

De architectuur draait op Azure OpenAI (GPT-4o), geïntegreerd achter Azure API Management en binnen dezelfde Azure-tenant als de klant — er verlaat dus geen data de bestaande Microsoft-omgeving. Retrieval loopt via Azure AI Search, met een hybride aanpak die vector- en keywordsearch combineert over de productcatalogus. Chunking gebeurt per productkaart in plaats van in vaste tokenblokken, wat nauwkeuriger ophalen van prijs- en configuratieregels oplevert. Een nachtelijke synchronisatiepijplijn vanuit CRM/PIM naar de index zorgt ervoor dat prijzen en productinformatie nooit ouder zijn dan 24 uur. Toegang loopt via rollen in Entra ID-groepen: verkoop ziet alleen eigen accounts, en of offertes automatisch verstuurd mogen worden hangt af van de rol.

Modelkeuze

GPT-4o via Azure OpenAI bleek voordeliger dan een zelf gehost open-source model. Bij dit volume wogen de kosten van eigen GPU's niet op tegen de per-token prijsstelling, en function calling voor gestructureerde prijsvoorstellen werkte betrouwbaarder dan bij de destijds beschikbare open-source alternatieven. Prijsberekening zelf loopt niet via het model, maar via een deterministische lookup — het model stelt voor, rekent niet.

Kosten & latency

  • Modelkosten: indicatief €0,03–0,05 per offerteaanvraag, bij ± 600 aanvragen/maand grofweg €20–30/maand aan tokenkosten.
  • Azure AI Search draait op de kleinste Standard-tier die hybride search ondersteunt.
  • Latency: eerste token doorgaans binnen 900ms (streaming), volledige respons inclusief retrieval p95 rond 2,8s.

Lessons learned

De eerste versie chunkte op vaste tokenblokken van 500 — dat gaf matige precisie, omdat prijsregels en productvarianten soms over de randen van die blokken heen versnipperd raakten. Overschakelen naar semantische chunking per productkaart loste dat op. Daarnaast bleek het model zonder guardrails af en toe prijzen te "verzinnen" bij onvolledige input; opgelost door de prijsbepaling volledig buiten het model te leggen (deterministische lookup, het model doet alleen een voorstel).

Concept — cijfers ter illustratie, nog te verifiëren tegen het daadwerkelijke project vóór publicatie.