AgentSkillsCN

arxiv_search

从langchain导入技能arxiv搜索

SKILL.md
--- frontmatter
description: Imported skill arxiv_search from langchain
name: arxiv_search
signature: cc484e216685e7e047e9da03b5551489b264fe27d817800e6b8b3bc050f4c235
source: /a0/tmp/skills_research/langchain/libs/deepagents-cli/examples/skills/arxiv-search/arxiv_search.py

#!/usr/bin/env python3 """arXiv Search.

Searches the arXiv preprint repository for research papers. """

import argparse

def query_arxiv(query: str, max_papers: int = 10) -> str: """Query arXiv for papers based on the provided search query.

code
Parameters
----------
query : str
    The search query string.
max_papers : int
    The maximum number of papers to retrieve (default: 10).

Returns:
    The formatted search results or an error message.
"""
try:
    import arxiv
except ImportError:
    return "Error: arxiv package not installed. Install with: pip install arxiv"

try:
    client = arxiv.Client()
    search = arxiv.Search(
        query=query, max_results=max_papers, sort_by=arxiv.SortCriterion.Relevance
    )
    results = "\n\n".join(
        [f"Title: {paper.title}\nSummary: {paper.summary}" for paper in client.results(search)]
    )
    return results if results else "No papers found on arXiv."
except Exception as e:
    return f"Error querying arXiv: {e}"

def main() -> None: parser = argparse.ArgumentParser(description="Search arXiv for research papers") parser.add_argument("query", type=str, help="Search query string") parser.add_argument( "--max-papers", type=int, default=10, help="Maximum number of papers to retrieve (default: 10)", )

code
args = parser.parse_args()

query_arxiv(args.query, max_papers=args.max_papers)

if name == "main": main()