Skip to content

Add Real-World Project: Search and Summarize Your Own Journal - #283

Open
abderrahim-lectures wants to merge 1 commit into
mainfrom
add-journal-search
Open

Add Real-World Project: Search and Summarize Your Own Journal#283
abderrahim-lectures wants to merge 1 commit into
mainfrom
add-journal-search

Conversation

@abderrahim-lectures

Copy link
Copy Markdown
Owner

What's included

  • Lesson: docs/projects/journal-search-summarize/index.md — 5 steps (corpus → local embedding → semantic search → free-tier dated summary with citation audit → end-to-end on sample queries), each with a StepChecklist and Socratic questions; 6-provider table; opencode blurb; Colab/Kaggle/Binder badges; _category_.json at position 26.
  • Example: examples/journal-search-summarize/
    • main.py — CLI: index, search '<query>', summarize START END, --interactive.
    • data/journal/ — 12 committed dated sample entries; data/sample_queries.json — 6 queries with ground-truth notes.
    • notebook.ipynb (12 cells, journal embedded inline, getpass + 6-provider selection), pyproject.toml, uv.lock, .env.example, .gitignore, .python-version, README.md.
  • Registration: first-entry inserts in src/data/projects.ts, docs/projects/index.mdx, src/pages/index.tsx (id journal-search-summarize, tags AI Agents, Retrieval-Augmented Generation).

Verification

  • npm run typecheck — passes.
  • npm run build — passes for all 4 locales (en/ar/es/fr); the only broken-anchor warnings remaining are pre-existing docs-qa-botrag-notes links that exist on main and are untouched here.
  • Example smoke-tested with uv run: main.py --help, index (built a real 12×384 index), search (all 6 sample queries return the expected ground-truth entries), summarize validation paths, and --interactive. Live LLM call not exercised (no API key on the build machine), matching the other LLM examples.

Closes #282

Add a Real-World Project that indexes a folder of dated markdown journal
entries with local embeddings (sentence-transformers + numpy), searches them
semantically, and summarizes a date range with a free-tier LLM that cites the
[YYYY-MM-DD] source behind every claim. Includes a committed 12-entry sample
journal, sample queries with ground truth, a runnable CLI, and a
Colab/Kaggle/Binder notebook; teaches that embeddings + a small LLM beat grep
and reading everything for an unstructured personal corpus, with the same
no-invented-facts audit discipline as the changelog work.

Closes #282

Co-authored-by: deepseek-v4-flash-free <noreply@opencode.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Real-World Project: Search and Summarize Your Own Journal

1 participant