InternLM/MindSearch · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
✨ MindSearch: 模拟人类心智激发深度 AI 搜索器
📅 更新日志
- 2024/11/05: 🥳 MindSearch 现已部署在 Puyu 上! 👉 试一试 👈
- 基于 Lagent v0.5 重构了 agent 模块,以提升并发性能。
- 改进了 UI,以体现同时多查询搜索。
⚽️ 构建你自己的 MindSearch
Step1: 依赖安装
git clone https://github.com/InternLM/MindSearch
cd MindSearch
pip install -r requirements.txt
步骤 2:设置环境变量
在设置 API 之前,您需要配置环境变量。将 .env.example 文件重命名为 .env 并填入所需的值。
mv .env.example .env
# Open .env and add your keys and model configurations
Step3: 配置 MindSearch API
配置 FastAPI 服务器。
python -m mindsearch.app --lang en --model_format internlm_server --search_engine DuckDuckGoSearch --asy
-
--lang: 模型的语言,en为英语,cn为中文。 -
--model_format: 模型的格式。- 本地服务器使用 InternLM2.5-7b-chat 时选择
internlm_server。(InternLM2.5-7b-chat 针对中文进行了更好的优化。) - GPT4 选择
gpt4。 如果您想使用其他模型,请修改 models
- 本地服务器使用 InternLM2.5-7b-chat 时选择
-
--search_engine: 搜索引擎。- DuckDuckGo 搜索引擎选择
DuckDuckGoSearch。 - Bing 搜索引擎选择
BingSearch。 - Brave 搜索 Web API 引擎选择
BraveSearch。 - Google Serper 网络搜索 API 引擎选择
GoogleSearch。 - 腾讯搜索 API 引擎选择
TencentSearch。
除非您使用
DuckDuckGo,或需要 secret id 作为TENCENT_SEARCH_SECRET_ID且 secret key 作为TENCENT_SEARCH_SECRET_KEY的TencentSearch,否则请将您的 Web 搜索引擎 API 密钥设置为WEB_SEARCH_API_KEY环境变量。 - DuckDuckGo 搜索引擎选择
-
--asy: 部署异步代理。
Step4: 设置 MindSearch 前端
提供以下前端界面,
- React
首先配置 Vite 代理的后端 URL。
HOST="127.0.0.1" # modify as you need
PORT=8002
sed -i -r "s/target:\s*\"\"/target: \"${HOST}:${PORT}\"/" frontend/React/vite.config.ts
# 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
详细信息可在 React
- Gradio
python frontend/mindsearch_gradio.py
- Streamlit
streamlit run frontend/mindsearch_streamlit.py
🌐 更改 Web Search API
若要使用不同类型的 web search API,请修改位于 mindsearch/agent/__init__.py 中的 searcher_cfg 里的 searcher_type 属性。当前支持的 web search API 包括:
GoogleSearchDuckDuckGoSearchBraveSearchBingSearchTencentSearch
例如,若要切换到 Brave Search API,请按如下方式配置:
BingBrowser(
searcher_type='BraveSearch',
topk=2,
api_key=os.environ.get('BRAVE_API_KEY', 'YOUR BRAVE API')
)
🐞 无前端使用后端
对于偏好直接与后端交互的用户,请使用 backend_example.py 脚本。该脚本演示了如何向后端发送查询并处理响应。
python backend_example.py
在执行脚本之前,请确保已设置环境变量且后端正在运行。
🐞 本地调试
python -m mindsearch.terminal
📝 许可证
本项目依据 Apache 2.0 许可证 发布。
引用
如果您在研究中发现本项目有用,请考虑引用:
@article{chen2024mindsearch,
title={MindSearch: Mimicking Human Minds Elicits Deep AI Searcher},
author={Chen, Zehui and Liu, Kuikun and Wang, Qiuchen and Liu, Jiangning and Zhang, Wenwei and Chen, Kai and Zhao, Feng},
journal={arXiv preprint arXiv:2407.20183},
year={2024}
}
我们的项目
探索我们在大语言模型方面的额外研究,重点关注 LLM 智能体。