Skip to content

feat: add two-step skills-graph job matching experiment#21

Open
Hamz-Horizon wants to merge 1 commit into
mainfrom
skills-graph-experiment
Open

feat: add two-step skills-graph job matching experiment#21
Hamz-Horizon wants to merge 1 commit into
mainfrom
skills-graph-experiment

Conversation

@Hamz-Horizon

Copy link
Copy Markdown
Collaborator

Introduced a new job matching experiment that utilizes a two-step ranking approach based on skill taxonomy graphs. The implementation includes:

  • Exact match ranking based on label overlap (exact_match.py).
  • Graph-based ranking using Dijkstra's algorithm for remaining jobs (graph_dijkstra.py).
  • A final ranker that combines both methods (final.py).
  • CLI for running the final ranker for individual users (main.py).
  • Dashboard generation for visualizing job recommendations (dashboard/run_njila_dashboard.py).
  • Data paths and requirements for the new system are defined in paths.py and requirements.txt, respectively.
  • Added a README.md for documentation on usage and structure.

Test Results

SHP MATCHING ALGORITHM — FULL TEST SUITE

[1/7] Lint Check .................................. PASS
[2/7] Format Check ................................ PASS
[3/7] Data Validation Check ....................... PASS
[4/7] Data Schema Check ........................... PASS
[5/7] Smoke Check ................................. PASS
[6/7] Job Dict Mapping Check ...................... PASS
[7/7] ML Logic Check .............................. PASS

==================================================
ALL CHECKS PASSED (7/7)

Introduced a new job matching experiment that utilizes a two-step ranking approach based on skill taxonomy graphs. The implementation includes:
- Exact match ranking based on label overlap (exact_match.py).
- Graph-based ranking using Dijkstra's algorithm for remaining jobs (graph_dijkstra.py).
- A final ranker that combines both methods (final.py).
- CLI for running the final ranker for individual users (main.py).
- Dashboard generation for visualizing job recommendations (dashboard/run_njila_dashboard.py).
- Data paths and requirements for the new system are defined in paths.py and requirements.txt, respectively.
- Added a README.md for documentation on usage and structure.

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.

We shouldnt have json like this in the repo. Not only is this live user data (anonymized as it may be), its also a large file that does not belong on VC. Especially not on a public repo. We should remove it.

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.

we should not commit a 52mb json file to the repo. If its absolurely critical to have large files we should use git lfs but in this case I think we ought to just avoid commiting this altogether.

@rav3n11

rav3n11 commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

quick question @Hamz-Horizon, I see no wiring to make this experiment into an accessible fastapi route. Is this meant to be tested alongside the other experiments or is this just a proof of concept

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