Releases: nikolareljin/local-ai-lab
Releases · nikolareljin/local-ai-lab
0.9.0
Added
- Packaging - a
pyproject.tomlmakeslocalragpip-installable (pip install -e '.[dev]') with
alocalragconsole entry point. The version has a single home (localrag/__init__.py, read
dynamically), and ruff/mypy/pytest config now lives in one place. - OSS governance files -
CONTRIBUTING.md,SECURITY.md,CODE_OF_CONDUCT.md(Contributor
Covenant 2.1), GitHub issue templates (lesson request + bug report) and a pull-request template. PRODUCTION_NOTES.md- an honest checklist of what the teaching demo keeps simple on purpose
(prompt-injection handling → Lesson 4, web-UI auth, comprehensive tests, batch embeddings, logging)
and what you'd harden for real-world use. Linked from the README and CONTRIBUTING.- CI lint + type gate - CI now runs
ruffandmypy(provider HTTP calls type-checked via
types-requests) alongside the tests, plus a few offline smoke tests for the engine retriever cache
and the web/api/statusroute.
Changed
- Docs polish - a one-line learning-outcomes summary above the README curriculum, an FAQ section
on the documentation page, consistent lesson headers across Lessons 1-5 (PDF + interactive-slides
links and a time/prerequisites line), fuller "from demo to production" guidance in Lessons 3 and 4,
and a general update pass over the Markdown files. - Consistent site navigation - every docs page now shows the same top menu (Lessons, Documentation,
Cheat-sheet, Troubleshooting, About, Install), the title tile links home, and PDF-download links
carry a small download glyph.
Fixed
- Embedding vector cache invalidates on embedder change - switching the embed provider or model no
longer silently reuses vectors built by the previous embedder; the cache is tagged with the embedding
signature and rebuilt on mismatch. EmbeddingRetriever.searchguards non-positivek- returns no hits fork <= 0, matching
Bm25Retriever(a negativekpreviously sliced from the end and returned most results).
0.8.0
Changed
- Lesson numbering aligned across the repo. The six planned framework-tour outlines moved from the
repo root intoroadmap/and were renumbered to their curriculum numbers — LangChain3→7,
LangGraph4→8, Ollama5→9, Semantic Kernel6→10, Bedrock7→11, Google ADK8→12. Every
written guide's navigation chain, cross-references, and "next lesson" links now follow the real order
(1 RAG → 2 MCP → 3 Hybrid → 4 Safety → 5 Eval → 6 Repo → 7–12 framework tour), so the live Lessons
3–5 are reachable from the guides instead of being shadowed by the old outlines. - PDF build (
tools/build_lesson_pdfs.py): emitsLESSON7–12.pdffrom theroadmap/sources under
their curriculum numbers, whileLESSON3–5.pdfare now built from the live lesson READMEs; the stale
outline-based PDFs under the old 3–6 numbering were dropped. The builder now auto-discovers
lessons from disk (rootLESSON<n>.md,lessons/<NN>-slug/README.md,roadmap/LESSON<n>-slug.md), so
a new lesson gets a PDF with no edits. - Home page lists every lesson PDF through two dropdowns (Lessons 1–5, Roadmap 7–12) instead of a
single Lesson-1 link.
Added
roadmap/README.md: an index of the planned-lesson outlines that points back to where the live
lessons live.- Educator positioning — a README "About the author" + "What you'll be able to do" section, a
"Who's teaching this" section on the site home, an "About the author" section ondocs/about.html,
and a newSYLLABUS.md(clusters, per-lesson learning objectives, prerequisites matrix, and time
estimates). - Printable PDFs for the live Lessons 3–5 (built from each lesson's
README.md) —docs/pdf/now
covers Lessons 1–5 and 7–12. - Auto-generated README "Lessons & downloads" table via
tools/sync-readme-downloads.py, listing
every lesson's Markdown guide and PDF plus the guide PDFs;--checkmode fails CI when it's stale. - Cookieless usage analytics (
docs/assets/analytics.js): privacy-friendly GoatCounter that loads
on the production site only, over HTTPS, scoped to the/local-ai-lab/path, with queued early events
and lightweight click/slide tracking. Wired into everydocs/*.htmlpage. - AI-for-developers cheat-sheet — a printable
docs/pdf/CHEATSHEET.pdfplus a nav link in the
generated lesson pages; the About page now links the related NikOS and leak-lock projects.
Fixed
- Hardened the PDF asset resolver (
tools/build_lesson_pdfs.py):_resolve_assetnow rejects
remote URIs and out-of-tree absolute paths, so the build can't pull in assets outside the repo.
0.7.1
Added
- Documentation page (
docs/documentation.html): a single project-wide reference covering install,
run, test, experiment, and how everything works — with first-class Windows (PowerShell/cmd)
coverage using plain toolchain commands. Linked from the site nav (all pages) and the landing CTA. - Automated releases (
.github/workflows/release.yml): merging arelease/X.Y.Zbranch tomain
(which bumpsCHANGELOG.md) creates the annotated tag and a GitHub Release with the changelog notes.
Changed
- Concise README: trimmed from ~300 to ~110 lines. Keeps the pitch, badges, 60-second quickstart,
and the curriculum table (lesson + PDF links); the detailed./runreference, provider table, RAG
internals, and repository-layout tree now live on the Documentation page.