👏 Welcome to try OmniThink in our Modelscope online demo!
Due to the recent high volume of visitors, search API quota limitations, you may encounter an error:'ValueError: Expected 2D array, got 1D array instead: array=[]. Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.'
If this error occurs, please try again in a few hours.
- 🌏 The Online Demo is avaiable at ModelScope now!
Welcome to OmniThink, an innovative machine writing framework designed to replicate the human cognitive process of iterative expansion and reflection in generating insightful long-form articles.
- Iterative Expansion and Reflection: OmniThink uses a unique mechanism that simulates human cognitive behaviors to deepen the understanding of complex topics.
- Enhanced Knowledge Density: OmniThink focuses on expanding knowledge boundaries, resulting in articles that are rich in information and insights.
- Comprehensive Article Generation: OmniThink constructs outlines and generates articles, delivering high-quality content that is both coherent and contextually robust.
conda create -n OmniThink python=3.11
git clone https://github.com/zjunlp/OmniThink.git
cd OmniThink
# Install requirements
pip install -r requirement.txt
🔑 Before running, please export the OPENAI API key or Dashscope API key and SEARCH key as an environment variable:
export OPENAI_API_KEY=YOUR_API_KEY
export SEARCHKEY=YOUR_SEARCHKEY
or
export DASHSCOPE_KEY=YOUR_API_KEY
export SEARCHKEY=YOUR_SEARCHKEY
You can define your own LLM API and SEARCH API
Note that the output of the LLM should be a LIST.
The preformance of OmniThink is shown below:
Just one command required
sh run.sh
You can find your Article, Outline and mindmap in ./results/
We are organizing the evaluation code and will open source it soon.
- This work is implemented by DsPY, STORM Sincere thanks for their efforts.
- if you have any questions, please feel free to contact via [email protected], [email protected] or [email protected] or create an issue.
If you find our repo useful in your research, please kindly consider cite:
@misc{xi2025omnithinkexpandingknowledgeboundaries,
title={OmniThink: Expanding Knowledge Boundaries in Machine Writing through Thinking},
author={Zekun Xi and Wenbiao Yin and Jizhan Fang and Jialong Wu and Runnan Fang and Ningyu Zhang and Jiang Yong and Pengjun Xie and Fei Huang and Huajun Chen},
year={2025},
eprint={2501.09751},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2501.09751},
}