mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-10-31 04:45:23 +08:00
3.6 KiB
3.6 KiB
RAGFlowConnector
使用 RAGFlow API 从 RAGFlow 知识库中检索知识或向其中存入文件。
关于 RAGFlow
RAGFlow 是一个基于深度文档理解的开源 RAG(检索增强生成)引擎。它提供真实的问答能力,并从各种复杂格式的数据中提供有据可查的引用。
功能特性
- 从 RAGFlow 数据集/知识库中检索知识块
- 上传文件到 RAGFlow 数据集并自动触发解析
- 单次查询支持多个数据集
- 可配置的相似度阈值和向量权重
- 结合关键词和向量相似度的混合搜索
- 文件上传后自动触发 GraphRAG 知识图谱构建
- 文件上传后自动触发 RAPTOR 层次摘要构建
- 创建知识库时自动校验数据集 ID 有效性
- 返回包含术语和向量相似度分数的丰富元数据结果
配置
本插件需要以下配置参数:
必填参数(创建设置)
- api_base_url:RAGFlow API 的基础 URL
- 本地部署:
http://localhost:9380(默认) - 远程服务器:您的服务器 URL(例如
http://your-domain.com:9380)
- 本地部署:
- api_key:您的 RAGFlow 实例的 API 密钥
- dataset_ids:要搜索的数据集 ID,用逗号分隔
- 格式:
"dataset_id1,dataset_id2,dataset_id3" - 示例:
"b2a62730759d11ef987d0242ac120004,a3b52830859d11ef887d0242ac120005"
- 格式:
可选参数(创建设置)
- auto_graphrag(默认:false):文件上传解析后自动触发 GraphRAG 知识图谱构建
- auto_raptor(默认:false):文件上传解析后自动触发 RAPTOR 层次摘要构建
可选参数(检索设置)
- top_k(默认:1024):返回的最大检索结果数量
- similarity_threshold(默认:0.2):最低相似度分数(0-1)
- vector_similarity_weight(默认:0.3):混合搜索中向量相似度的权重(0-1)
- page_size(默认:30):每页结果数量
- keyword(默认:false):使用 LLM 从查询中提取关键词以增强检索
- rerank_id:在 RAGFlow 中配置的重排序模型 ID(如
BAAI/bge-reranker-v2-m3) - use_kg(默认:false):启用知识图谱检索
如何获取配置值
获取您的 RAGFlow API 密钥
- 访问您的 RAGFlow 实例(例如
http://localhost:9380) - 导航到 用户设置 > API 部分
- 生成或复制您的 API 密钥(格式:
ragflow-xxxxx)
获取您的数据集 ID
- 在 RAGFlow 中,进入您的知识库/数据集列表
- 点击数据集查看其详细信息
- 数据集 ID 通常显示在 URL 或数据集详情中
- 对于多个数据集,收集所有 ID 并用逗号连接
API 参考
本插件使用以下 RAGFlow API:
- 检索:
POST /api/v1/retrieval - 上传文档:
POST /api/v1/datasets/{dataset_id}/documents - 解析文档:
POST /api/v1/datasets/{dataset_id}/chunks - 删除文档:
DELETE /api/v1/datasets/{dataset_id}/documents - 构建知识图谱:
POST /api/v1/datasets/{dataset_id}/run_graphrag - 构建 RAPTOR:
POST /api/v1/datasets/{dataset_id}/run_raptor - 列出数据集(校验):
GET /api/v1/datasets - 文档:https://ragflow.io/docs/dev/http_api_reference
检索方法
RAGFlow 采用混合检索方法:
- 关键词相似度:传统的基于关键词的匹配
- 向量相似度:使用嵌入的语义相似度
- 加权组合:将两种方法结合,权重可配置
- 知识图谱:可选的基于图谱的检索,用于关系感知的回答
- 重排序:可选的重排序模型,提升结果质量
vector_similarity_weight 参数控制关键词与向量方法之间的平衡。