Intent-Based Product Recommendations — AI Semantic Product Search
Keyword search fails the moment a shopper says “something for Diwali gifting under ₹1000.” Dropdowns fail the moment a shopper doesn't know what to filter by. Pipecat reads the intent — occasion, budget, style, material — and returns the products that actually match.
Not pattern matching. Not rules. Structured intent extraction + semantic vector search on your full product catalog.
₹1,599/mo · No credit card required to start
The difference
What keyword search misses.
Keyword / filter search
- "something for Diwali gifting"No keyword match — 0 results, or everything
- "blue sarees for a wedding"Matches "blue" and "saree" literally — misses occasion context
- "under 2000 handmade earrings"May work if price filter exists, fails on 'handmade'
- "gift for mom who likes gardening"No results — search doesn't understand relationships
Pipecat intent extraction
- "something for Diwali gifting"occasion=diwali → semantic search on festive/gift catalog
- "blue sarees for a wedding"occasion=wedding, type=saree, keyword=blue → ranked by vector similarity
- "under 2000 handmade earrings"max_price=2000, material=handmade, type=earring → filtered + semantic
- "gift for mom who likes gardening"keyword=gardening, gender=female → semantic expansion across catalog
What the AI reads
8 intent signals, extracted from natural language.
Every query is parsed by AI into structured filters. These signals are then used to narrow your product catalog before semantic similarity ranking.
Occasion
occasion
The event or purpose driving the purchase. Extracted from phrases like 'Diwali', 'birthday', 'office party', 'anniversary gift', 'casual wear'.
"for Diwali" → occasion=diwali
"anniversary gift" → occasion=anniversary
Price range
price_min / price_max
Budget signals extracted from natural language. Both a floor and ceiling can be captured from a single query.
"under ₹2000" → max_price=2000
"between 500 and 1500" → min_price=500, max_price=1500
Style
style
Aesthetic or design preferences — modern, traditional, minimalist, bold, elegant, casual, ethnic.
"something elegant" → style=elegant
"traditional look" → style=traditional
Material
material
Fabric, finish, or craft type. Especially relevant for apparel, jewellery, and home goods.
"handmade" → material=handmade
"pure cotton" → material=cotton
Product type
type
The category of product being sought — saree, kurta, earring, bag, lamp, etc.
"sarees" → type=saree
"earrings" → type=earring
Gender
gender
For whom the product is intended. Extracted from phrasing like 'for my sister', 'men's', 'women's', 'kids'.
"for my sister" → gender=female
"men's kurta" → gender=male
Age
age
Age group signals — teen, adult, elder, kids, baby — useful for clothing, gifts, and accessories.
"for a toddler" → age=toddler
"elderly mother" → age=elder
Keyword
keyword
Explicit product descriptors that don't fit other fields. Used as a soft filter in semantic search.
"blue" → keyword=blue
"floral print" → keyword=floral
See it in action
Real queries, real extraction.
How Pipecat turns a shopper's natural language into structured filters, then into product recommendations.
Shopper says
“something for Diwali gifting under ₹1000”
Extracted intent
Semantic search on the filtered catalog — returns festive, gift-appropriate products priced below ₹1000.
Shopper says
“blue sarees for a wedding”
Extracted intent
Filters to sarees, applies blue as a soft keyword, ranks by semantic similarity to 'wedding' context.
Shopper says
“handmade earrings under ₹2000 for my sister”
Extracted intent
Filters to handmade earrings ≤₹2000, semantic search within that filtered set, ranked for gifting to a woman.
Shopper says
“something traditional but not too heavy for office”
Extracted intent
Style filter + keyword expansion — returns traditional pieces with lightweight/formal attributes via semantic scoring.
Under the hood
How the pipeline works.
Four stages — each grounded in the actual backend implementation.
AI extracts structured intent
The shopper's raw query is sent to an AI model, which returns structured JSON: occasion, price range, style, material, product type, gender, age, and keyword. This happens on every query.
Catalog is filtered by intent fields
Extracted fields are used to filter the indexed product catalog. A query for 'sarees under ₹2000' filters to products of type 'saree' with price ≤2000 before any semantic ranking.
Semantic embeddings + cosine similarity
The filtered candidate set is ranked using vector embeddings. Cosine similarity scores each product against the shopper's query. Closest matches rank first.
LLM composes a natural language response
The top-ranked products are passed to an LLM, which writes a natural, helpful response: product names, key attributes, prices, and links. Not a list dump — a real recommendation.
Shopper always gets results
Smart fallback — no dead ends.
Narrow intent can produce narrow results. Pipecat automatically widens the search before the shopper ever sees an empty response.
Full intent filter
All extracted fields applied. Semantic ranking within filtered set. If 5 or more results — done.
Keyword filter removed
If Stage 1 returns fewer than 5 results, the keyword filter is dropped and the search retries with the remaining filters. If 3 or more results — done.
Pure semantic fallback
If Stage 2 still returns fewer than 3 results, all filters are dropped and the full catalog is searched by semantic similarity to the original query alone.
Works everywhere
Intent recommendations work on all stores.
Unlike cart and checkout (which require the Shopify Storefront API), intent extraction and semantic product recommendations work on Shopify, WooCommerce, and any storefront Pipecat has indexed.
Shopify
- Intent extraction
- Semantic product search
- Product recommendations
- Add to cart from chat
- Checkout handoff
Full feature set including cart and checkout
WooCommerce & other storefronts
- Intent extraction
- Semantic product search
- Product recommendations
Cart and checkout from chat are Shopify-only
Questions
Frequently asked questions.
What intent signals does Pipecat extract from shopper queries?+
Pipecat's AI extracts: occasion (wedding, Diwali, birthday), price range (min and max), style (elegant, casual, traditional), material (handmade, cotton, silk), product type (saree, kurta, earring), gender, age, and keyword. These become structured filters for the product search.
How is this different from keyword search?+
Keyword search matches text strings. Pipecat understands meaning. "Something elegant for a wedding under ₹3000" returns nothing in keyword search — but Pipecat extracts occasion=wedding, max_price=3000, style=elegant, and finds relevant products through semantic similarity, not string matching.
What models power intent extraction and semantic search?+
Intent extraction (parsing natural language into structured fields) is handled by an AI model. Vector embeddings for semantic similarity are generated using a dedicated embedding model. Cosine similarity ranks the candidates. The final response is written by an LLM using the top results.
What happens if no products match the shopper's filters?+
Pipecat has a three-stage fallback. If filtered results return fewer than 5 products, the keyword filter is dropped and the search retries. If still fewer than 3, the system falls back to pure semantic search across the full catalog. Shoppers never see a dead end.
Does intent search work on WooCommerce?+
Yes. Intent extraction and semantic recommendations work on all stores Pipecat has indexed — Shopify, WooCommerce, or any product catalog. Cart and checkout are Shopify-only, but recommendations are universal.
Can it handle Indian occasion and language context?+
Yes. The AI understands Indian occasions (Diwali, Holi, Navratri, Eid, wedding seasons), price ranges in Indian Rupees, and product categories common in Indian retail like sarees, kurtas, and ethnic jewellery.
Your shoppers shouldn't have to filter. They should just have to ask.
Give every visitor an AI that reads intent, searches your catalog semantically, and recommends the right product every time. ₹1,599/mo, live in under two minutes.
Connect your store