Skip to content

gong-rh/ProfFound

Repository files navigation

ProfFound · 研究生导师智能匹配引擎

License: MIT Python Tests Pydantic v2

输入你的背景与目标(学校 × 研究方向),ProfFound 会自动发现候选导师 → 用 OpenAlex 核实学术指标 → LLM 匹配分析 → 生成推荐报告(Markdown / JSON)。

学生档案(yaml) → 多源发现 → OpenAlex 学术核实 → LLM 匹配分析 → 推荐报告(MD/JSON)

这是一个完整、可独立运行的工具——不依赖任何额外数据库,配好 API key 就能用。


✨ 特性

  • 多源检索 + 同名消歧:按「学校 × 方向」从公开网络召回候选,用院系 / 学科信号过滤掉同名他人。
  • OpenAlex 学术核实(免费、无需 key):H 指数、引用数、近期论文——既补充可信信息,又帮助区分同名学者。
  • 诚实的 LLM 匹配分析:给出匹配分 + 推荐理由 + 风险提示,且只依据检索到的资料措辞、不编造;资料不足时会如实标注「公开资料未提供」。
  • 匹配方式透明:LLM 不可用时自动降级到规则匹配,并在报告顶部标明「匹配方式」(🤖 AI 智能分析 / ⚙️ 基础规则匹配)。
  • 可信度分区:疑似同名、跨校污染、信息残缺的导师会被单独旁置到「⚠️ 低可信 / 待核实」区,不与高置信推荐混淆。
  • 来源可溯:每条学术指标、评价、招生信息都附原始链接,方便自行核实。
  • 离线可测:检索可录制 / 回放,236 个确定性测试不触网、不需 key 即可复现。

🚀 快速开始

pip install -e .
cp .env.example .env          # 填入你的 API key(见下表)
python -m src.main -i input_example.yaml   # 跑示例档案,生成推荐报告

环境变量(放 .env

变量 用途 是否必需
BOCHA_API_KEY web 搜索(博查,国内可达的搜索 API) 是(或改用其它 provider)
QWEN_API_KEY LLM 匹配分析(通义千问 / DashScope) 推荐(不填则走规则降级)
OPENALEX_MAILTO OpenAlex「礼貌池」邮箱:填了请求更稳更快
  • 博查 Bochaapi.bocha.cn)是国内可达的 web 搜索 API,是「发现导师」这步的数据来源;国外用户可把 provider 换成 Serper(Google 代理)Tavily(见 src/search/providers.py)。
  • OpenAlex 是免费开放的全球学术库(类似免费版 Google Scholar),无需 key;「礼貌池」指带上联系邮箱后能获得更稳定的限流配额。

📖 用法

命令 做什么 调用的服务
python -m src.main -i input.yaml 按档案生成完整推荐报告 web 搜索 + OpenAlex + LLM
python -m src.main 交互式:问答收集你的背景,再出同样的报告 同上
python -m src.main search <姓名> --school <学校> 查单个导师的公开资料(不打分、不出报告) 仅 web 搜索

输入档案格式见 input_example.yaml(含学生 profile 与偏好 preference)。


📄 示例输出(节选)

真实运行结构节选;导师信息已匿名化,仅为格式演示,请以官方主页为准

# 🎓 ProfFound 导师推荐报告
> 🤖 匹配方式:AI 智能分析

## 📊 推荐概览
- 主推荐导师:10 位 | 高匹配(≥80%):4 位
- ⚠️ 低可信 / 待核实(已旁置,仅供参考):1 位

### 1. 导师 A 🟢 高匹配 85%
| 研究方向:具身智能 / 机器人学 | H 指数 130(🔗 OpenAlex 核实)| 总引用 85,616 | 🟢 招生中(🔗 来源)|
💡 推荐理由(均依据检索到的公开资料,不编造):
- 【研究方向】方向覆盖机器人学 / 智能控制 / 具身智能,与你的人形机器人全身控制、多模态感知背景一致
- 【学术实力】OpenAlex 核实 H 指数 130、总引用 8.5 万,IEEE / IET Fellow
- 【背景 / 资源】现任所在院系主任、某研究院院长,方向资源与话语权较强(行政头衔来自检索到的公开资料)
- 【培养风格】课题组规模较大、设青年导师机制;具体指导风格建议邮件进一步了解
⚠️ 风险:行政职务繁重,面对面指导频次可能低于一线教授

---
## ⚠️ 低可信 / 待核实导师(数据存疑,仅供参考,请务必官方核实)
### 导师 X 🔴 低匹配 52%
> 🚩 疑似同名 / 学科错配:身份归属置信度仅 0.40;院系标注与「具身智能」方向明显不符,疑似混入同名他人

完整报告还含联系建议、过往评价、招生状态、近期代表性论文等。


⚠️ 适用范围与局限

导师发现走实时 web 搜索:好处是零数据依赖、即开即用;代价是召回与数据质量取决于搜索结果——可能搜不全,也可能混入同名他人的信息。引擎会用「可信度分区」和「数据质量提示」尽量把不确定的部分标出来,但最终请以导师官方主页 / 院系信息为准


🤝 不想自己配环境,想直接拿结果?

Tip

可以联系作者「代跑」 —— 把你的背景与目标发我,我用 ProfFound 帮你生成 一份完整的「导师推荐报告」,只收少量 API 成本费。 适合不想折腾 API key / 环境、或想省时间的同学。

📩 微信:bcptdtptpghl (加好友请备注「ProfFound」)


🧪 测试与开发

236 个离线确定性测试(录制 / 回放搜索 + mock LLM,不触网、不需 key):

pip install -e ".[dev]"
pytest -q

📜 许可

MIT

About

🎓 研究生导师智能匹配引擎|输入背景一键出推荐报告(保研/考研找导师)

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages