术语表
术语表
相关源文件
本章引用的主要源码文件:
api/.env.exampleapi/app.pyapi/app_factory.pyapi/configs/feature/__init__.pyapi/configs/middleware/__init__.pyapi/configs/observability/__init__.pyapi/configs/observability/otel/otel_config.pyapi/configs/packaging/__init__.pyapi/controllers/console/auth/data_source_oauth.pyapi/controllers/console/auth/email_register.pyapi/controllers/console/auth/error.pyapi/controllers/console/auth/forgot_password.pyapi/controllers/console/auth/login.pyapi/controllers/console/auth/oauth.pyapi/controllers/console/datasets/datasets.pyapi/controllers/console/datasets/hit_testing_base.pyapi/controllers/console/explore/installed_app.pyapi/controllers/console/workspace/account.pyapi/controllers/console/workspace/members.pyapi/controllers/console/workspace/model_providers.pyapi/controllers/console/workspace/models.pyapi/controllers/console/workspace/plugin.pyapi/controllers/console/workspace/tool_providers.pyapi/controllers/console/workspace/workspace.pyapi/controllers/service_api/dataset/hit_testing.pyapi/core/app/apps/advanced_chat/app_generator.pyapi/core/app/apps/advanced_chat/app_runner.pyapi/core/app/apps/advanced_chat/generate_task_pipeline.pyapi/core/app/apps/agent_chat/app_generator.pyapi/core/app/apps/chat/app_generator.pyapi/core/app/apps/completion/app_generator.pyapi/core/app/apps/message_based_app_generator.pyapi/core/app/apps/pipeline/pipeline_runner.pyapi/core/app/apps/workflow/app_generator.pyapi/core/app/apps/workflow/app_runner.pyapi/core/app/apps/workflow/generate_task_pipeline.pyapi/core/app/apps/workflow_app_runner.pyapi/core/app/entities/queue_entities.pyapi/core/app/entities/task_entities.pyapi/core/app/task_pipeline/easy_ui_based_generate_task_pipeline.pyapi/core/app/task_pipeline/message_cycle_manager.pyapi/core/callback_handler/index_tool_callback_handler.pyapi/core/helper/moderation.pyapi/core/helper/ssrf_proxy.pyapi/core/mcp/client/sse_client.pyapi/core/mcp/client/streamable_client.pyapi/core/mcp/mcp_client.pyapi/core/mcp/session/base_session.pyapi/core/mcp/session/client_session.pyapi/core/rag/datasource/retrieval_service.pyapi/core/rag/datasource/vdb/vector_factory.pyapi/core/rag/datasource/vdb/vector_type.pyapi/core/rag/extractor/pdf_extractor.pyapi/core/rag/extractor/word_extractor.pyapi/core/rag/retrieval/dataset_retrieval.pyapi/core/tools/entities/api_entities.pyapi/core/tools/errors.pyapi/core/tools/mcp_tool/provider.pyapi/core/tools/tool_manager.pyapi/core/tools/utils/dataset_retriever/dataset_multi_retriever_tool.pyapi/core/tools/utils/dataset_retriever/dataset_retriever_tool.pyapi/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.pyapi/extensions/ext_compress.pyapi/extensions/ext_otel.pyapi/extensions/otel/instrumentation.pyapi/libs/oauth.pyapi/libs/oauth_data_source.pyapi/models/account.pyapi/models/api_based_extension.pyapi/models/dataset.pyapi/models/model.pyapi/models/provider.pyapi/models/source.pyapi/models/task.pyapi/models/tools.pyapi/models/web.pyapi/models/workflow.pyapi/pyproject.tomlapi/schedule/mail_clean_document_notify_task.pyapi/services/account_service.pyapi/services/hit_testing_service.pyapi/services/tools/api_tools_manage_service.pyapi/services/tools/builtin_tools_manage_service.pyapi/services/tools/mcp_tools_manage_service.pyapi/services/tools/tools_transform_service.pyapi/services/tools/workflow_tools_manage_service.pyapi/templates/change_mail_confirm_old_template_zh-CN.htmlapi/templates/transfer_workspace_owner_confirm_template_en-US.htmlapi/templates/without-brand/transfer_workspace_owner_confirm_template_en-US.htmlapi/tests/test_containers_integration_tests/services/tools/__init__.pyapi/tests/test_containers_integration_tests/services/tools/test_api_tools_manage_service.pyapi/tests/unit_tests/configs/test_dify_config.pyapi/tests/unit_tests/controllers/console/datasets/test_hit_testing_base.pyapi/tests/unit_tests/controllers/service_api/dataset/test_hit_testing.pyapi/tests/unit_tests/core/app/apps/chat/test_base_app_runner_multimodal.pyapi/tests/unit_tests/core/app/apps/test_advanced_chat_app_generator.pyapi/tests/unit_tests/core/app/task_pipeline/test_easy_ui_based_generate_task_pipeline.pyapi/tests/unit_tests/core/app/task_pipeline/test_message_cycle_manager_optimization.pyapi/tests/unit_tests/core/helper/test_ssrf_proxy.pyapi/tests/unit_tests/core/rag/datasource/test_datasource_retrieval.pyapi/tests/unit_tests/core/rag/extractor/test_word_extractor.pyapi/tests/unit_tests/core/rag/retrieval/test_dataset_retrieval.pyapi/tests/unit_tests/core/tools/test_signature.pyapi/tests/unit_tests/core/workflow/graph_engine/test_table_runner.pyapi/tests/unit_tests/libs/test_oauth_clients.pyapi/tests/unit_tests/services/test_account_service.pyapi/tests/unit_tests/services/test_hit_testing_service_dump_records.pyapi/tests/unit_tests/services/tools/test_builtin_tools_manage_service.pyapi/tests/unit_tests/services/tools/test_mcp_tools_transform.pyapi/uv.lockdocker/.env.exampledocker/README.mddocker/docker-compose-template.yamldocker/docker-compose.middleware.yamldocker/docker-compose.yamldocker/envs/core-services/shared.env.exampledocker/envs/infrastructure/nginx.env.exampledocker/envs/security.env.exampledocker/nginx/conf.d/default.conf.templateweb/app/components/header/account-setting/members-page/__tests__/index.spec.tsxweb/app/components/header/account-setting/members-page/index.tsxweb/app/components/header/account-setting/members-page/operation/__tests__/index.spec.tsxweb/app/components/header/account-setting/members-page/operation/index.tsxweb/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 - 应用模型配置
TypedDict:api/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 - 工作流类型(
WORKFLOW、CHAT、RAG_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
图表:检索逻辑流程
来源:api/core/rag/retrieval/dataset_retrieval.py:119-157、api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py:1-50、api/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
图表:模型调用管线
来源:api/core/model_manager.py:30-30、api/core/provider_manager.py:63-63、api/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 容器的入口点。它可以设置为 api、worker、beat 或 job。
代码指针:
- 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-248、api/models/workflow.py:1-210、api/models/account.py:1-100、api/services/account_service.py:1-193、api/core/rag/retrieval/dataset_retrieval.py:102-157、docker/docker-compose.yaml:1-206、api/pyproject.toml:1-100、api/.env.example:1-211