一个强大的搜索引擎,结合了LangChain、模型上下文协议(MCP)、检索增强生成(RAG)以及Ollama,创建了一个能够搜索网络、检索信息并提供相关答案的代理AI系统。
该项目集成了几个关键组件:
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
│ ├── env.py # 环境变量加载
│ └── logger.py # 日志配置
├── pyproject.toml # Poetry配置
├── requirements.txt # 项目依赖
└── tests/ # 测试目录
git clone https://github.com/yourusername/search-engine-with-rag-and-mcp.git
cd search-engine-with-rag-and-mcp
# 使用pip
pip install -r requirements.txt
# 或者使用poetry
poetry install
.env文件(参考docs/env_template.md)应用程序有三种主要的操作模式:
# 使用pip
python -m src.core.main "你的搜索查询"
# 或者使用poetry
poetry run python -m src.core.main "你的搜索查询"
python -m src.core.main --agent "你的搜索查询"
python -m src.core.main --server
你也可以指定自定义主机和端口:
python -m src.core.main --server --host 0.0.0.0 --port 8080
要使用Ollama进行本地嵌入和LLM能力:
ollama pull mistral:latest
.env文件中设置适当的环境变量:OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=mistral:latest
本项目遵循以下最佳实践:
本项目根据MIT许可证发布 - 查看LICENSE文件获取详细信息。