@langchain/community
Version:
Third-party integrations for LangChain.js
1 lines • 2.23 kB
Source Map (JSON)
{"version":3,"file":"arxiv.cjs","names":["BaseRetriever","options: ArxivRetrieverOptions","query: string","searchArxiv","loadDocsFromResults","getDocsFromSummaries"],"sources":["../../src/retrievers/arxiv.ts"],"sourcesContent":["import { BaseRetriever, BaseRetrieverInput } from \"@langchain/core/retrievers\";\nimport { Document } from \"@langchain/core/documents\";\nimport {\n searchArxiv,\n loadDocsFromResults,\n getDocsFromSummaries,\n} from \"../utils/arxiv.js\";\n\nexport type ArxivRetrieverOptions = {\n getFullDocuments?: boolean;\n maxSearchResults?: number;\n} & BaseRetrieverInput;\n\n/**\n * A retriever that searches arXiv for relevant articles based on a query.\n * It can retrieve either full documents (PDFs) or just summaries.\n */\nexport class ArxivRetriever extends BaseRetriever {\n static lc_name() {\n return \"ArxivRetriever\";\n }\n\n lc_namespace = [\"langchain\", \"retrievers\", \"arxiv_retriever\"];\n\n getFullDocuments = false;\n\n maxSearchResults = 10;\n\n constructor(options: ArxivRetrieverOptions = {}) {\n super(options);\n this.getFullDocuments = options.getFullDocuments ?? this.getFullDocuments;\n this.maxSearchResults = options.maxSearchResults ?? this.maxSearchResults;\n }\n\n async _getRelevantDocuments(query: string): Promise<Document[]> {\n try {\n const results = await searchArxiv(query, this.maxSearchResults);\n\n if (this.getFullDocuments) {\n // Fetch and parse PDFs to get full documents\n return await loadDocsFromResults(results);\n } else {\n // Use summaries as documents\n return getDocsFromSummaries(results);\n }\n } catch {\n throw new Error(`Error retrieving documents from arXiv.`);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;AAiBA,IAAa,iBAAb,cAAoCA,0CAAc;CAChD,OAAO,UAAU;AACf,SAAO;CACR;CAED,eAAe;EAAC;EAAa;EAAc;CAAkB;CAE7D,mBAAmB;CAEnB,mBAAmB;CAEnB,YAAYC,UAAiC,CAAE,GAAE;EAC/C,MAAM,QAAQ;EACd,KAAK,mBAAmB,QAAQ,oBAAoB,KAAK;EACzD,KAAK,mBAAmB,QAAQ,oBAAoB,KAAK;CAC1D;CAED,MAAM,sBAAsBC,OAAoC;AAC9D,MAAI;GACF,MAAM,UAAU,MAAMC,0BAAY,OAAO,KAAK,iBAAiB;AAE/D,OAAI,KAAK,iBAEP,QAAO,MAAMC,kCAAoB,QAAQ;OAGzC,QAAOC,mCAAqB,QAAQ;EAEvC,QAAO;AACN,SAAM,IAAI,MAAM,CAAC,sCAAsC,CAAC;EACzD;CACF;AACF"}