README
🚀 使用MCP连接RAG应用程序到open-webui的开源项目
本项目旨在探索如何使用模型上下文协议(MCP)将RAG应用程序连接到open-webui。以下是项目的详细介绍和实践步骤。
🚀 快速开始
最基本的MCP概念验证(Hello World)
首先,你需要安装mcp[cli]库:
pip install mcp[cli]
接下来,你会遇到一些配置和调试的步骤:
- 查找SSE代码片段的相关文档。
- 使用uvicorn运行服务器。
- 初始尝试可能会失败,查看
SseServerTranpsort类的文档,你会发现它与MCP官网上的说明不同。 - 将Route更改为Mount,这个问题就可以解决。
- 星lette框架可能会导致307临时重定向错误,使用curl测试时会发现这是由于缺少尾部斜杠。
- 查看github仓库,你会发现在服务器代码中路由都以尾部斜杠结尾,尤其是
sse = SseServerTransport("/messages/")部分,这告诉了客户端需要调用的端点。 - 添加一些提示并检查客户端。
项目说明
我一直致力于研究用于open-webui的RAG原型,因此想尝试模型上下文协议(MCP)。MCP看起来类似于语言服务器协议(LSP)。由于服务器和客户端不在同一台机器上,我们必须使用服务器发送事件(SSE)传输。
MCP官方文档有一些代码片段,但我不得不根据mcp python库中的docstrings进行调整。解决问题花了很多时间,最初是因为服务器发送了错误的端点而导致307临时重定向错误。
最后,我们需要进行测试,构建一个简单的交互式解释器(REPL)来与服务器交互。
目标
- 理解MCP是什么。
- 实现一个简单的服务器和客户端。
- 尝试函数调用/工具使用。
✨ 主要特性
实现一个基本的知识库
我想创建一个简单的知识库,可以将其插入到MCP服务器中,并通过客户端调用来检索一些上下文。
MCP客户端 + Open-WebUI
将MCP客户端与Open-WebUI集成,实现更强大的功能。
Scan to contact