术语表
术语表
相关源文件
本章引用的主要源码文件:
README.mdREADME_ar.mdREADME_fr.mdREADME_id.mdREADME_ja.mdREADME_ko.mdREADME_pt_br.mdREADME_tr.mdREADME_tzh.mdREADME_zh.mdadmin/server/admin_server.pyagent/canvas.pyagent/component/agent_with_tools.pyagent/component/base.pyagent/component/categorize.pyagent/component/llm.pyagent/tools/base.pyapi/apps/__init__.pyapi/apps/llm_app.pyapi/db/__init__.pyapi/db/db_models.pyapi/db/init_data.pyapi/db/services/dialog_service.pyapi/db/services/document_service.pyapi/db/services/file_service.pyapi/db/services/knowledgebase_service.pyapi/db/services/llm_service.pyapi/db/services/task_service.pyapi/db/services/user_service.pyapi/ragflow_server.pyapi/settings.pyapi/utils/api_utils.pycommon/mcp_tool_call_conn.pyconf/llm_factories.jsonconf/service_conf.yamldeepdoc/parser/excel_parser.pydocker/.envdocker/README.mddocker/service_conf.yaml.templatedocs/guides/manage_files.mddocs/quickstart.mdxrag/app/book.pyrag/app/laws.pyrag/app/manual.pyrag/app/naive.pyrag/app/one.pyrag/app/paper.pyrag/app/presentation.pyrag/app/qa.pyrag/app/table.pyrag/llm/__init__.pyrag/llm/chat_model.pyrag/llm/cv_model.pyrag/llm/embedding_model.pyrag/llm/rerank_model.pyrag/llm/sequence2txt_model.pyrag/llm/tts_model.pyrag/nlp/__init__.pyrag/nlp/search.pyrag/prompts/generator.pyrag/raptor.pyrag/svr/task_executor.pyrag/utils/redis_conn.pytest/testcases/test_web_api/test_system_app/test_apps_init_unit.pyweb/src/components/svg-icon.tsxweb/src/constants/llm.tsweb/src/pages/user-setting/setting-model/constant.tsweb/src/utils/common-util.ts
本页面提供了代码库特定术语、领域概念以及 RAGFlow 中使用的架构术语的定义和技术说明。
目的与范围
RAGFlow 术语表作为新入职工程师的参考,帮助他们理解 Python 后端、Go 服务器和 React 前端中使用的特定命名规范。它将高层级的检索增强生成(RAG)概念与 rag/、api/ 和 agent/ 目录中的具体实现联系起来。
核心领域术语
检索增强生成(RAG,召回-Augmented 生成)
系统的核心架构模式。它涉及从数据存储中检索相关的文档片段,为大语言模型(LLM)提供上下文,从而生成有依据的响应 README.md:75-78。
数据集(知识库)
属于某个租户的逻辑文档集合。在代码中,通常被称为 Knowledgebase 或 KB。
- 代码实体:
KnowledgebaseServiceapi/db/services/knowledgebase_service.py:34-34 - 数据库表:
knowledgebaseapi/db/db_models.py:113-113 - 本地化: 英文 UI 中称为 "Dataset",中文 UI 中称为 "知识库"
README_zh.md:77-77。
片段切分(解析)
将文档分解为更小、可搜索单元的过程。RAGFlow 使用"基于模板的片段切分",根据文档结构应用不同的解析器 README.md:120-124。
- 代码实体:
ParserTypecommon/constants.py:72-72 - 实现:
task_executor.py中的FACTORY将解析器类型(例如NAIVE、PAPER、BOOK、QA)映射到具体的实现模块rag/svr/task_executor.py:103-120。
嵌入向量
将文本片段转换为数值向量的过程。这些向量存储在文档存储中,用于相似性搜索。
- 代码实体:
Base嵌入向量类rag/llm/embedding_model.py:107-114 - 内置支持:
BuiltinEmbed处理本地嵌入向量推理,通常通过settings.EMBEDDING_CFG进行配置rag/llm/embedding_model.py:123-142。
重排序
一个二阶段检索过程,其中专门的模型(重排序器)根据查询对检索到的片段进行相关性评分,以提高精确度 README.md:138-139。
- 代码实体:
RerankModel工厂映射api/apps/llm_app.py:29-29
代码库特定术语
对话(助手)
一个配置对象,定义了聊天的行为方式,包括它搜索哪些数据集、使用哪个大语言模型(LLM)以及系统提示词。
- 代码实体:
DialogServiceapi/db/services/dialog_service.py:98-99 - 数据库表:
dialogapi/db/db_models.py:653-653
会话(对话)
用户与对话或代理之间的交互。
- 数据库表:
conversationapi/db/db_models.py:701-701 - 服务层:
ConversationServiceapi/db/services/conversation_service.py:34-34
租户
多租户的顶层实体。所有数据集、文档和大语言模型(LLM)配置都限定在 tenant_id 范围内。
- 模型包装器:
LLMBundleapi/db/services/llm_service.py:105-105 - 模型配置:
get_model_config_by_type_and_name检索特定租户的大语言模型(LLM)设置api/db/joint_services/tenant_model_service.py:78-78
任务执行器
负责处理繁重任务的后台工作进程,例如文档解析、嵌入向量和 GraphRAG 索引。它从 Redis Streams 中消费任务。
- 关键逻辑:
task_executor.py使用信号量(如task_limiter)管理并发任务处理rag/svr/task_executor.py:142-149。 - 任务类型: 将
dataflow、raptor、memory等标识符映射到PipelineTaskTyperag/svr/task_executor.py:122-129。
记忆
AI 代理跨会话持久化信息的功能,分为原始、语义、情景和程序等类型 README.md:92-92。
- 代码实体:
handle_save_to_memory_taskrag/svr/task_executor.py:39-39 - 任务类型:
PipelineTaskType.MEMORYrag/svr/task_executor.py:127-127
系统空间映射
自然语言到代码实体映射
此图展示了 UI/文档中面向用户的概念如何映射到后端的特定类和数据库模型。
概念映射图
来源:api/db/db_models.py:113-653,api/db/services/knowledgebase_service.py:34-34,api/db/services/dialog_service.py:98-99,api/db/services/document_service.py:41-42,api/db/db_models.py:1126-1126
任务执行数据流
映射文档处理任务从"自然语言空间"(用户操作)到"代码实体空间"(后台处理)的生命周期。
任务生命周期图
来源:rag/svr/task_executor.py:103-120,rag/svr/task_executor.py:161-181,api/db/services/document_service.py:41-42,api/db/services/task_service.py:32-32
技术缩写
| 缩写 | 全称 | 描述 | 代码指针 |
|---|---|---|---|
| DSL | 领域特定语言 | 代理工作流图的 JSON 表示。 | agent/canvas.py:29-29 |
| MCP | 模型上下文协议 | 用于将大语言模型(LLM)连接到外部数据和工具的协议。 | README.md:98-98 |
| TEI | 文本嵌入向量推理 | 用于部署文本嵌入向量模型的工具包,用于内置嵌入向量。 | rag/llm/embedding_model.py:134-138 |
| RAPTOR | 递归抽象处理... | 一种用于长文档的树状组织检索方法。 | rag/svr/task_executor.py:43-51 |
| OCR | 光学字符识别 | 用于文档解析,从图像或 PDF 中提取文本。 | rag/llm/chat_model.py:29-29 |
| KG | 知识图谱 | 基于图的解析和检索策略。 | rag/svr/task_executor.py:118-118 |
| BM25 | 最佳匹配 25 | 搜索引擎使用的排序函数,用于估计文档的相关性。 | README.md:138-138 |
来源:README.md:75-139,rag/llm/embedding_model.py:134-138,rag/svr/task_executor.py:43-127,agent/canvas.py:29-29,rag/llm/chat_model.py:39-51