这是一个强大的搜索引擎,它结合了 LangChain、模型上下文协议(MCP)、检索增强生成(RAG)和 Ollama,构建了一个代理型 AI 系统。该系统能够进行网络搜索、信息检索,并为用户提供相关答案。
本搜索引擎功能强大且灵活,支持多种使用模式。你可以按照以下安装步骤和使用方法,快速体验其强大功能。
git clone https://github.com/your-username/search-engine-with-rag-and-mcp.git
cd search-engine-with-rag-and-mcp
pip install -r requirements.txt
python src/main.py serve --mode direct
python src/main.py search --query "your-query-here"
python src/main.py serve --mode agent
curl -X POST http://localhost:8000/agent/search -d '{"query": "your-query-here"}'
python src/main.py serve --mode mcp
curl -X POST http://localhost:8001/mcp/execute -d '{"tool": "search", "input": "your-query-here"}'
该项目集成了几个关键组件:
search-engine-with-rag-and-mcp/
├── LICENSE # MIT 许可证
├── README.md # 项目文档
├── data/ # 数据目录
├── docs/ # 文档
│ └── env_template.md # 环境变量文档模板
├── logs/ # 日志文件目录(自动创建)
├── src/ # 主包(源代码)
│ ├── __init__.py
│ ├── core/ # 核心功能
│ │ ├── __init__.py
│ │ ├── main.py # 入口点
│ │ ├── search.py # 网络搜索模块
│ │ ├── rag.py # RAG 实现
│ │ ├── agent.py # LangChain 代理
│ │ └── mcp_server.py # MCP 服务器实现
│ └── utils/ # 工具包
└── __init__.py
└── requirements.txt # 依赖管理
项目遵循以下最佳实践:
black
进行自动格式化,确保编码风格一致。mypy
进行静态类型检查,避免运行时错误。flake8
和 pylint
进行代码质量控制。pytest
编写和执行单元测试,确保功能正确性。项目遵循 MIT 许可证,详细内容请参阅 LICENSE 文件。
感谢以下项目的贡献: