Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

企业AI应用的分层架构设计

以“LLM+聊天UI”的方式引入企业人工智能的时代已经结束。为了平衡生产环境中的可靠性、可扩展性和治理,基于清晰层分离的架构设计至关重要。本文提出了一个四层模型:基础设施层、平台层、应用层和表示层,并解释了 Dify 定位在哪一层以及如何设计各层之间的集成模式。

整体架构概览

graph TB
    subgraph PL["プレゼンテーション層(ユーザー層)"]
        WEB["Web UI / チャット"]
        MOBILE["モバイルアプリ"]
        INTERNAL["社内ポータル連携"]
        API_GW["API Gateway"]
    end

    subgraph AL["アプリケーション層"]
        APP1["契約レビュー Assistant"]
        APP2["社内 FAQ Bot"]
        APP3["稟議ドラフト生成"]
        APP4["製造品質分析"]
        APP5["文書処理パイプライン"]
    end

    subgraph PLAT["プラットフォーム層 ← Dify"]
        MODEL["モデル管理・ルーティング"]
        KB["Knowledge Base"]
        WF["Workflow エンジン"]
        AGT["Agent フレームワーク"]
        GOV["権限・ログ・監査"]
        TOOL["Tool / Plugin 管理"]
    end

    subgraph INFRA["インフラストラクチャ層"]
        K8S["Kubernetes / コンテナ基盤"]
        DB["PostgreSQL / RDS"]
        REDIS["Redis / ElastiCache"]
        S3["S3 / オブジェクトストレージ"]
        VDB["ベクトルDB(Weaviate / Qdrant)"]
        NET["ネットワーク / Ingress / WAF"]
    end

    PL --> AL
    AL --> PLAT
    PLAT --> INFRA

为什么我们需要分层架构

职责分离原则

企业人工智能基础设施涉及各种各样的利益相关者。

利益相关者兴趣对应层
基础设施团队 (SRE)可用性、扩展性和成本基础设施层
人工智能平台团队模型管理、RAG 质量、治理平台层
业务拓展团队业务逻辑、用户体验应用层
最终用户/外部系统使用方便,响应速度快表示层

如果不分层,模型变更将波及到基础设施配置,业务应用修改将与整个平台的发布周期捆绑在一起。有一个金融行业大公司的案例,LLM版本更新触发了全公司系统测试,因为这种分离不充分。

日本企业特定的考虑因素

  • 数据主权:遵守个人信息保护法和金融服务机构指南。通过分离模型推理层和数据存储层,可以定位数据跨界问题。
  • 多供应商策略:与日本公司常见的SI划分系统兼容。可以将A公司的基础设施、B公司的平台运营以及内部应用程序开发分开。
  • 逐步实施:从PoC到生产逐层提高成熟度。

基础设施层设计指南

组件和推荐配置

组件开发/验证环境生产环境(中型)生产环境(大规模)
库伯内特单节点/Docker 撰写3+ 个工作节点5 个以上工作节点,多可用区
PostgreSQL单实例RDS 多可用区极光 PostgreSQL
Redis单实例ElastiCache(副本)Redis哨兵/集群
对象存储本地卷S3S3 + CloudFront
矢量数据库Weaviate单韦维特集群Qdrant 分布式 / pgvector
网络节点端口ALB + 入口ALB + WAF + 私有链接

###基础设施层设计原则

  1. 无状态/有状态分离:Dify 的 API Server 和 Workers 被设计为无状态,使得水平扩展变得容易。最好将有状态数据存储(PostgreSQL、Redis、向量数据库)委托给托管服务。
  2. 资源预留:使用 NodePool 分离 GPU 节点(如果您内部托管模型推理)和 CPU 节点
  3. 秘密管理:使用 Kubernetes Secrets 或 HashiCorp Vault 集中管理 API 密钥和数据库凭证

平台层设计指南–Dify定位

Dify 覆盖的领域

Dify 位于企业人工智能应用基础的平台层。具体来说,它提供了以下功能。

graph LR
    subgraph DifyPlatform["Dify プラットフォーム層"]
        direction TB
        MP["Model Provider 管理<br/>OpenAI / Azure / Anthropic / 国産LLM"]
        KB2["Knowledge Base<br/>ベクトル検索 / 全文検索 / Hybrid"]
        WF2["Workflow Designer<br/>条件分岐 / ループ / 外部API呼出"]
        AG2["Agent<br/>Tool 呼び出し / ReAct / Function Calling"]
        PERM["Workspace 権限管理<br/>メンバー / ロール / API キー"]
        LOG["ログ・可観測性<br/>実行履歴 / トークン使用量"]
    end

###平台层向应用层提供的接口

Dify 通过以下方式向上层应用程序层公开功能。

接口应用典型使用场景
休息 API来自应用程序的调用来自内部系统的聊天机器人/完成调用
网络钩子事件驱动的协作向 Slack / Teams 发送工作流程完成通知
嵌入小部件网页嵌入嵌入内部门户的聊天 UI
工作流程作为 API将复杂的处理管道转换为API系列文件导入→分类→汇总→通知

平台层设计注意事项

  • 模型路由策略:不是对所有应用程序使用相同的模型,而是根据任务特征在 GPT-4o / Claude / 轻量级模型之间切换。 Dify 模型提供程序设置允许基于每个工作空间进行控制
  • 知识库分而治之:按部门/业务领域划分知识库,并限制每个应用程序的引用(详细信息请参阅“知识库可扩展设计”)
  • 治理政策:设置令牌使用限制、模型访问审批流程以及管理提示模板

应用层设计指南

###应用模式分类

图案特点Dify中的实现方法行业实例
互动助手与用户自然语言对话聊天机器人应用程序 + 知识库财务:内部查询机器人
文档处理管道大文档量的批处理工作流程(HTTP + LLM 节点链接)制造:质量报告自动摘要
决策支持多方信息分析与建议代理+工具(数据库搜索/API调用)零售:需求预测报告生成
代码生成/审查软件开发支持完成应用+自定义提示IT:代码审查支持
多式联运处理图像/PDF/音频理解工作流程+视觉模型保险:定损单据图像分析

应用层与其他层的边界

应用层应该具备什么:

  • 业务逻辑(审批流程、通知规则、输出格式)
  • 用户认证/授权(SSO联动、API密钥管理)
  • 特定业务的前处理和后处理

应用层不应该有的东西:

  • 直接模型调用(通过平台层)
  • 直接访问Vector DB(使用知识库API)
  • 基础设施配置管理

表示层设计指南

连接模式

graph LR
    U1["エンドユーザー"] --> WEB2["Dify Web UI"]
    U2["社内ユーザー"] --> PORTAL["社内ポータル<br/>(iframe / API)"]
    U3["モバイルユーザー"] --> MAPP["モバイルアプリ<br/>(REST API)"]
    U4["外部システム"] --> APIGW["API Gateway<br/>(認証 + レート制限)"]
    
    WEB2 --> DIFY["Dify Platform"]
    PORTAL --> DIFY
    MAPP --> DIFY
    APIGW --> DIFY

日本企业的典型整合目的地

整合目的地连接方式笔记
微软团队Bot 框架 + Dify API需要与 Azure AD 进行 SSO 集成
松弛Slack 应用程序 + Webhook企业网格需要安全审查
立即服务REST API 集成工单创建/更新流程设计
SAPRFC/BAPI → 中间 API → Dify需要数据转换层
通通Webhook + REST API定制JS API调用

层间集成模式

模式 1:同步 API 调用

最简单的模式。如果响应时间落在 SLA 范围内,则适用。

ユーザー → API Gateway → Dify REST API → LLM → 応答返却

预计延迟:1-10秒(取决于型号提示长度)

模式 2:异步工作流程

适用于长期加工和批量加工。使用 Dify Workflow 进行排队。

外部トリガー → Dify Workflow API → 処理実行 → Webhook 通知 → 結果格納

模式 3:事件驱动的协作

使用文档注册/更新作为触发器自动更新知识库。

文書管理システム → Webhook → Dify Knowledge Base API → 自動インデックス更新

推荐实施路线图

持续时间行动蛋鸡成熟度
第一阶段:PoC1-2个月使用 Docker Compose 进行 Dify 验证,1-2 个应用程序原型设计基础设施:最低/平台:正在验证
第 2 阶段:试点2-3个月Kubernetes迁移、生产级基础设施建设、3-5个应用部署基础设施:生产级/平台:稳定
第 3 阶段:全公司部署3-6个月多工作空间、已建立的治理、10 多个应用程序各层生产运作
第四阶段:优化连续成本优化、模型策略审查、新用例各层成熟

反模式

以下架构决策很可能会导致企业运营出现问题。

反模式问题推荐方法
单一人工智能应用程序模型变化波及各处层层分离+API抽象
每个部门都建立自己的LLM基础设施成本增加和治理的不可能性建立通用平台层
跳过平台层直接调用LLM没有审核日志,提示难以管理通过 Dify 标准化模型访问
基础设施层与应用层紧耦合扩展困难和迁移成本增加利用托管服务 + IaC

总结

企业人工智能应用的分层架构不仅仅是一个概念组织;这是一项实用的设计政策,可以明确团队之间的职责划分并将变更的影响本地化。通过将 Dify 定位在平台层,基础设施团队可以专注于基础设施,业务团队可以专注于业务逻辑,实现整个 AI 平台的治理和可扩展性。

特别是对于日本大型企业来说,它与SI合作伙伴的共享结构和分阶段引入流程高度兼容,是在利用现有IT治理体系的同时加速人工智能应用的现实方法。


参考资料