Fudan ME AI Deisgn Project Team: Heng Liao, Yuzheng Lin
This project is an AI-powered research assistant designed to interact with arXiv papers and provide various functionalities to help users analyze and gather insights from research papers. It includes features like paper search, deep analysis, trend analysis, research recommendations, and project framework generation.
- Search Papers: Search for papers based on a keyword from arXiv and retrieve their titles, publication dates, and abstracts.
- Analyze Papers: Analyze a given PDF paper by extracting key technologies, references, and visualizing experimental data.
- Research Recommendations: Provide suggestions on research directions, methods, and skills based on a specific topic.
- Trend Analysis: Analyze research trends over time for a given keyword, visualizing the number of papers published each year.
- Project Framework Generation: Generate a complete project framework and basic code based on a specific technical topic (e.g., quantization).
search.2.mp4
analyse.2.mp4
trend.2.mp4
generate.2.mp4
search_papers.py: Provides functionality to search for papers on arXiv by keyword.analyze_paper.py: Performs deep analysis of a given paper, including extracting key technologies and references.recommend_research.py: Generates research recommendations and a learning plan for a specific topic.analyze_trends.py: Analyzes and visualizes research trends over time for a given keyword.generate_framework.py: Generates a project framework for a given technical topic, with code templates and tool suggestions.app.py: The entry point for the application, providing a Streamlit interface to use all features.
git clone https://github.com/your-username/AI-research-assistant.git
cd AI-research-assistantMake sure you have Python 3.6+ installed, then run the following command to install required dependencies:
pip install -r requirements.txtThe dependencies include:
openai: for GPT-4o integration.arxiv: for accessing the arXiv API.PyMuPDF: for reading and processing PDFs.matplotlib: for visualizing data.streamlit: for building the interactive web interface.
We used the api provided by the TA here, and you can replace your key in the analyze_paper.py, analyze_trends.py, recommend_research.py and generate_framework.py files.
To run the application, use Streamlit:
streamlit run app.pyThis will launch a web interface where you can choose between different features and interact with the AI-powered research assistant.
-
Search Papers:
Enter a keyword and a maximum number of results, and get a list of papers related to your search topic.
Example:- Enter
machine learningand setmax_resultsto5to retrieve 5 papers.
- Enter
-
Analyze a Paper:
Upload a PDF of a paper for analysis. The system will extract technologies, references, and experimental data from the document.
Example:- Upload a PDF file like
quantization_paper.pdf.
- Upload a PDF file like
-
Research Recommendations:
Enter a research topic, and the system will suggest research directions, methods, and skills needed to explore the topic.
Example:- Enter
quantizationto get recommendations on how to research this topic.
- Enter
-
Trend Analysis:
Enter a keyword and analyze the trends in research over time, visualizing the number of papers published each year.
Example:- Enter
machine learningto track research trends in this field.
- Enter
-
Generate Project Framework:
Generate a project framework based on a technical topic, including code templates and tool suggestions.
Example:- Enter
quantizationto generate a project framework on quantization, including data processing, model building, training, and testing code templates.
- Enter
- Search for Papers: Use the search functionality in the Streamlit app to find the latest research papers on a topic.
- Analyze a Paper: Upload a PDF of a paper to extract key technologies, references, and visualize experimental data.
- Get Research Recommendations: Enter a topic like
machine learning quantizationto get suggestions on methods and skills to explore. - Visualize Trends: Track trends over time by analyzing the number of papers published each year in a specific field.
- Generate a Project Framework: Generate a full project structure and basic code for a topic like
quantization, including data processing, model building, and testing components.