Retrieval-augmented, cited, free

Wine Sommelier RAG

Ask for a wine in plain English and get real recommendations, cited to professional reviews — drawn from a local index of ~130,000 Wine Enthusiast tastings. No invented bottles, no made-up scores.

By Jeremy Lee · WSET Level 3

You
A bold, full-bodied red for a steak dinner — not too expensive.
Somm
For a wine to stand up to steak you want power and dark tannins. Mouchão 2007, Alentejano — 95 pts, $36 [4]: dense and concentrated with big dark fruit and a rustic grip that loves charred, fatty beef. Great value for this level of heft.

Why RAG?

Wine search is either rigid keyword filters — useless for "something like a Rhône but cheaper" — or a chatbot that confidently invents vintages, scores and prices. Retrieval-augmented generation gets the best of both: a semantic index retrieves the most relevant real reviews, then Claude recommends only from what was retrieved, citing every pick. If nothing truly fits, it says so.

🍷

130k real reviews

Grounded in the Wine Enthusiast corpus — actual tasting notes, scores, prices and regions.

🔎

Grounded & cited

Every recommendation carries a [n] citation back to the review it came from. No hallucinated bottles.

🆓

Free & local

Embeddings and vector search run on your machine with sentence-transformers + Chroma — no API key, no data leaves your laptop.

🎚️

Filters that compose

Layer price, country, grape and minimum score onto any natural-language request.

How it works

  1. Your request is embedded locally and matched against the review index (cosine similarity in Chroma).
  2. Candidates are filtered by any price / country / variety / score constraints, then reranked by relevance × rating.
  3. The top reviews become context; Claude recommends 2–3 wines, citing each one.
  4. You see the answer plus the exact reviews it was built from.
Under the hood: generation runs on the Claude CLI by default (uses your Claude subscription, no per-token cost); set ANTHROPIC_API_KEY to use the API instead. Retrieval is always local and free.
Get it on GitHub Read the setup guide