Semantic Search for the Rest of Us with DuckDB
summary
Demonstrates a low‑memory Python pattern to run live semantic search on small servers using LlamaCPP, DuckDB fixed length arrays and SentenceTransformer for dataset builds. Claims LlamaCPP encodes models in ~120 MB versus 1.45 GB with the Python stack, does live encoding in ~150–160 ms, and encodes 20,000 bill summaries in ~26 s on an M4 Pro. Ships a semantic emoji web app and recordedvote.org bill search that run in a few hundred MB on a 2 GB droplet, notes array_cosine_similarity SQL and vss indexing caveats.
AI-written summary · about
chapters (9)
- 0:00Semantic search for emojis
- 1:04Building with open source
- 3:58SentenceTransformer limits
- 5:25LlamaCPP + DuckDB search
- 8:13Live search demo
- 9:36Searching legislative data
- 12:45Model choices and trade-offs
- 14:09Retrieve and rerank
- 15:36Resources and closing
related talks
25mProcessing Biggish Data with DuckDB and Python
30mScaling Outside the Warehouse Using DuckDB and Python
01h 02mAnalytics for not-so-big data with DuckDB
47mGábor Szárnyas | Data Track | Compass AI & Data Summit 2025
45mAnalytics for not so big data with DuckDB
06mDuckDB Applications in Information Retrieval
28mAnalyze data easily with duckdb - and the implications on data architectures
01h 28mBuilding a Semantic Search Engine
