Skip to main content
arXiv 是一个开放获取的存档库,收录了物理学、数学、计算机科学、定量生物学、定量金融、统计学、电气工程与系统科学以及经济学领域的 200 万篇学术文章。
本笔记本展示如何从 Arxiv.org 检索科学文章,并转换为下游使用的 Document 格式。 有关所有 ArxivRetriever 功能和配置的详细文档,请参阅 API 参考

集成详情

设置

如果你想要从各个查询中获取自动追踪,也可以通过取消以下注释来设置你的 LangSmith API 密钥:
os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
os.environ["LANGSMITH_TRACING"] = "true"

安装

此检索器位于 langchain-community 包中。我们还需要 arxiv 依赖:
pip install -qU langchain-community arxiv

实例化

ArxivRetriever 的参数包括:
  • 可选的 load_max_docs:默认值为 100。用于限制下载文档的数量。下载所有 100 篇文档需要时间,因此在实验时使用较小的数字。目前硬限制为 300。
  • 可选的 load_all_available_meta:默认值为 False。默认情况下,只下载最重要的字段:Published(文档发布/最后更新的日期)、TitleAuthorsSummary。如果为 True,还会下载其他字段。
  • get_full_documents:布尔值,默认为 False。确定是否获取文档的全文。
更多详情请参阅 API 参考
from langchain_community.retrievers import ArxivRetriever

retriever = ArxivRetriever(
    load_max_docs=2,
    get_full_documents=True,
)

使用方法

ArxivRetriever 支持通过文章 ID 检索:
docs = retriever.invoke("1605.08386")
docs[0].metadata  # Document 的元信息
{'Entry ID': 'http://arxiv.org/abs/1605.08386v1',
 'Published': datetime.date(2016, 5, 26),
 'Title': 'Heat-bath random walks with Markov bases',
 'Authors': 'Caprice Stanley, Tobias Windisch'}
docs[0].page_content[:400]  # Document 的内容
'Graphs on lattice points are studied whose edges come from a finite set of\nallowed moves of arbitrary length. We show that the diameter of these graphs on\nfibers of a fixed integer matrix can be bounded from above by a constant. We\nthen study the mixing behaviour of heat-bath random walks on these graphs. We\nalso state explicit conditions on the set of moves so that the heat-bath random\nwalk, a ge'
ArxivRetriever 也支持基于自然语言文本进行检索:
docs = retriever.invoke("What is the ImageBind model?")
docs[0].metadata
{'Entry ID': 'http://arxiv.org/abs/2305.05665v2',
 'Published': datetime.date(2023, 5, 31),
 'Title': 'ImageBind: One Embedding Space To Bind Them All',
 'Authors': 'Rohit Girdhar, Alaaeldin El-Nouby, Zhuang Liu, Mannat Singh, Kalyan Vasudev Alwala, Armand Joulin, Ishan Misra'}

API 参考

有关所有 ArxivRetriever 功能和配置的详细文档,请参阅 API 参考