Skip to content

Beginners course module 4#2497

Open
manas95826 wants to merge 6 commits into
masterfrom
beginners-course-module-4
Open

Beginners course module 4#2497
manas95826 wants to merge 6 commits into
masterfrom
beginners-course-module-4

Conversation

@manas95826

@manas95826 manas95826 commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

PREVIEW

This PR is still work in progress. Formatting and images will be added soon

Module 1-3 pages don't exist yet, so the syllabus links to them
were 404ing the lychee internal link checker.
@netlify

netlify Bot commented Jul 10, 2026

Copy link
Copy Markdown

Deploy Preview for condescending-goldwasser-91acf0 ready!

Name Link
🔨 Latest commit 2eba2c4
🔍 Latest deploy log https://app.netlify.com/projects/condescending-goldwasser-91acf0/deploys/6a53ae057014b4000919f762
😎 Deploy Preview https://deploy-preview-2497--condescending-goldwasser-91acf0.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@kanungle kanungle added draft do not merge For release on a specified date labels Jul 10, 2026

@kanungle kanungle left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good. I left a few comments, some of which may take effort to address via other modules

## 1. The Layers of the Stack

Every vector search system, from a notebook prototype to a deployment serving millions of queries, is built from the same five layers. When something is slow, wrong, or expensive, the first diagnostic question is always the same: which layer is the problem in?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs a diagram


### Key insight

Every design decision belongs to a layer. "Add a payload index" is an indexing decision. "Switch to a multilingual embedding model" is a knowledge decision. "Move to three nodes" is a distribution decision. Once you sort decisions into layers, intimidating architecture diagrams become checklists.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is nice


### Question 4: What does the retrieval pipeline look like?

*Dense-only? Hybrid? Reranking?*

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reranking is never explained in this course. It should be in Module 2 or 3.


### A Special Case Worth Knowing: Scoping by User or Tenant

One filtering pattern deserves a call-out because you'll meet it in almost any multi-user product: **scoping every query to one user's (or one customer's) data.** The instinct is to create a collection per user. With many users, that becomes thousands or millions of collections, which is operationally unmanageable. The standard pattern instead:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

point to further reading on multitenancy in docs


Design the payload schema before you ingest, driven by one question: what will I need to filter on? Time, geography, identity, permissions, and status flags are the usual suspects. Adding a payload field later is easy. Discovering at query time that you never stored `language` is not.

## 4. The Production RAG Pipeline

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The concept of RAG is never overviewed in this course

@manas95826 manas95826 requested a review from kanungle July 12, 2026 15:16

@kanungle kanungle left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Content here is strong: the five-questions worked example is exactly the judgment-teaching we want, and the filtering section is the best treatment of filtered traversal we have in any course. Fixes before it ships:

  1. The Question 4 code sample crashes. models.Range(gte="2026-07-01T00:00:00Z") throws ValidationError; Range only takes floats. For datetime fields it's models.DatetimeRange(gte="2026-07-01T00:00:00Z"). Please run every snippet in the module before we ship, this is the flagship example.
  2. "retrieving relevant passages from a vector database" (Section 4) → "vector search engine". Hard rule. Same fix in the course _index.md ("No prior experience with Qdrant or vector databases required").
  3. Diagrams are off-palette. layers.png and deployment.png use colors from outside the Qdrant color palette, and the type doesn't match our diagram system. Rebuild both from the Docs/Diagrams Figma component library using the Qdrant palette.
  4. This PR carries _index.md and module-0 files owned by #2492. Please remove them so this PR only adds module-4/ plus its two images; same request going out on every module PR. The syllabus also needs Module 4 and 5 entries in #2492.
  5. Multitenancy is linked to two different URLs (Section 3 vs References). Pick one canonical page, and make all internal links relative paths rather than absolute https://qdrant.tech/....
  6. Ending: if the theme's next-module button renders on the preview, drop the "End of Module 4. Continue to Module 5" sentence; if it doesn't render, that's the bug to fix.
  7. Title Case: "Key Insight" (three occurrences), "Rule of Thumb".

Noting for launch, not blocking: the module video placeholder at the top will need the real video before the course goes live.

One structure question: Essentials splits each day into per-lesson pages with a short _index.md overview; this module is one 296-line page. Was single-page intentional? If not, splitting sections 1–5 into lesson files like essentials/day-4/ gets us per-lesson videos and cleaner sidebar nav.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge For release on a specified date draft

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants