Shared Knowledge RAG

Shared Knowledge RAG

🚀 共享知识库

本项目通过整合大型语言模型(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 ]。

  • 0 关注
  • 0 收藏,27 浏览
  • system 提出于 2025-09-19 18:39

相似服务问题

相关AI产品