rank_fit
Rank professors by keyword overlap to determine research fit. Returns relevance signal and materials for LLM-based fit assessment.
Instructions
Rank professors by keyword overlap and package materials for client LLM fit judgment.
SERVER SIDE: Deterministic whole-word keyword matching against concepts + paper titles/abstracts. CLIENT SIDE: Use the fit_materials in each result to produce fit_level, match_reasons, potential_concerns, and email_advice.
Args: user_interests: Dict with one of: - {"keywords": ["blockchain", "MEV"]} - {"preset": "blockchain_security"} - {"keywords": [...], "description": "free text", "paper_urls": [...]} Optionally add topic/domain weighting (same semantics as find_professors): - {"topic_keywords": [...], "domain_keywords": [...], "topic_weight": 3.0, "domain_weight": 1.0} professors: List from search_professors or get_professor_details filters: Optional: min_citation (int), regions (list), institution_tier (list) sort_by: "relevance_signal" (default) | "citation"
Returns: ranked_professors list with relevance_signal and fit_materials for client LLM.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| user_interests | Yes | ||
| professors | Yes | ||
| filters | No | ||
| sort_by | No | relevance_signal |