03: 语义学者¶
概述¶
构建一个可搜索的研究论文库,支持语义搜索功能。可以通过内容相似性而不仅仅是关键词来发现论文。展示了混合搜索的威力,结合精确查询与语义相似性。
主题¶
学术论文库
策略¶
向量搜索 + 持久化
关键特性¶
- ✅ 用于语义搜索的向量嵌入(需要 OpenAI API)
- ✅ 元数据管理(引用、关键词、关系)
- ✅ 库统计和分析
- ✅ 索引论文的持久化存储
- ✅ 快速检索和发现
数据结构¶
ResearchPaper¶
paper_id: str # 论文唯一 ID
title: str # 论文标题
authors: list[str] # 作者名单
abstract: str # 论文摘要
year: int # 发表年份
citations: int # 引用数
keywords: list[str] # 研究关键词
related_papers: list[str] # 相关论文 ID
使用场景¶
学术与研究系统:构建可搜索的研究数据库,研究人员可通过语义相似性发现相关工作。不仅仅是关键词匹配,还有概念相似性。
优势: - 发现超越关键词匹配的相关研究 - 自动论文推荐 - 研究趋势追踪 - 文献综述加速
运行示例¶
cd examples/
# 设置 OpenAI API 密钥
export OPENAI_API_KEY="your-key-here"
python 03_semantic_scholar.py
输出¶
结果存储在 temp/scholar_library/:
- memory.json:带有元数据的论文记录
- metadata.json:模式和统计信息
- faiss_index/:用于语义搜索的向量索引
API 需求 ✅ 必需¶
此示例需要 OpenAI API 密钥来生成嵌入。
您将学到¶
- 向量嵌入:如何使用嵌入进行语义搜索
- 混合搜索:结合键值查询与语义相似性
- FAISS 索引:持久化向量索引管理
- 相似性搜索:通过语义含义查找相关项