返回 MCP 目录
public公开dns本地运行

Shared Knowledge RAG

Shared Knowledge MCP Server是一个为多种AI助手提供统一知识库服务的中间件,通过RAG技术实现高效信息检索与共享。

article

README

🚀 共享知识库

本项目通过整合大型语言模型(LLM)与本地知识库,实现更智能的信息检索与处理。它能自动加载指定文件并分块,将文本转换为向量存储,还能基于向量相似度快速定位相关文档片段,极大提升信息检索效率。

🚀 快速开始

HNSWLib(默认)

无需额外环境准备,直接运行:

./rebuild-vector-store-hnsw.sh

Weaviate

  1. 启动Docker容器:
./start-weaviate.sh
  1. 重建向量存储:
./rebuild-vector-store-weaviate.sh
  1. 查看服务状态:
curl http://localhost:8080/v1/.well-known/ready
  1. 停止服务:
docker-compose down

✨ 主要特性

核心功能

  1. 知识库构建:自动从指定目录加载Markdown文件(.md, .mdx)和文本文件(.txt),并将其内容进行分块处理。
  2. 向量化存储:利用OpenAI API将文本数据转换为高维向量,并支持多种向量存储方案。
  3. 智能检索:通过向量相似度计算,快速定位与查询问题最相关的文档片段。

检索增强功能

系统提供丰富的结果信息,包括但不限于:

  • 位置标记:精确到段落级别的内容定位。
  • 文档类型:支持Markdown、文本文件等多种格式识别。
  • 内容摘要:自动生成简洁的内容概览。
  • 关键词提取:智能抽取核心主题词汇。

示例输出格式如下:

{
  "hits": [
    {
      "id": "chunk_123",
      "score": 0.95,
      "content": "这是一段示例文本内容...",
      "position": [42, 56],
      "document_type": "Markdown",
      "summary": "这段文字主要讲述了...",
      "keywords": ["关键词1", "关键词2"]
    }
  ]
}

这些扩展信息极大提升了LLM对检索结果的理解与利用效率。

📦 安装指南

通过以下环境变量进行系统配置:

| 变量名 | 描述 | 默认值 | |--------|------|--------| | KNOWLEDGE_BASE_PATH | 指定知识库根目录 | 必填 | | OPENAI_API_KEY | OpenAI API认证密钥 | 必填 | | SIMILARITY_THRESHOLD | 检索相似度阈值(0 - 1) | 0.7 | | CHUNK_SIZE | 分块大小 | 1000 | | CHUNK_OVERLAP | 块间重叠字数 | 200 | | VECTOR_STORE_TYPE | 存储引擎类型 | hnswlib | | VECTOR_STORE_CONFIG | 存储器配置参数 | {} |

🔧 技术细节

技术架构

系统采用模块化设计,核心组件包括:

  1. 知识库管理器:负责文档加载、分块与向量化处理。
  2. 向量存储引擎:支持多种存储方案,便于灵活扩展。
  3. 检索服务:基于向量相似度进行高效查询。

支持的向量存储方案

  • HNSWLib(默认):轻量级本地存储方案。
  • Chroma:开源向量数据库。
  • Pinecone:托管式向量服务(需API密钥)。
  • Milvus:分布式向量检索引擎。
  • Weaviate:模式优先的知识图谱存储(需Docker环境)。

📄 许可证

本项目遵循[ Apache License 2.0 ]协议。

🤝 项目贡献

欢迎社区参与改进与优化,具体贡献指南请参考[ CONTRIBUTION.md ]。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端