agentic_huge_data_base / wiki
页面 Dify · 13 术语表·DeepWiki 中文全文译文

13 · 术语表(Glossary)

应用编排与外部知识接入 · 聚焦本章的模块关系、源码依据与实现要点。

项目Dify 章节13 状态全文译文 模块工作流与编排、认证、权限与安全、安装与启动、智能体运行时
源码线索
  • api/.env.example
  • api/app.py
  • api/app_factory.py
  • api/configs/feature/__init__.py
  • api/configs/middleware/__init__.py
  • api/configs/observability/__init__.py
  • api/configs/observability/otel/otel_config.py
  • api/configs/packaging/__init__.py
  • api/controllers/console/auth/data_source_oauth.py
  • api/controllers/console/auth/email_register.py
模块标签
  • 工作流与编排
  • 认证、权限与安全
  • 安装与启动
  • 智能体运行时
  • 测试、发布与运维

章节正文

术语表

术语表

相关源文件

本章引用的主要源码文件:

  • api/.env.example
  • api/app.py
  • api/app_factory.py
  • api/configs/feature/__init__.py
  • api/configs/middleware/__init__.py
  • api/configs/observability/__init__.py
  • api/configs/observability/otel/otel_config.py
  • api/configs/packaging/__init__.py
  • api/controllers/console/auth/data_source_oauth.py
  • api/controllers/console/auth/email_register.py
  • api/controllers/console/auth/error.py
  • api/controllers/console/auth/forgot_password.py
  • api/controllers/console/auth/login.py
  • api/controllers/console/auth/oauth.py
  • api/controllers/console/datasets/datasets.py
  • api/controllers/console/datasets/hit_testing_base.py
  • api/controllers/console/explore/installed_app.py
  • api/controllers/console/workspace/account.py
  • api/controllers/console/workspace/members.py
  • api/controllers/console/workspace/model_providers.py
  • api/controllers/console/workspace/models.py
  • api/controllers/console/workspace/plugin.py
  • api/controllers/console/workspace/tool_providers.py
  • api/controllers/console/workspace/workspace.py
  • api/controllers/service_api/dataset/hit_testing.py
  • api/core/app/apps/advanced_chat/app_generator.py
  • api/core/app/apps/advanced_chat/app_runner.py
  • api/core/app/apps/advanced_chat/generate_task_pipeline.py
  • api/core/app/apps/agent_chat/app_generator.py
  • api/core/app/apps/chat/app_generator.py
  • api/core/app/apps/completion/app_generator.py
  • api/core/app/apps/message_based_app_generator.py
  • api/core/app/apps/pipeline/pipeline_runner.py
  • api/core/app/apps/workflow/app_generator.py
  • api/core/app/apps/workflow/app_runner.py
  • api/core/app/apps/workflow/generate_task_pipeline.py
  • api/core/app/apps/workflow_app_runner.py
  • api/core/app/entities/queue_entities.py
  • api/core/app/entities/task_entities.py
  • api/core/app/task_pipeline/easy_ui_based_generate_task_pipeline.py
  • api/core/app/task_pipeline/message_cycle_manager.py
  • api/core/callback_handler/index_tool_callback_handler.py
  • api/core/helper/moderation.py
  • api/core/helper/ssrf_proxy.py
  • api/core/mcp/client/sse_client.py
  • api/core/mcp/client/streamable_client.py
  • api/core/mcp/mcp_client.py
  • api/core/mcp/session/base_session.py
  • api/core/mcp/session/client_session.py
  • api/core/rag/datasource/retrieval_service.py
  • api/core/rag/datasource/vdb/vector_factory.py
  • api/core/rag/datasource/vdb/vector_type.py
  • api/core/rag/extractor/pdf_extractor.py
  • api/core/rag/extractor/word_extractor.py
  • api/core/rag/retrieval/dataset_retrieval.py
  • api/core/tools/entities/api_entities.py
  • api/core/tools/errors.py
  • api/core/tools/mcp_tool/provider.py
  • api/core/tools/tool_manager.py
  • api/core/tools/utils/dataset_retriever/dataset_multi_retriever_tool.py
  • api/core/tools/utils/dataset_retriever/dataset_retriever_tool.py
  • api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py
  • api/extensions/ext_compress.py
  • api/extensions/ext_otel.py
  • api/extensions/otel/instrumentation.py
  • api/libs/oauth.py
  • api/libs/oauth_data_source.py
  • api/models/account.py
  • api/models/api_based_extension.py
  • api/models/dataset.py
  • api/models/model.py
  • api/models/provider.py
  • api/models/source.py
  • api/models/task.py
  • api/models/tools.py
  • api/models/web.py
  • api/models/workflow.py
  • api/pyproject.toml
  • api/schedule/mail_clean_document_notify_task.py
  • api/services/account_service.py
  • api/services/hit_testing_service.py
  • api/services/tools/api_tools_manage_service.py
  • api/services/tools/builtin_tools_manage_service.py
  • api/services/tools/mcp_tools_manage_service.py
  • api/services/tools/tools_transform_service.py
  • api/services/tools/workflow_tools_manage_service.py
  • api/templates/change_mail_confirm_old_template_zh-CN.html
  • api/templates/transfer_workspace_owner_confirm_template_en-US.html
  • api/templates/without-brand/transfer_workspace_owner_confirm_template_en-US.html
  • api/tests/test_containers_integration_tests/services/tools/__init__.py
  • api/tests/test_containers_integration_tests/services/tools/test_api_tools_manage_service.py
  • api/tests/unit_tests/configs/test_dify_config.py
  • api/tests/unit_tests/controllers/console/datasets/test_hit_testing_base.py
  • api/tests/unit_tests/controllers/service_api/dataset/test_hit_testing.py
  • api/tests/unit_tests/core/app/apps/chat/test_base_app_runner_multimodal.py
  • api/tests/unit_tests/core/app/apps/test_advanced_chat_app_generator.py
  • api/tests/unit_tests/core/app/task_pipeline/test_easy_ui_based_generate_task_pipeline.py
  • api/tests/unit_tests/core/app/task_pipeline/test_message_cycle_manager_optimization.py
  • api/tests/unit_tests/core/helper/test_ssrf_proxy.py
  • api/tests/unit_tests/core/rag/datasource/test_datasource_retrieval.py
  • api/tests/unit_tests/core/rag/extractor/test_word_extractor.py
  • api/tests/unit_tests/core/rag/retrieval/test_dataset_retrieval.py
  • api/tests/unit_tests/core/tools/test_signature.py
  • api/tests/unit_tests/core/workflow/graph_engine/test_table_runner.py
  • api/tests/unit_tests/libs/test_oauth_clients.py
  • api/tests/unit_tests/services/test_account_service.py
  • api/tests/unit_tests/services/test_hit_testing_service_dump_records.py
  • api/tests/unit_tests/services/tools/test_builtin_tools_manage_service.py
  • api/tests/unit_tests/services/tools/test_mcp_tools_transform.py
  • api/uv.lock
  • docker/.env.example
  • docker/README.md
  • docker/docker-compose-template.yaml
  • docker/docker-compose.middleware.yaml
  • docker/docker-compose.yaml
  • docker/envs/core-services/shared.env.example
  • docker/envs/infrastructure/nginx.env.example
  • docker/envs/security.env.example
  • docker/nginx/conf.d/default.conf.template
  • web/app/components/header/account-setting/members-page/__tests__/index.spec.tsx
  • web/app/components/header/account-setting/members-page/index.tsx
  • web/app/components/header/account-setting/members-page/operation/__tests__/index.spec.tsx
  • web/app/components/header/account-setting/members-page/operation/index.tsx
  • web/package.json

本页面定义了 Dify 代码库中的关键术语、行话、缩写和领域概念。理解这些术语对于新工程师快速掌握系统的架构、数据模型和操作工作流至关重要。

核心概念

租户(租户)

"租户"代表 Dify 中的一个工作空间或组织。它作为资源(如应用、数据集和模型)的逻辑隔离边界。每个租户拥有自己的一套配置、用户和数据。

代码指针:

  • 定义:api/models/account.py:41-41
  • AccountService 中的多租户逻辑:api/services/account_service.py:115-193
  • 租户-账户关系(TenantAccountJoin):api/models/account.py:65-98
应用(App)

Dify 中的"应用"是一个可部署的应用程序,它利用 Dify 的能力构建而成,例如聊天机器人或补全应用。应用与特定租户关联,并且可以有不同的执行模式(例如,聊天、补全、工作流)。

代码指针:

  • 定义:api/models/model.py:300-300
  • 应用模型配置 TypedDictapi/models/model.py:233-248
  • 应用状态枚举:api/models/enums.py:38-38
数据集(数据集)

"数据集"是用于检索增强生成(RAG)的文档或知识来源的集合。数据集是租户特定的,可以配置各种索引技术、检索模型和处理规则。

代码指针:

  • 定义:api/models/dataset.py:117-163
  • 数据集权限:api/models/dataset.py:55-55
  • 数据集服务 API:api/controllers/console/datasets/datasets.py:59-60
文档(文档)

"文档"是数据集中内容的单个单元。它可以是文本文件、网页、Notion 页面或其他数据源。文档经过索引处理以使其可检索。

代码指针:

  • 定义:api/models/dataset.py:240-280
  • 文档片段状态:api/models/enums.py:56-56
工作流(工作流)

Dify 中的"工作流"代表 AI 应用的基于图的执行流程。它由相互连接的节点组成,每个节点执行特定任务(例如,大语言模型(LLM)调用、工具执行、知识检索)。

代码指针:

  • 定义:api/models/workflow.py:147-210
  • 工作流类型(WORKFLOWCHATRAG_PIPELINE):api/models/workflow.py:107-114
  • 工作流执行状态:api/models/enums.py:24-24

检索增强生成(RAG)系统组件

DatasetRetrieval

DatasetRetrieval 类编排跨一个或多个数据集的检索过程,处理元数据过滤、重排序和命中测试。

代码指针:

  • 类定义:api/core/rag/retrieval/dataset_retrieval.py:102-102
  • knowledge_retrieval 方法:api/core/rag/retrieval/dataset_retrieval.py:119-157
图表:检索逻辑流程
Dify · 图表:检索逻辑流程 · 图 1
Dify · 图表:检索逻辑流程 · 图 1

来源:api/core/rag/retrieval/dataset_retrieval.py:119-157api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py:1-50api/core/rag/datasource/vdb/vector_factory.py:1-50

DocumentSegment

DocumentSegment 表示文档在拆分和处理后的一个片段。这些片段是在检索增强生成(RAG)过程中被索引和检索的内容。

代码指针:

  • 定义:api/models/dataset.py:320-320
  • 片段状态枚举:api/models/enums.py:56-56

模型和提供商管理

ModelManager

ModelManager 是获取模型实例和检查提供商配置的主要入口点。

代码指针:

  • 类定义:api/core/model_manager.py:30-30
  • 在工作流执行中的使用:api/core/workflow/nodes/llm/llm_node.py:1-50
ProviderManager

ProviderManager 处理大语言模型(LLM)提供商的生命周期和配置。

代码指针:

  • 类定义:api/core/provider_manager.py:63-63
  • 提供商模型:api/models/provider.py:10-10
图表:模型调用管线
Dify · 图表:模型调用管线 · 图 2
Dify · 图表:模型调用管线 · 图 2

来源:api/core/model_manager.py:30-30api/core/provider_manager.py:63-63api/models/model.py:226-231

工具和插件生态系统

ToolManager

ToolManager 是用于发现和管理工具的中心组件。

代码指针:

  • 类定义:api/core/tools/tool_manager.py:97-97
ToolProviderController

Dify 通过基于提供商类型的各种控制器来管理工具。

代码指针:

  • 内置工具服务:api/services/tools/builtin_tools_manage_service.py:1-50
  • API 工具服务:api/services/tools/api_tools_manage_service.py:1-50
  • MCP 工具服务:api/services/tools/mcp_tools_manage_service.py:1-50

安全和访问控制

TenantAccountRole

一个枚举,定义了账户在租户内可以拥有的角色。

代码指针:

  • 枚举定义:api/models/account.py:12-18
  • 角色分配逻辑:api/services/account_service.py:49-63
DatasetPermissionEnum

一个枚举,定义了数据集的可见性和访问权限。

代码指针:

  • 枚举定义:api/models/dataset.py:111-114

基础设施和部署

模式环境变量

MODE 变量决定了 Dify API 容器的入口点。它可以设置为 apiworkerbeatjob

代码指针:

  • Worker 配置:docker/docker-compose.yaml:74-74
  • Beat 配置:docker/docker-compose.yaml:140-140
向量数据库抽象

Dify 通过类似插件的架构支持超过 23 种向量数据库。

代码指针:

  • 向量工厂:api/core/rag/datasource/vdb/vector_factory.py:1-50
  • 配置中支持的列表:api/.env.example:204-205
  • 向量数据库(VDB)的工作空间成员:api/pyproject.toml:57-57

来源:api/models/model.py:1-248api/models/workflow.py:1-210api/models/account.py:1-100api/services/account_service.py:1-193api/core/rag/retrieval/dataset_retrieval.py:102-157docker/docker-compose.yaml:1-206api/pyproject.toml:1-100api/.env.example:1-211