Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zjunlp/OmniThink
OmniThink: Expanding Knowledge Boundaries in Machine Writing through Thinking
https://github.com/zjunlp/OmniThink
artificial-intelligence generation gpt information-seeking knowledge-augmented-generation large-language-models machine-writing natural-language-processing ominithink qwen retrieval-augmented-generation slow-thinking
Last synced: 11 days ago
JSON representation
OmniThink: Expanding Knowledge Boundaries in Machine Writing through Thinking
- Host: GitHub
- URL: https://github.com/zjunlp/OmniThink
- Owner: zjunlp
- License: mit
- Created: 2024-12-10T06:42:25.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2025-01-17T07:02:04.000Z (18 days ago)
- Last Synced: 2025-01-17T08:18:06.489Z (18 days ago)
- Topics: artificial-intelligence, generation, gpt, information-seeking, knowledge-augmented-generation, large-language-models, machine-writing, natural-language-processing, ominithink, qwen, retrieval-augmented-generation, slow-thinking
- Language: Python
- Homepage:
- Size: 12.7 MB
- Stars: 11
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-llm-agent - OmniThink
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)**!
## Table of Contents
- π»[Quick Start](#quick-start)
- π[Introduction](#Introduction)
- π§[Dependencies](#Dependencies)
- π[Results](#Results)
- π§[Evaluation](#evaluation)
- π©[Acknowledgement](#Acknowledgement)---
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.## π 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 OPENAI API key or Dashscope API key and SEARCH key as an environment variable:```bash
export OPENAI_API_KEY=YOUR_API_KEY
export SEARCHKEY=YOUR_SEARCHKEY
```or
```bash
export DASHSCOPE_KEY=YOUR_API_KEY
export SEARCHKEY=YOUR_SEARCHKEY
```
> You can define your own [LLM 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 LLM 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.
# π»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 [email protected], [email protected] or [email protected] or create an issue.## 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},
}
```