Customer service is the brand’s image. When a customer asks about caring for their leather jacket, they deserve a precise and instant answer. Here’s how AI helps us achieve that.
The Challenge
- 50,000 tickets per month
- 10 years of scattered product documentation
- 47 countries with their specificities
- 4 main languages to support
The RAG Approach
RAG (Retrieval-Augmented Generation) combines the best of both worlds:
- Retrieval: Search for relevant documents in our database
- Augmented: Enrich the prompt with this context
- Generation: The LLM generates a personalized response
def answer_customer_query(query: str, customer_context: dict) -> str:
# 1. Embed the query
query_embedding = embed(query)
# 2. Search relevant documents
relevant_docs = vector_store.search(
query_embedding,
filters={
"product_category": customer_context.get("last_purchase_category"),
"language": customer_context.get("language")
},
top_k=5
)
# 3. Generate response
return llm.generate(
prompt=CUSTOMER_SERVICE_PROMPT,
context=relevant_docs,
query=query,
tone="zadig_voice"
)
The Tech Stack
- Embeddings: OpenAI text-embedding-3-large
- Vector Store: Pinecone (serverless)
- LLM: Claude 3.5 Sonnet (via API)
- Orchestration: LangChain
- Monitoring: LangSmith
Indexing 10 Years of Content
The biggest challenge: structuring a decade of:
- Product sheets (12,000+)
- Care guides
- Country-specific FAQs
- Collection history
- Return policies (which change often)
We created an ingestion pipeline that:
- Parses PDFs, Notion, Confluence, Google Docs
- Chunks intelligently (respecting sections)
- Enriches with metadata (season, category, country)
- Embeds and indexes in Pinecone
Prompt Engineering
The Zadig&Voltaire tone matters. Our system prompt:
You are Zadig&Voltaire's customer service assistant.
Your style:
- Warm but not overly familiar
- Expert but not condescending
- Rock chic, never stuffy
- Use formal "you" by default
Rules:
- Always cite the source of information
- If unsure, offer to transfer to a human
- Never make up policies or prices
Results
After 6 months in production:
- 80% of tickets resolved automatically
- NPS customer service: +12 points
- Average response time: 8 seconds (vs 4 hours before)
- Cost per ticket: -65%
When AI Hands Off
The AI knows its limits:
- Refund requests (human decision)
- Serious complaints (human empathy required)
- Questions about current orders (real-time data)
- Legal or dispute cases
Next Steps
- Voice: Integrate with phone via speech-to-text
- Proactive: Anticipate post-purchase questions
- Multimodal: Analyze photos of damaged products