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:

  1. Retrieval: Search for relevant documents in our database
  2. Augmented: Enrich the prompt with this context
  3. 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:

  1. Parses PDFs, Notion, Confluence, Google Docs
  2. Chunks intelligently (respecting sections)
  3. Enriches with metadata (season, category, country)
  4. 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