RAG应用连接工具

通过MCP协议将RAG应用连接到open-webui的工具,支持知识库检索和功能调用。

  • by felixscherz
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 felixscherz/mcp-rag

使用说明

mcp-rag

通过MCP将RAG应用程序连接到open-webui

仅包含基本功能的MCP概念验证/Hello World

pip install mcp[cli]
  • 查阅关于SSE代码片段的文档
  • 使用uvicorn运行服务器
  • 不起作用 -> 请查阅文档中的 SseServerTranpsort 与MCP网站不同的类
  • 将 starlette_app 的 Route 更改为 Mount,然后它就可以正常工作了
  • Starlette返回307临时重定向,使用curl测试显示这是由于缺少尾随斜杠 斜杠
  • 查看了github仓库,发现服务器代码中的路由路径末尾都带有斜杠,特别是 sse = SseServerTransport("/messages/") 我猜这部分告诉客户端应该调用什么
  • 在客户端添加一些提示并进行检查

Writeup

  • 我想尝试一下模型上下文协议,因为我一直在试验用于(某种用途的)RAG原型 open-webui。MCP看起来与LSP相似。由于服务器和客户端不会在同一台机器上,我们必须使用SSE 运输。
  • MCP在官方文档中附带了一些代码片段,我不得不根据文档字符串对它们进行了一些调整 由mcp python库提供。我花了一段时间才让事情运转起来,最初遇到了307临时重定向的问题 自服务器发送错误端点以来发生的错误。
  • 测试一下!构建一个小型的REPL来与服务器进行交互

目标

  1. 了解MCP是什么
  2. 实现一个简单的服务器和客户端
  3. 尝试使用函数调用/工具

2. 实现一个基本的知识库

  • 我想构建一个简单的知识库,我们可以将其粘贴到MCP服务器中,并通过客户端调用来检索 根据上面的信息,执行如下指令:。

3. MCP客户端 + Open-WebUI