[🌐 Project Page](https://mindsearch.netlify.app/) | [📃 Paper](https://arxiv.org/abs/2407.20183) | [đŸ’ģ Playground](https://mindsearch.openxlab.org.cn/) English | [įŽ€äŊ“中文](README_zh-CN.md)

## ✨ MindSearch: Mimicking Human Minds Elicits Deep AI Searcher MindSearch is an open-source AI Search Engine Framework with Perplexity.ai Pro performance. You can simply deploy it with your own perplexity.ai style search engine with either close-source LLMs (GPT, Claude) or open-source LLMs (InternLM2.5-7b-chat). It owns following features: - 🤔 **Ask everything you want to know**: MindSearch is designed to solve any question in your life and use web knowledge. - 📚 **In-depth Knowledge Discovery**: MindSearch browses hundreds of web pages to answer your question, providing deeper and wider knowledge base answer. - 🔍 **Detailed Solution Path**: MindSearch exposes all details, allowing users to check everything they want. This greatly improves the credibility of its final response as well as usability. - đŸ’ģ **Optimized UI Experimence**: Providing all kinds of interfaces for users, including React, Gradio, Streamlit and Terminal. Choose any type based on your need. - 🧠 **Dynamic Graph Construction Process**: MindSearch decomposes the user query into atomic sub-questions as nodes in the graph and progressively extends the graph based on the search result from WebSearcher.
## ⚡ī¸ MindSearch vs other AI Search Engines Comparison on human preference based on depth, breadth, factuality of the response generated by ChatGPT-Web, Perplexity.ai (Pro), and MindSearch. Results are obtained on 100 human-crafted real-world questions and evaluated by 5 human experts\*.
* All experiments are done before July.7 2024. ## âšŊī¸ Build Your Own MindSearch ### Step1: Dependencies Installation ```bash pip install -r requirements.txt ``` ### Step2: Setup MindSearch API Setup FastAPI Server. ```bash python -m mindsearch.app --lang en --model_format internlm_server ``` - `--lang`: language of the model, `en` for English and `zh` for Chinese. - `--model_format`: format of the model. - `internlm_server` for InternLM2.5-7b-chat with local server. (InternLM2.5-7b-chat has been better optimized for Chinese.) - `gpt4` for GPT4. if you want to use other models, please modify [models](./mindsearch/agent/models.py) ### Step3: Setup MindSearch Frontend Providing following frontend interfaces, - React ```bash # Install Node.js and npm # for Ubuntu sudo apt install nodejs npm # for windows # download from https://nodejs.org/zh-cn/download/prebuilt-installer # Install dependencies cd frontend/React npm install npm start ``` Details can be found in [React](./frontend/React/README.md) - Gradio ```bash python frontend/mindsearch_gradio.py ``` - Streamlit ```bash streamlit run frontend/mindsearch_streamlit.py ``` ## 🐞 Debug Locally ```bash python -m mindsearch.terminal ``` ## 📝 License This project is released under the [Apache 2.0 license](LICENSE). ## Citation If you find this project useful in your research, please consider cite: ``` @misc{chen2024mindsearchmimickinghumanminds, title={MindSearch: Mimicking Human Minds Elicits Deep AI Searcher}, author={Zehui Chen and Kuikun Liu and Qiuchen Wang and Jiangning Liu and Wenwei Zhang and Kai Chen and Feng Zhao}, year={2024}, eprint={2407.20183}, archivePrefix={arXiv}, primaryClass={cs.CL}, url={https://arxiv.org/abs/2407.20183}, } ```