README
🚀 🔍 🤖 🌐 Ollama 聊天与 MCP 集成
本项目是一个强大的演示,展示了如何将本地大语言模型(LLM)与实时网络搜索功能相结合,通过模型上下文协议(MCP)实现。借助此集成,可极大扩展本地语言模型的能力。
🚀 快速开始
先决条件
- Python 3.11+ 版本
- 已安装并运行的 Ollama
- 一个 Serper.dev API 密钥(免费层可用)
- 网络连接以进行搜索
安装步骤
-
克隆仓库:
git clone https://github.com/redbuilding/ollama-chat-with-mcp.git cd ollama-chat-with-mcp -
安装依赖项:
pip install -r requirements.txt -
在项目根目录中创建一个
.env文件,并添加您的 Serper.dev API 密钥:SERPER_API_KEY=your_serper_api_key_here -
确保 Ollama 已安装并且预设模型可用(默认为 qwen2.5:14b):
ollama pull qwen2.5:14b
使用方法
启动网页界面
要使用基于网页的界面,执行以下命令:
python chat_frontend.py
这将启动 Gradio 网页界面,默认访问地址为 http://localhost:7860
使用终端客户端
要使用命令行界面,执行以下命令:
python chat_client.py
搜索命令
在两个界面中,您可以使用特殊命令来触发网络搜索:
- 搜索并总结:
#search for "金融市场2025年4月展望" - 搜索并回答问题:
#search for "这周的实境电视节目" 以及最近发生了什么?
其他命令
- 清除对话历史记录:
clear - 显示可用命令列表:
help
✨ 主要特性
- 🔎 网络增强聊天:在对话过程中实时获取网络搜索结果
- 🧠 本地模型执行:使用 Ollama 在您自己的硬件上运行模型
- 🔌 MCP 集成:展示 MCP 实际应用的实现
- 🌐 双界面:选择终端 CLI 或网页 GUI
- 📊 结构化搜索结果:以清晰格式呈现网络搜索数据,便于理解
- 🔄 对话记忆:在整个聊天会话中保持上下文
📚 详细文档
概述
Ollama 聊天与 MCP 展示了如何通过工具使用扩展本地语言模型的功能。此应用程序结合了本地运行的 LLM 通过 Ollama 提供的强大功能,以及通过 MCP 服务器提供的实时网络搜索功能。
该项目由三个主要组件组成:
- MCP 网络搜索服务器:使用 Serper.dev API 提供网络搜索功能
- 终端客户端:用于聊天和搜索交互的命令行界面(CLI)
- 网页前端:基于 Gradio 的用户友好型网络界面
通过这种架构,应用程序展示了 MCP 如何使本地模型访问外部工具和数据源,显著增强其能力。
工作原理
- MCP 网络搜索服务器接收来自客户端的搜索请求。
- 使用 Serper.dev API 执行实际的网络搜索。
- 结果被格式化并返回给客户端,供用户查看和分析。
- 客户端通过 Ollama 进行进一步处理,生成相关响应。
文件结构
- MCP 网络搜索服务器:负责接收和处理搜索请求。
- 终端客户端:提供命令行界面以与 MCP 交互。
- 网页前端:基于 Gradio 的用户友好型界面,便于直观操作。
自定义
可以根据具体需求自定义多个方面:
- 修改搜索范围和参数
- 更换网络爬取工具
- 定制输出格式和样式
🤝 贡献
我们欢迎社区贡献!请参考 Contributing.md 了解如何参与。
📄 许可证
项目在 LICENSE 下发布,详细许可信息请查阅相关文件。
扫码联系在线客服