You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.5 KiB
2.5 KiB
| title | status | type | priority | created_at | updated_at | blocked_by | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| vector-db | completed | epic | normal | 2026-03-10T23:30:02Z | 2026-03-10T23:30:04Z |
|
Project: Vector Database Self-Guided Course
This is the top-level project ticket for edu/src/vector-db.md — a self-guided mdbook course on vector databases in the Vibed Learning site (edu/).
The course is modelled on edu/src/markov.md. It teaches vector databases through 12 sections across 4 parts, mixing reading lessons and hands-on Rust programming exercises using Turso (libsql crate) and sqlite-vec for local vector storage.
Course structure
| # | Title | Status |
|---|---|---|
| §1 | What Is a Vector? | Written in full |
| §2 | Embeddings | Stub [nbd:584e0c] |
| §3 | Vector Similarity | Stub [nbd:99e1d9] |
| §4 | What Is a Vector Database? | Stub [nbd:d9f850] |
| §5 | Under the Hood: ANN Algorithms | Stub [nbd:6ec5ff] |
| §6 | Setting Up | Written in full |
| §7 | Exercise 1 — Storing and Retrieving Vectors | Stub [nbd:081a55] |
| §8 | Exercise 2 — K-Nearest Neighbor Search | Stub [nbd:5674ce] |
| §9 | Generating Embeddings in Rust | Stub [nbd:4c961f] |
| §10 | Exercise 3 — Semantic Document Search | Stub [nbd:1ef9f4] |
| §11 | Exercise 4 — Recommendation Engine | Stub [nbd:e8be9a] |
| §12 | Exercise 5 — Retrieval-Augmented Generation | Stub [nbd:5ed295] |
Filling a stub
- Open
edu/src/vector-db.md - Find the section (e.g.
### 2. Embeddings) - Replace the stub line (
🚧 Full content tracked in [nbd:...]) with full content - Run
mdbook buildfromedu/— must pass cleanly - Mark the section ticket done
Tech stack used in exercises
- Runtime: Tokio async
- DB crate:
libsql = "0.9"(Turso / libSQL Rust client) - Vector support: sqlite-vec, built into libsql — no extra install
- Embeddings:
fastembedcrate (local) or OpenAI-compatible HTTP API - Local connection:
Builder::new_local("vectors.db").build().await? - Vector column type:
F32_BLOB(d)where d = embedding dimension - KNN query:
vector_top_k('table', vector('[...]'), k)table-valued function - Distance function:
vector_distance_cos(a, b)— 0 = identical, 2 = opposite
This project ticket closes when all 12 section tickets are done and mdbook build passes.