Skip to content

[P2-Performance] Upgrade embedding models for resume-JD similarity scoring #60

Description

@Ztrimus

Problem

Current metrics in metrics.py use:

  • text-embedding-ada-002 (OpenAI) — old model, replaced by text-embedding-3
  • models/text-embedding-004 (Gemini) — older model
  • TF-IDF cosine similarity — basic, misses semantic relationships

Solution

Upgrade to modern embedding models:

Model Price/1M tokens Quality
text-embedding-3-large (OpenAI) $0.13 Best commercial
text-embedding-3-small (OpenAI) $0.02 Good balance
models/text-embedding-004 (Gemini) $0.00 Free tier
BGE-M3 (open-source) Free Self-hosted

Also add reranking

For a two-stage pipeline:

  1. Embed with cheap model for initial scoring
  2. Rerank top matches with LLM or Cohere reranker for precision

Metrics to compute

  • Keyword coverage: % of Tier 1 keywords present (not just any keyword match)
  • Semantic similarity: embedding cosine between resume sections and JD requirements
  • Overall match score: weighted combination

Files

  • zlm/utils/metrics.py (upgrade models, add reranking)
  • zlm/variables.py (add embedding model config)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2-mediumMedium priority - quality & polishenhancementNew feature or requestperformancePerformance improvement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions