Token导航 LogoToken导航TokenDH.com
Hyper Rag logo
搜索检索stdio官方级别未说明来源级核验

Hyper Rag

MCP Server

一个基于MCP架构的全面RAG系统,支持波斯语和英语,具备企业级功能,包括多语言文档处理、混合检索和重新排序。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
Python搜索文档处理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

adakco

提供方

adakco

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m pytest tests/

详细介绍

MCP-原生代理超RAG(HyperRAG)

一个基于MCP(模型-控制器-提供者)架构构建的综合RAG(检索增强生成)系统,支持波斯语和英语,具备企业级功能。

🏗️ 架构概述

该系统采用三阶段方法实施:

  1. 第一阶段专业RAG系统,支持混合搜索与重排序
  2. 第二阶段智能打包的长上下文管理
  3. 第三阶段具有决策循环的代理执行

核心组件

  • 文档摄入多语言文档处理,同时去除个人身份信息(PII)
  • 智能分块处理特定语言的文本分段
  • 混合检索使用RRF进行密集+稀疏向量搜索
  • 重新排序用于相关性评分的交叉编码器模型
  • 多租户安全OPA策略与租户隔离
  • 可观测性使用OTEL、Grafana和Langfuse进行全面监控

🚀 快速入门

先决条件

  • Docker 和 Docker Compose
  • Python 3.9及以上版本
  • Git(一种分布式版本控制系统)

安装

  1. 克隆仓库
   git clone 
   cd Hyper-RAG
  1. 启动所有服务
   ./start-services.sh
  1. 验证服务是否正在运行:
   # Check service health
   curl http://localhost:8000/health  # Ingestor
   curl http://localhost:8001/health  # Normalizer
   curl http://localhost:8002/health  # Retriever
   curl http://localhost:8003/health  # Chunker
   curl http://localhost:8004/health  # Embedder

服务URL

服务URL描述
输入内容:Ingestor APIhttp://localhost:8000Document ingestion
翻译内容:输入处理器APIhttp://localhost:8000文档输入

根据上面的信息,执行如下指令: 检索器API | http://localhost:8002 | 混合搜索与再排序 分块器API | http://localhost:8003 | 智能文本分块 嵌入API | http://localhost:8004 | 向量嵌入生成 | MinIO 控制台 | http://localhost:9001 | 对象存储(管理员/密码123) | | Qdrant 控制台 | http://localhost:6333/dashboard | 向量数据库 | | Neo4j 浏览器 | http://localhost:7474 | 知识图谱(用户名:neo4j,密码:password123) | | Grafana | http://localhost:3000 | 监控(管理员/管理员123) | | Prometheus | http://localhost:9090 | 指标 | | Jaeger | http://localhost:16686 | 分布式追踪 |

| Langfuse | http://localhost:3001 | AI质量监控 |

📚 使用示例

# Ingest an English document
curl -X POST "http://localhost:8000/ingest" \
  -F "doc_id=sample-doc-1" \
  -F "tenant=acme" \
  -F "project=alpha" \
  -F "lang=en" \
  -F "title=Sample English Document" \
  -F "file=@sample.txt"

# Ingest a Persian document
curl -X POST "http://localhost:8000/ingest" \
  -F "doc_id=sample-doc-2" \
  -F "tenant=acme" \
  -F "project=alpha" \
  -F "lang=fa" \
  -F "title=سند نمونه فارسی" \
  -F "file=@sample_fa.txt"

1. 文档摄入/处理

# Search in English
curl -X POST "http://localhost:8002/retrieve" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "What is the main topic?",
    "lang": "en",
    "tenant": "acme",
    "k_final": 5,
    "rerank": true
  }'

# Search in Persian
curl -X POST "http://localhost:8002/retrieve" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "موضوع اصلی چیست؟",
    "lang": "fa",
    "tenant": "acme",
    "k_final": 5,
    "rerank": true
  }'

2. 文档检索

# Check processing status
curl "http://localhost:8000/documents/sample-doc-1/status"

3. 检查文件状态

🔧 配置

环境变量

# Database
DATABASE_URL=postgresql://hyperrag:password123@localhost:5432/hyperrag

# Redis
REDIS_URL=redis://localhost:6379

# NATS
NATS_URL=nats://localhost:4222

# Qdrant
QDRANT_URL=http://localhost:6333

# MinIO/S3
MINIO_ENDPOINT=localhost:9000
MINIO_ACCESS_KEY=admin
MINIO_SECRET_KEY=password123

# Models
PERSIAN_EMBEDDING_MODEL=HooshvareLab/bert-fa-base-uncased
ENGLISH_EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2

每个服务都可以通过环境变量进行配置:

# Chunk size and overlap
CHUNK_SIZE=1000
CHUNK_OVERLAP=200
MAX_CHUNK_SIZE=2000
MIN_CHUNK_SIZE=100

分块参数

🏛️ 建筑细节

  1. 数据流摄入
  2. 文档已上传并存储在MinIO中规范化
  3. 个人身份信息(PII)的移除和文本规范化分块处理
  4. 特定语言的文本分段嵌入
  5. 使用语言特定模型进行向量生成索引编制
  6. 在Qdrant中存储带有元数据的信息检索

使用RRF的混合搜索与重新排序

  • 多租户安全租户隔离
  • PostgreSQL中的行级安全性访问控制
  • 针对细粒度权限的OPA策略数据加密
  • 服务之间的双向传输层安全性(mTLS)审计轨迹(或审计追踪)

完整的操作日志记录

语言支持

  • 波斯语(فارسی)文本处理
  • 用于规范化的Hazm库嵌入模型 HooshvareLab/bert-fa-base-uncased
  • 分块处理
  • 句子感知的分段RTL(从右到左)支持

正确的文本渲染

  • 英语文本处理
  • SpaCy 和标准库嵌入模型 sentence-transformers/all-MiniLM-L6-v2
  • 分块(或称为“分组”)
  • 递归字符拆分重新排序

交叉编码器模型

📊 监控与可观测性

  • 指标检索质量
  • 忠实度,前10名召回率演出
  • p95延迟,吞吐量成本
  • 令牌使用量,嵌入成本可靠性

成功率,错误数

  • 仪表盘Grafana(中文可译为“格拉夫纳”,但通常直接使用原名,因其是一个知名的数据可视化工具名称)
  • 系统指标和性能Langfuse(注:这是一个专有名词,直接音译为“朗夫斯”,但具体含义或品牌名需根据上下文或官方解释来确定,此处仅为音译)
  • 人工智能质量与评估雅各(Jaeger,根据语境也可能翻译为“杰格”等,但“雅各”是较为常见的译法之一)
  • 分布式追踪普罗米修斯

原始指标收集

SLO 目标

指标目标告警阈值
保真度(英文)≥ 0.88\ 2秒
p95 延迟(安全)≤ 3秒> 4秒

| 每次查询成本 | ≤ $0.002 | > $0.003 |

🔒 安全功能

  • PII保护(个人身份信息保护)检测
  • 多语言分析仪(Presidio)匿名化
  • 自动个人身份信息(PII)替换审计

完整的PII(个人可识别信息)检测日志

  • 访问控制认证
  • 带有OIDC集成的JWT授权
  • 带有OPA策略的ABAC(基于属性的访问控制)租户隔离

完全的数据隔离

  • 数据保护加密
  • SSE-KMS 用于对象存储网络
  • 所有服务之间的双向TLS(mTLS)合规

用于审计追踪的只读存储(WORM存储)

🧪 测试

# Run tests for each service
cd platform/services/ingestor
python -m pytest tests/

cd ../retriever
python -m pytest tests/

单元测试

# Run end-to-end tests
python tests/integration/test_full_pipeline.py

集成测试

# Load testing
python tests/performance/load_test.py

性能测试

🚀 部署

./start-services.sh

发展

# Using Helm
helm install hyperrag platform/infra/helmfile/

# Using Docker Compose
docker-compose -f platform/infra/compose/docker-compose.prod.yml up -d

生产

# Deploy to Kubernetes
kubectl apply -f platform/infra/k8s/

Kubernetes(通常简称为K8s)

📈 性能优化

  • 检索优化向量索引
  • 具有优化参数的HNSW(高效近似最近邻搜索算法)批处理
  • 并行嵌入生成缓存
  • 用于频繁查询的Redis重新排序

高效的交叉编码器模型

  • 资源管理连接池
  • 优化数据库连接内存管理
  • 高效的模型加载CPU利用率

尽可能进行并行处理

  1. 🤝 贡献(或“参与贡献”)
  2. 克隆仓库
  3. 创建一个特性分支
  4. 做出你的更改
  5. 添加测试

提交拉取请求

# Install development dependencies
pip install -r requirements-dev.txt

# Run linting
flake8 platform/
black platform/

# Run tests
pytest tests/

开发环境设置

📄 许可证 这个项目采用MIT许可证授权 - 请参阅 许可证

文件中有详细信息。

  • 🆘 支持文档 :
  • docs/(文档/文件夹)问题
  • GitHub Issues(GitHub问题)讨论
  • GitHub 讨论区电子邮件

support@hyperrag.ai(可译为:支持邮箱:support@hyperrag.ai)

🗺️ 路线图/路线规划

  • 第一阶段(已完成)
  • ✅ 文档摄入与处理
  • ✅ 支持多种语言(波斯语/英语)
  • ✅ 使用RRF的混合检索
  • ✅ 重新排序功能

✅ 基本可观测性

  • 第二阶段(进行中)
  • 🔄 长期上下文管理
  • 🔄 智能包装
  • 🔄 存储系统

🔄 高级缓存

  • 第三阶段(计划中)
  • ⏳ 代理协调
  • ⏳ 决策循环
  • ⏳ 高级护栏

______________________________________________________________________

⏳ 成本优化

目录标签

目录标签

Python搜索文档处理多语言处理本地部署混合检索企业级RAG智能分块多租户安全

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP