# CycleResearcher **Repository Path**: ktwu/CycleResearcher ## Basic Information - **Project Name**: CycleResearcher - **Description**: CycleResearcher: Improving Automated Research via Automated Review - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-16 - **Last Updated**: 2025-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI-powered Research and Review Agents [ICLR 2025 / ACL 2025]
[![GitHub stars](https://img.shields.io/github/stars/zhu-minjun/Researcher)](https://github.com/zhu-minjun/Researcher/stargazers) [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/release/python-380/) [![arXiv](https://img.shields.io/badge/arXiv-2411.00816-b31b1b.svg)](https://arxiv.org/abs/2411.00816) [![OpenReview](https://img.shields.io/badge/OpenReview-ICLR2025-8b1a1a.svg)](https://openreview.net/forum?id=bjcsVLoHYs) [![Homepage](https://img.shields.io/badge/Homepage-ai--researcher.cn-green.svg)](http://ai-researcher.cn)
AI Research Ecosystem
### Update: [04/26/2025] We hosted [AI Co-scientist Discussion](https://ai-researcher.net/social-iclr-2025) in ICLR 2025, over 300 people gathered together! [04/06/2025] We have collected 400 papers related to AI Scientists in our [Awesome-AI-Scientist GitHub repository](https://github.com/ResearAI/Awesome-AI-Scientist). If you're interested in this field, don't miss out! [03/22/2025] We've just rolled out an exciting new feature for https://ai-researcher.net! 🎉 Now you can directly read arXiv papers with unprecedented ease! 📚✨ Transform any arXiv link from: `https://arxiv.org/abs/2503.08569` -> `https://ai-researcher.net/abs/2503.08569` ## 🔍 Overview CycleResearcher is a comprehensive open-source ecosystem for AI-powered academic research and review. Our system features three integrated components: - **CycleResearcher**: Generates high-quality research papers - **CycleReviewer**: Provides detailed academic reviews - **DeepReviewer**: Delivers multi-perspective review simulations with self-verification By creating a complete feedback loop between research generation and evaluation, we aim to: - 🤖 Automate academic research processes - 📝 Provide rigorous, multi-perspective research reviews - 🔄 Establish research-review feedback loops - 🚀 Accelerate scientific discovery CycleResearcher Architecture ## 🚀 Getting Started ### Installation ```bash pip install ai_researcher ``` ### Using CycleResearcher ```python # Import necessary libraries from ai_researcher import CycleResearcher from ai_researcher.utils import print_paper_summary # Initialize CycleResearcher with the default 12B model researcher = CycleResearcher(model_size="12B") # Load references from BibTeX file with open('cycleresearcher_references.bib', 'r') as f: references_content = f.read() # Generate a paper with specific references generated_papers = researcher.generate_paper( topic = "AI Researcher", references = references_content, n = 1 # Generate a single paper ) # Print summary of generated paper print_paper_summary(generated_papers[0]) ``` ### Using CycleReviewer ```python # Import necessary libraries from ai_researcher import CycleReviewer # Initialize CycleReviewer with the default 8B model reviewer = CycleReviewer(model_size="8B") # Review a paper (assuming paper_text contains the paper content) review_results = reviewer.evaluate(paper_text) # Print review results print(f"Average score: {review_results[0]['avg_rating']}") print(f"Decision: {review_results[0]['paper_decision']}") ``` ### Using DeepReviewer ```python # Import necessary libraries from ai_researcher import DeepReviewer # Initialize DeepReviewer with 14B model deep_reviewer = DeepReviewer(model_size="14B") # Review a paper with multiple simulated reviewers in Standard Mode review_results = deep_reviewer.evaluate( paper_text, mode="Standard Mode", # Options: "Fast Mode", "Standard Mode", "Best Mode" reviewer_num=4 # Simulate 4 different reviewers ) # Print review results for i, review in enumerate(review_results[0]['reviews']): print(f"Reviewer {i+1} Rating: {review.get('rating', 'N/A')}") print(f"Reviewer {i+1} Summary: {review.get('summary', 'N/A')[:100]}...") ``` #### Launching DeepReviewer Best Mode ##### Using OpenScholar OpenScholar is a retrieval-augmented generation-based academic research question-answering system. For detailed usage instructions, please refer to the [OpenScholar directory](./OpenScholar/). ##### Quick Start Guide for OpenScholar 1. **Apply for Semantic Scholar API Key**: Visit [Semantic Scholar API](https://www.semanticscholar.org/product/api) 2. **Start Model Services**: ```bash # For Linux/Mac users cd OpenScholar chmod +x start_models.sh ./start_models.sh ``` 3. **Start API Service**: ```bash python openscholar_api.py \ --s2_api_key YOUR_SEMANTIC_SCHOLAR_API_KEY \ --reranker_path OpenSciLM/OpenScholar_Reranker ``` 4. **Using the API**: ```python import requests # Send questions to OpenScholar API response = requests.post("http://localhost:38015/batch_ask", json={ "questions": ["How do retrieval-augmented LMs perform in knowledge-intensive tasks?"] }) result = response.json() print("OpenScholar Answer:", result["results"][0]["output"]) ``` #### Best Mode DeepReviewer's Best Mode provides the most comprehensive review experience, including background knowledge search, multi-reviewer simulation, and self-verification: ```python # Use Best Mode for in-depth review review_results = deep_reviewer.evaluate( paper_text, mode="Best Mode", # Most comprehensive review mode reviewer_num=6, # Simulate 6 different reviewers enable_search=True, # Enable background knowledge search self_verification=True # Enable self-verification ) ``` DeepReviewer Architecture ## 📊 Model Evaluation

CycleResearcher

CycleResearcher Evaluation

CycleResearcher-12B achieves an average score of 5.36, approaching the 5.69 average for conference-accepted papers and surpassing AI Scientist's score of 4.31.

CycleReviewer

CycleReviewer Evaluation

CycleReviewer outperforms both proprietary systems and human experts with a 48.77% reduction in Proxy MSE and a 26.89% reduction in Proxy MAE compared to human reviewers. With a decision accuracy of 74.24%, our model demonstrates a significant lead over other closed-source systems.

DeepReviewer

DeepReviewer Evaluation

DeepReviewer provides multi-perspective simulation with self-verification, enabling more comprehensive and balanced feedback. It offers three distinct review modes: Fast Mode, Standard Mode, and Best Mode to accommodate different use cases.

## 🧠 Models & Datasets ### Models Overview
CycleResearcher Models
Model Name Pre-training Language Model HF Link
CycleResearcher-ML-12B Mistral-Nemo-Instruct-2407 🤗 link
CycleResearcher-ML-72B Qwen2.5-72B-Instruct 🤗 link
CycleResearcher-ML-123B Mistral-Large-2 🤗 link
CycleReviewer Models
Model Name Pre-training Language Model HF Link
CycleReviewer-ML-Llama3.1-8B Llama3.1-8B-Instruct 🤗 link
CycleReviewer-ML-Llama3.1-70B Llama3.1-70B-Instruct 🤗 link
CycleReviewer-ML-Pro-123B Mistral-Large-2 🤗 link
DeepReviewer Models
Model Name Parameters HF Link
DeepReviewer-7B 7B 🤗 link
DeepReviewer-14B 14B 🤗 link
### Datasets
Datasets Overview
Dataset Name Train Data Test Data Description HF Link
Review-5K 4,189 781 Peer review dataset for CycleReviewer training 🤗 link
Research-14K 12,696 802 Research paper dataset for CycleResearcher training 🤗 link
DeepReview-13K 13,378 1,286 Multi-perspective review dataset for DeepReviewer training 🤗 link
## 💡 Features ### DeepReviewer Review Modes DeepReviewer offers three distinct review modes to accommodate different use cases:

🏃‍♂️ Fast Mode

Quick review generation for rapid feedback. Provides essential evaluation without multi-reviewer simulation.

🔄 Standard Mode

Default mode that simulates multiple reviewers and includes self-verification to ensure reliable assessments.

⭐ Best Mode

Most comprehensive mode with background knowledge search, multi-reviewer simulation, and self-verification for in-depth analysis.

### AI Detection Detect if content was generated by AI models: ```python from ai_researcher import AIDetector # Initialize AI detector detector = AIDetector(device='cpu') # Analyze the generated paper detection_result = detector.analyze_paper(paper) print("Detection Results:") print(f"Probability of AI generation: {detection_result['probability'] * 100:.2f}%") print(f"Confidence Level: {detection_result['confidence_level']}") ``` ## 📚 Tutorials and Demos We have prepared comprehensive tutorials to help users understand and utilize our models: - [Tutorial 1:](https://github.com/zhu-minjun/Researcher/blob/main/Tutorial/tutorial_1.ipynb) Getting Started with CycleResearcher 🚀 - [Tutorial 2:](https://github.com/zhu-minjun/Researcher/blob/main/Tutorial/tutorial_2.ipynb) Understanding CycleReviewer 📝 - [Tutorial 3:](https://github.com/zhu-minjun/Researcher/blob/main/Tutorial/tutorial_3.ipynb) Mastering DeepReviewer 🔍 - [Tutorial 4:](https://github.com/zhu-minjun/Researcher/blob/main/Tutorial/tutorial_4.ipynb) Creating an End-to-End Research Workflow 🔄 ## 📄 License This code and the models' weights are provided under the *CycleResearcher-License*. See the [LICENSE.md](LICENSE.md) file for details. ## 📚 Citation If CycleResearcher is helpful to your work, please cite our paper: ```bibtex @inproceedings{ weng2025cycleresearcher, title={CycleResearcher: Improving Automated Research via Automated Review}, author={Yixuan Weng and Minjun Zhu and Guangsheng Bao and Hongbo Zhang and Jindong Wang and Yue Zhang and Linyi Yang}, booktitle={The Thirteenth International Conference on Learning Representations}, year={2025}, url={https://openreview.net/forum?id=bjcsVLoHYs} } ``` if DeepReviewer is helpful to your work, please cite our paper: ```bibtex @misc{zhu2025deepreviewimprovingllmbasedpaper, title={DeepReview: Improving LLM-based Paper Review with Human-like Deep Thinking Process}, author={Minjun Zhu and Yixuan Weng and Linyi Yang and Yue Zhang}, year={2025}, eprint={2503.08569}, archivePrefix={arXiv}, primaryClass={cs.CL}, url={https://arxiv.org/abs/2503.08569}, } ``` ## 📮 Contact - [Submit an Issue](https://github.com/zhu-minjun/Researcher/issues) - Email: zhuminjun@westlake.edu.cn