AutoResearch: A General Framework for Academic Research Automation

AutoResearch is a framework designed to simplify and accelerate academic research tasks. It offers a modular and extensible architecture to help researchers, developers, and academics efficiently search, organize, summarize, and analyze academic papers.

See this Google Colab notebook for an installation-free quick demo.

Here is the official GitHub repository of AutoResearch.

Advantages

While there are many existing tools for research automation. But here are the key distinctions and advantages of AutoResearch:

  • No additional API keys besides LLM API keys are required (No API keys, such as Semantic Scholar keys, are needed for literature search and downloading papers)

  • Support multiple search keywords for one inquiry.

  • Rank the papers based on their impacts, and consider the most important papers first.

  • Fast literature search process. It only takes about 3 seconds to automatically download a paper.

  • Python code-base, which enables convenient deployment, such as Google Colab notebook, as well as efficient integration with other ML-based tools, such as other LLM agents

  • API documentation is available

Basic Example

from auto_research.search.core import AutoSearch
from auto_research.survey.core import AutoSurvey

# Search for papers
search = AutoSearch(keywords="machine learning", num_results=10)
search.run()

# Summarize a paper
survey = AutoSurvey(api_key="your-api-key", model="gpt-4", paper_path="path/to/paper.pdf")
survey.run()

More examples

  • Automated Paper Search - Search for academic papers using keywords and retrieve metadata from Google Scholar, Semantic Scholar, and arXiv. Organize results by relevance or date, apply filters, and save articles to a specified folder.

  • Paper Summarization - Summarize individual papers or all papers in a folder. Extract key sections (abstract, introduction, discussion, conclusion) and generate summaries using GPT models. Track and display the total cost of summarization.

  • Explain a Paper with LLMs - Interactively explain concepts, methodologies, or results from a selected paper using LLMs. Supports user queries and detailed explanations of specific sections.

  • Code Availability Check - Check for GitHub links in papers and validate their availability.

  • Topic-to-Survey Automation - Convert a topic or research question into a comprehensive survey of relevant papers. Generate keywords, retrieve articles, summarize content, and optionally check code availability. Organize and zip results for easy access.

Communication

Contribution

We welcome contributions! Please see the Contribution Guide for details.

License

MIT License. See LICENSE for details.

Indices