基本能力
产品定位
search-engine-with-rag-and-mcp 是一个智能搜索引擎,结合了多种先进技术,旨在提供高效、准确的网络搜索和信息检索功能。
核心功能
- 使用 Exa API 进行网络搜索
- 使用 FireCrawl 检索网页内容
- 利用 RAG(Retrieval-Augmented Generation)进行更相关的信息提取
- 通过 MCP(Model Context Protocol)服务器标准化工具调用
- 支持本地 LLM(通过 Ollama)和云端 LLM(通过 OpenAI)
- 灵活的架构,支持直接搜索、基于代理的搜索或服务器模式
- 全面的错误处理和优雅的回退机制
- Python 3.13+ 支持,带有类型提示
- 异步处理以提高网络操作效率
适用场景
- 网络信息检索
- 智能问答系统
- 数据分析和研究
- 开发效率工具
工具列表
- Exa API:用于网络搜索
- FireCrawl:用于网页内容检索
- Ollama:用于本地 LLM 支持
- OpenAI API:用于云端 LLM 支持
- LangChain:用于构建智能代理
常见问题解答
- 如何安装 Ollama?:参考 Ollama 官网 进行安装。
- 如何获取 Exa 和 FireCrawl 的 API 密钥?:需要在各自的官网注册并获取 API 密钥。
- 如何设置环境变量?:参考
docs/env_template.md
文件进行设置。
使用教程
使用依赖
- Python 3.13+
- Poetry(可选,用于开发)
- Exa 和 FireCrawl 的 API 密钥
- (可选)本地安装 Ollama
- (可选)OpenAI API 密钥
安装教程
-
克隆仓库
bash
git clone https://github.com/yourusername/search-engine-with-rag-and-mcp.git
cd search-engine-with-rag-and-mcp -
安装依赖
```bash
使用 pip
pip install -r requirements.txt
或使用 poetry
poetry install
```
- 创建
.env
文件(参考docs/env_template.md
)
调试方式
1. 直接搜索模式(默认)
```bash
使用 pip
python -m src.core.main "your search query"
或使用 poetry
poetry run python -m src.core.main "your search query"
```
2. 代理模式
bash
python -m src.core.main --agent "your search query"
3. MCP 服务器模式
bash
python -m src.core.main --server
也可以指定自定义主机和端口:
bash
python -m src.core.main --server --host 0.0.0.0 --port 8080
使用 Ollama(可选)
- 安装 Ollama: https://ollama.ai/
- 拉取模型:
bash
ollama pull mistral:latest - 在
.env
文件中设置适当的环境变量:
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=mistral:latest