行业痛点与项目引入
大语言模型技术落地过程中,开发流程割裂是普遍存在的问题。前端工程师需要适配对话界面,后端工程师要处理Prompt编排、上下文管理、模型调用路由,数据工程师还要负责日志归档和效果标注,完整应用从开发到上线往往需要数周时间,中小团队很难快速完成MVP验证。
除了开发环节的重复劳动,后续运营也存在大量卡点。针对不同业务场景调整Prompt逻辑需要重新发版,用户对话数据分散在各个服务中无法沉淀,模型效果迭代缺乏数据支撑,普通业务人员无法参与应用调整,所有改动都需要技术团队排期,拖慢业务迭代效率。
可视化低代码开发平台正在重构LLM应用的生产流程,通过将通用能力封装成可拖拽的组件,降低技术门槛,让不同角色的参与者都能参与应用构建。本次分析的项目,正是这类平台中关注度较高的一个代表。
项目概述
该项目由LangGenius团队开发维护,开源版本发布于2023年上半年,采用Apache 2.0开源协议,允许商业免费使用和二次开发。
核心定位是开箱即用的LLM应用开发运营一体化平台,覆盖从Prompt编排、应用调试到发布部署、对话数据分析的全流程,同时支持私有部署和云服务两种使用方式,兼顾数据安全和使用便捷性两种需求。
技术架构深度分析
整体采用微服务分层架构,拆分为前端界面、API服务、Worker服务、Vector存储、关系型存储五个独立分层,各层通过标准HTTP协议通信,支持独立扩容,适配不同规模的部署需求。前端基于React和TypeScript开发,采用组件化设计,所有可视化编排功能都在前端完成交互逻辑,响应速度满足日常操作需求。后端核心逻辑采用Python开发,依托FastAPI框架搭建服务,接口文档自动生成,二次开发对接成本较低。
异步任务处理单独抽离为Worker服务,负责处理长对话生成、批量数据标注、模型微调任务等耗时操作,避免阻塞主API服务,保证高并发场景下核心接口的可用性。存储层采用PostgreSQL存储结构化的应用配置、用户信息、对话记录,向量存储兼容OpenSearch、PGVector、Weaviate、Milvus等多个主流选项,用户可以根据自身技术栈选择适配方案,降低接入门槛。
这种分层设计的优势在于,开发阶段可以独立修改前端或者后端逻辑,不需要整体重新部署;生产环境可以针对访问压力单独扩容API服务或者Worker服务,资源利用率更高。对于二次开发来说,分层架构也降低了代码理解成本,开发者只需要修改对应模块的代码即可完成定制化开发,不需要改动整个项目的结构。
核心功能详解
可视化Prompt编排
通过拖拽组件的方式完成Prompt流程设计,支持变量插入、上下文拼接、条件分支判断,不需要编写代码即可完成复杂的Prompt逻辑调整。所有修改都支持实时预览,可以直接在编排界面和调试对话,调整Prompt参数后立刻看到效果,缩短调试周期。业务人员也可以参与Prompt优化,不需要等待技术团队排期,适配快速迭代的需求。
多模型统一接入
支持国内外近百家大语言模型、多模态模型接入,包括闭源API模型和本地部署开源模型,所有模型共用同一套调用接口,切换模型不需要修改业务逻辑。支持配置多个模型实例,实现流量分流和故障降级,当某一个模型服务不可用时,自动切换到备用模型,保证服务可用性。模型接入配置全部在界面完成,不需要修改代码,新增模型只需要填写API地址和密钥即可生效。
RAG知识库全流程支持
支持直接上传TXT、PDF、Markdown、网页链接等多种格式的数据源,平台自动完成文本分片、嵌入生成、向量入库,不需要额外开发数据处理流程。支持自定义分片规则和嵌入模型,针对不同类型的文档调整分片长度,保证召回效果。检索逻辑支持混合召回,可配置权重平衡关键词检索和向量检索的效果,提升最终回答的准确性。
对话日志与数据标注
自动记录所有用户对话数据,存储完整的提问、回答、触发的知识库片段、模型调用参数,支持按时间、用户、关键词筛选查询。针对不满意的回答,可以直接在日志界面标注,将优质对话添加到训练集,后续用于模型微调或者Prompt效果优化。沉淀的对话数据可以导出,用于自有模型的效果迭代,解决数据沉淀难的问题。
多渠道一键发布
应用开发完成后,支持直接生成内嵌网页、公开访问链接,也可以发布为微信小程序、钉钉应用、飞书机器人等主流渠道,适配不同的使用场景。提供完整的API和SDK,开发人员可以将构建好的应用接入自有产品,所有Prompt逻辑和模型配置都在平台管理,不需要修改自有产品的代码即可完成调整。
AI插件扩展能力
支持通过插件扩展大模型的能力,允许调用外部API完成工具调用,实现查询实时信息、操作业务系统、处理结构化数据等功能。插件配置支持可视化填写OpenAPI规范,平台自动生成参数适配逻辑,不需要额外开发适配代码。现有的插件市场已经覆盖搜索、办公、天气等多个常用场景,可以直接安装使用,减少从零开发的工作量。
团队协作管理
支持创建团队工作空间,邀请不同角色的成员加入,配置不同的权限范围,管理员可以控制成员对应用、知识库的访问和修改权限。支持应用版本管理,修改应用配置后可以保存版本,出现问题可以快速回滚到历史版本,避免误操作影响线上服务。所有成员的操作日志都会记录,方便追溯变更历史,适配团队协作的需求。
项目地址:https://github.com/langgenius/dify
⭐ Stars:154724
🔍 来源:GitHub
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.

微信扫一扫,打赏作者吧~


