Search Engine with RAG and MCP

Search Engine with RAG and MCP

site icon
2025.04.24 0
Python智能搜索信息检索AI 代理搜索工具开发效率
search-engine-with-rag-and-mcp 是一个结合了 LangChain、Model Context Protocol (MCP)、Retrieval-Augmented Generation (RAG) 和 Ollama 的强大搜索引擎。它能够搜索网络、检索信息并提供相关答案,形成一个智能的 AI 系统。
View on GitHub

Overview

基本能力

产品定位

search-engine-with-rag-and-mcp 是一个智能搜索引擎,结合了多种先进技术,旨在提供高效、准确的网络搜索和信息检索功能。

核心功能

  • 使用 Exa API 进行网络搜索
  • 使用 FireCrawl 检索网页内容
  • 利用 RAG(Retrieval-Augmented Generation)进行更相关的信息提取
  • 通过 MCP(Model Context Protocol)服务器标准化工具调用
  • 支持本地 LLM(通过 Ollama)和云端 LLM(通过 OpenAI)
  • 灵活的架构,支持直接搜索、基于代理的搜索或服务器模式
  • 全面的错误处理和优雅的回退机制
  • Python 3.13+ 支持,带有类型提示
  • 异步处理以提高网络操作效率

适用场景

  • 网络信息检索
  • 智能问答系统
  • 数据分析和研究
  • 开发效率工具

工具列表

  1. Exa API:用于网络搜索
  2. FireCrawl:用于网页内容检索
  3. Ollama:用于本地 LLM 支持
  4. OpenAI API:用于云端 LLM 支持
  5. LangChain:用于构建智能代理

常见问题解答

  • 如何安装 Ollama?:参考 Ollama 官网 进行安装。
  • 如何获取 Exa 和 FireCrawl 的 API 密钥?:需要在各自的官网注册并获取 API 密钥。
  • 如何设置环境变量?:参考 docs/env_template.md 文件进行设置。

使用教程

使用依赖

  • Python 3.13+
  • Poetry(可选,用于开发)
  • Exa 和 FireCrawl 的 API 密钥
  • (可选)本地安装 Ollama
  • (可选)OpenAI API 密钥

安装教程

  1. 克隆仓库
git clone https://github.com/yourusername/search-engine-with-rag-and-mcp.git
cd search-engine-with-rag-and-mcp
  1. 安装依赖
# 使用 pip
pip install -r requirements.txt

# 或使用 poetry
poetry install
  1. 创建 .env 文件(参考 docs/env_template.md

调试方式

1. 直接搜索模式(默认)

# 使用 pip
python -m src.core.main "your search query"

# 或使用 poetry
poetry run python -m src.core.main "your search query"

2. 代理模式

python -m src.core.main --agent "your search query"

3. MCP 服务器模式

python -m src.core.main --server

也可以指定自定义主机和端口:

python -m src.core.main --server --host 0.0.0.0 --port 8080

使用 Ollama(可选)

  1. 安装 Ollama: https://ollama.ai/
  2. 拉取模型:
ollama pull mistral:latest
  1. .env 文件中设置适当的环境变量:
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=mistral:latest

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。