# OmniThink
**Repository Path**: gapyanpeng/OmniThink
## Basic Information
- **Project Name**: OmniThink
- **Description**: https://github.com/zjunlp/OmniThink.git
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-02-06
- **Last Updated**: 2025-02-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
OmniThink
Expanding Knowledge Boundaries in Machine Writing
through Thinking
👏 Welcome to try OmniThink in our **[

Modelscope online demo](https://www.modelscope.cn/studios/iic/OmniThink)**!
[🤖Project]
[📄Paper]
## Table of Contents
- 🚩[Acknowledgement](#Acknowledgement)
- 🌻[Quick Start](#quick-start)
- 🌟[Introduction](#Introduction)
- 🔧[Dependencies](#Dependencies)
- 📉[Results](#Results)
- 🧐[Evaluation](#evaluation)
# 🔔News
- `2025-01-28`, We have provided support for the deepseek-reasoner model. You can try running ./examples/deepseekr1.py to test OmniThink's performance within deepseek-reasoner.
Previous News
- `2025-01-18`, we open-sourced OmniThink, a machine writing framework.
# 🌻Acknowledgement
- This work is implemented by [DsPY](https://github.com/stanfordnlp/dspy), [STORM](https://github.com/stanford-oval/storm) Sincere thanks for their efforts.
- if you have any questions, please feel free to contact via xizekun.xzk@alibaba-inc.com, 1786594371@qq.com or xizekun2023@zju.edu.cn or create an issue.
## 📖 Quick Start
- 🌏 The **Online Demo** is avaiable at [ModelScope](https://www.modelscope.cn/studios/iic/OmniThink) now!
# 📌 Introduction
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.
# 🛠 Dependencies
```bash
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 LM API key and SEARCH key as an environment variable:
```bash
export LM_KEY=YOUR_API_KEY
export SEARCHKEY=YOUR_SEARCHKEY
```
> You can define your own [LM API](https://github.com/zjunlp/OmniThink/blob/main/src/tools/lm.py) and [SEARCH API](https://github.com/zjunlp/OmniThink/blob/main/src/tools/rm.py)
> Note that the output of the LM should be a LIST.
# Results in OmniThink
The preformance of OmniThink is shown below:
# Generate Article in OmniThink
Just one command required
```bash
sh run.sh
```
You can find your Article, Outline and mindmap in ./results/
# 🔍 Evaluation
We are organizing the evaluation code and will open source it soon.
## Citation
If you find our repo useful in your research, please kindly consider cite:
```angular2
@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},
}
```