跳到主要内容
arXiv Retriever 允许用户查询 arXiv 数据库以获取学术文章。它支持全文检索(PDF 解析)和基于摘要的检索。 有关所有 ArxivRetriever 功能和配置的详细文档,请查阅API 参考

特性

  • 查询灵活性:使用自然语言查询或特定 arXiv ID 进行搜索。
  • 全文检索:可选择获取和解析 PDF。
  • 摘要作为文档:检索摘要以获得更快的结果。
  • 可定制选项:配置最大结果数和输出格式。

集成详情

检索器来源
ArxivRetriever来自 arXiv 的学术文章@langchain/community

设置

确保安装以下依赖项
  • 用于解析 PDF 的 pdf-parse
  • 用于解析 arXiv API 返回的 XML 响应的 fast-xml-parser
npm install pdf-parse fast-xml-parser

实例化

const retriever = new ArxivRetriever({
  getFullDocuments: false, // Set to true to fetch full documents (PDFs)
  maxSearchResults: 5, // Maximum number of results to retrieve
});

用法

使用 invoke 方法在 arXiv 中搜索相关文章。您可以使用自然语言查询或特定的 arXiv ID。
const query = "quantum computing";

const documents = await retriever.invoke(query);
documents.forEach((doc) => {
  console.log("Title:", doc.metadata.title);
  console.log("Content:", doc.pageContent); // Parsed PDF content
});

在链中使用

与其他检索器一样,ArxivRetriever 可以通过链集成到 LLM 应用程序中。以下是检索器在链中使用的示例
import { ChatOpenAI } from "@langchain/openai";
import { ChatPromptTemplate } from "@langchain/core/prompts";
import {
  RunnablePassthrough,
  RunnableSequence,
} from "@langchain/core/runnables";
import { StringOutputParser } from "@langchain/core/output_parsers";
import type { Document } from "@langchain/core/documents";

const llm = new ChatOpenAI({
  model: "gpt-4o-mini",
  temperature: 0,
});

const prompt = ChatPromptTemplate.fromTemplate(`
Answer the question based only on the context provided.

Context: {context}

Question: {question}`);

const formatDocs = (docs: Document[]) => {
  return docs.map((doc) => doc.pageContent).join("\n\n");
};

const ragChain = RunnableSequence.from([
  {
    context: retriever.pipe(formatDocs),
    question: new RunnablePassthrough(),
  },
  prompt,
  llm,
  new StringOutputParser(),
]);

await ragChain.invoke("What are the latest advances in quantum computing?");

API 参考

有关所有 ArxivRetriever 功能和配置的详细文档,请查阅API 参考
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.