Skip to content

Add LangChain resume screening cookbook#4

Open
nishithatanukunuri wants to merge 1 commit into
mainfrom
cookbook-langchain-resume
Open

Add LangChain resume screening cookbook#4
nishithatanukunuri wants to merge 1 commit into
mainfrom
cookbook-langchain-resume

Conversation

@nishithatanukunuri
Copy link
Copy Markdown

@nishithatanukunuri nishithatanukunuri commented Jun 5, 2026

Summary

Adds a notebook-style cookbook page that walks a reader through a privacy-aware resume screening pipeline built on the langchain-zerogpu tools. From a single uploaded PDF resume it produces three outputs using three ZeroGPU tools in sequence:

  • ZeroGPUExtractEntitiesTool extracts skills, job titles, companies, and locations into a structured candidate card.
  • ZeroGPURedactPIITool masks names, emails, phones, and addresses into a shareable, GDPR/CCPA-friendly copy.
  • ZeroGPUClassifyZeroShotTool routes the candidate to the right team (engineering, design, sales, operations).

A final section chains all three into one end-to-end screen_resume() function.

The page follows the cookbook skill (emoji section headers, canonical ZeroGPU blurb verbatim in the intro and Highlights, getpass key setup, example-output blocks, 🌟 Highlights recap) and uses claude-code-csv-sanitizer as the structural reference. It mirrors a companion Colab notebook section-for-section.

Changes

  • cookbook/langchain-resume-screening.mdx (new)
  • docs.json: add the page to the Cookbook → Integrations group
  • cookbook/index.mdx: add a cookbook index card

Notes for review

  • Example outputs are illustrative placeholders that match the verified backend response shapes (NER {"entities": {...}}, zero-shot label→score dict, [LABEL] PII placeholders). They will be refilled from a live run.
  • The Colab link is left as an MDX comment placeholder until the notebook is uploaded under hello@zerogpu.ai.
  • The reference link points to the langchain-zerogpu GitHub repo and PyPI (not an internal integrations page). Once the LangChain integration page (PR Add LangChain integration page #3) merges, this could optionally be repointed to /integrations/langchain.

Validation

  • node scripts/normalize-dashes.mjs — clean (no em/en dashes).
  • docs.json parses as valid JSON.
  • mint validate not run locally (mint not installed in this environment); please confirm in CI.

Summary by CodeRabbit

  • Documentation
    • New cookbook recipe: "Screen Resumes with LangChain" demonstrates a complete, privacy-aware resume screening workflow using LangChain and ZeroGPU. The guide covers entity extraction from resumes, PII redaction for anonymization, and zero-shot classification for candidate routing, with working code examples.

Add a cookbook walkthrough that screens a PDF resume with three langchain-zerogpu tools: entity extraction for a candidate card, PII redaction for a shareable copy, and zero-shot classification for team routing. Wire it into the Cookbook Integrations nav and the cookbook index.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 5, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

A new LangChain resume screening cookbook recipe is added to the documentation. The recipe demonstrates a privacy-aware workflow that extracts candidate entities, redacts PII, and classifies resumes using ZeroGPU tools integrated through LangChain. The page is registered in both the homepage card grid and the navigation configuration.

Changes

LangChain Resume Screening Cookbook Recipe

Layer / File(s) Summary
Homepage and navigation integration
cookbook/index.mdx, docs.json
New recipe card is added to the cookbook homepage grid with a link to the resume screening guide, and the navigation configuration is updated to register the page in the "Cookbook" → "Integrations" section.
Complete recipe guide with setup and tool demonstrations
cookbook/langchain-resume-screening.mdx
Comprehensive guide introduces a privacy-aware resume screening workflow: intro and motivation, installation of langchain-zerogpu and pypdf, ZeroGPU API credential setup, PDF upload and text extraction, three separate tool demonstrations (entity extraction, PII redaction, routing classification), an end-to-end screen_resume() function that chains all tools together, and highlights with referenced materials.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Poem

🐰 A resume springs to life, no PII in sight,
LangChain and ZeroGPU dance through the night,
Entities extracted, teams routed with care,
Privacy preserved—a screening so fair! 📋✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and accurately summarizes the main change: adding a new LangChain resume screening cookbook page.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cookbook-langchain-resume

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@cookbook/langchain-resume-screening.mdx`:
- Line 7: Update the user-facing sentence that currently reads "Every one is a
blob of unstructured text..." to a clearer phrasing such as "Every resume is a
blob of unstructured text..." (or alternatively "Each one is a blob...") in the
paragraph describing resumes so the copy reads naturally and consistently.
- Around line 153-154: The examples claim routing happens after PII removal but
the classification calls still pass the raw resume text; update every call that
invokes ZeroGPUClassifyZeroShotTool (and any other classifier calls around the
mentioned sections) to use the redacted copy (e.g., redactedResume or
redacted_text variable created during the PII removal step) instead of the
original raw resume variable so the classifier scores and routing operate on the
sanitized text.
- Around line 244-245: Remove the unmatched closing MDX tags `</content>` and
`</invoke>` at the end of the document: locate the orphaned `</content>` and
`</invoke>` tokens and delete them so the file only contains properly
opened/closed MDX elements (no unmatched closing tags remain), then run the
MDX/markdown linter or preview to confirm the page renders correctly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 78206043-fd9d-4ee5-a72b-4bd2aca66111

📥 Commits

Reviewing files that changed from the base of the PR and between c84518d and fce16be.

📒 Files selected for processing (3)
  • cookbook/index.mdx
  • cookbook/langchain-resume-screening.mdx
  • docs.json

Comment thread cookbook/langchain-resume-screening.mdx
Comment thread cookbook/langchain-resume-screening.mdx
Comment on lines +244 to +245
</content>
</invoke>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot Jun 5, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Remove unmatched closing tags at the end of the MDX file.

</content> and </invoke> are not opened in this document and can break page rendering/parsing.

Suggested fix
-</content>
-</invoke>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
</content>
</invoke>
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@cookbook/langchain-resume-screening.mdx` around lines 244 - 245, Remove the
unmatched closing MDX tags `</content>` and `</invoke>` at the end of the
document: locate the orphaned `</content>` and `</invoke>` tokens and delete
them so the file only contains properly opened/closed MDX elements (no unmatched
closing tags remain), then run the MDX/markdown linter or preview to confirm the
page renders correctly.

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.

@nishithatanukunuri please remove this

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

title: "🦜 Screen Resumes with LangChain and ZeroGPU"
---

{/* Colab link: add after uploading the notebook to Colab under hello@zerogpu.ai, e.g. "You can also check this cookbook in colab [here](<colab-url>)." */}
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.

Please update this as well once the colab is live.

Comment on lines +244 to +245
</content>
</invoke>
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.

@nishithatanukunuri please remove this

"routing_label": "engineering",
"routing_scores": {"engineering": 0.93, "design": 0.04, "sales": 0.02, "operations": 0.01}
}
```
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.

Can we please replace this with actual output values.

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.

2 participants