DAMO-NLP-SG / CoI-Agent

Official code for paper: Chain of Ideas: Revolutionizing Research Via Novel Idea Development with LLM Agents
Apache License 2.0
104 stars 3 forks source link

Chain-of-Ideas Agent: Revolutionizing Research Via Novel Idea Development with LLM Agents

[📖 arXiv Paper] [📊 Online Demo]

🔥 News

🛠️ Requirements and Installation

Step 1:

git clone https://github.com/DAMO-NLP-SG/CoI-Agent.git
cd CoI-Agent
pip install -r requirements.txt

Step 2: Install SciPDF Parser for PDF parsing.

git clone https://github.com/titipata/scipdf_parser.git
pip install git+https://github.com/titipata/scipdf_parser
python -m spacy download en_core_web_sm

Step 3: Install java for grobid

wget  https://download.oracle.com/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
tar -zxvf openjdk-11.0.2_linux-x64_bin.tar.gz
export JAVA_HOME=Your_path/jdk-11.0.2

Step 4: set config.yaml to use the LLM APIs.

# Sementic scholor api, it should be filled
SEMENTIC_SEARCH_API_KEY: ""

AZURE_OPENAI_ENDPOINT : ""
AZURE_OPENAI_KEY : ""
AZURE_OPENAI_API_VERSION : ""

OPENAI_API_KEY: ""
OPENAI_BASE_URL: ""

# if not set it will be set to the same as main llm
EMBEDDING_API_KEY: ""
EMBEDDING_API_ENDPOINT: ""
EMBEDDING_MODEL: ""

MAIN_LLM_MODEL: "" # "gpt-4o" or ...

CHEAP_LLM_MODEL: "" # "gpt-4o" or ...

🚀 Quick Start

Step 1: Run grobid

If you git clone https://github.com/titipata/scipdf_parser.git

cd scipdf_parser
bash serve_grobid.sh

If you are unable to start grobid normally through the previous step, you can follow the following process to install it

git clone https://github.com/kermitt2/grobid.git
cd grobid
./gradlew clean install
./gradlew run

Step 2: Generate idea

python main.py --topic {your research topic}

:black_nib: Citation

If you find our work helpful for your research, please consider starring the repo and citing our work.

@article{li2024chain,
  title={Chain of Ideas: Revolutionizing Research in Novel Idea Development with LLM Agents},
  author={Li, Long and Xu, Weiwen and Guo, Jiayan and Zhao, Ruochen and Li, Xinxuan and Yuan,
            Yuqian and Zhang, Boqiang and Jiang, Yuming and Xin, Yifei and Dang, Ronghao and 
            Rong, Yu and Zhao, Deli and Feng, Tian and Bing, Lidong},
  journal={arXiv preprint arXiv:2410.13185},
  year={2024},
  url={https://arxiv.org/abs/2410.13185}
}