如果你最近想开发一个AI应用,比如一个智能客服、一个文档分析助手,或者一个能根据描述生成代码的工具,你的第一反应是什么?
是打开Python,从零开始写API调用、设计对话流程、处理上下文管理、搭建前端界面,然后陷入无尽的调试和部署问题?还是直接打开ChatGPT,用自然语言描述需求,却发现它无法持久化、无法集成到你的业务系统、也无法处理私有数据?
这正是过去一年里,无数开发者和产品经理面临的真实困境:大模型的能力触手可及,但将其转化为一个稳定、可用、可集成的“应用”,中间隔着巨大的工程鸿沟。你需要的不只是一个会对话的模型,而是一整套包含工作流编排、上下文管理、知识库检索、多模型支持、可视化部署的“应用引擎”。
今天要介绍的这个项目——Dify,正是为了解决这个核心痛点而生。它不是一个简单的聊天界面,而是一个开源的LLM应用开发平台。你可以把它理解成“用拖拽的方式,像搭积木一样构建AI应用的操作系统”。
这篇文章不会只告诉你Dify是什么,而是要讲清楚三件事:
- 它到底解决了什么真问题?为什么说它降低了AI应用开发的“最后一公里”门槛。
- 它适合谁,不适合谁?个人开发者、中小企业、还是大厂团队?不同角色如何使用它。
- 从零到一,如何亲手部署并构建你的第一个AI应用?我们将完成一次完整的本地部署和智能客服构建实战。
如果你厌倦了在无数API文档和框架中切换,想快速验证一个AI想法,或者团队需要统一、可视化的AI应用开发流程,那么这篇文章值得你花十分钟读完。
1. Dify 是什么?重新定义AI应用开发流程
在深入技术细节前,我们先建立一个核心认知:Dify 不是一个聊天机器人框架,也不是一个单纯的模型管理工具。它的定位是“LLM 应用的全栈平台”。
传统开发一个基于大模型的对话应用,流程大致是这样的:
- 选择模型提供商(OpenAI、Anthropic、国内大厂等),获取API Key。
- 编写后端服务,处理HTTP请求,调用模型API,管理对话历史(上下文)。
- 编写前端界面,实现消息发送、接收和展示。
- 如果需要“联网搜索”或“处理长文档”,需要额外集成RAG(检索增强生成)框架,搭建向量数据库。
- 如果需要“多步骤推理”或“调用工具”,需要设计Agent工作流,编写复杂的逻辑代码。
- 最后,部署整个应用,并考虑监控、日志和成本管理。
这个过程技术栈分散,对全栈能力要求高,且大量工作是重复的“轮子”。
Dify 的出现,将以上所有环节进行了“可视化”和“标准化”。它提供了一个统一的Web控制台,让你可以通过:
- 可视化编排(Workflow):用拖拽节点的方式,设计复杂的AI工作流。例如:“用户输入” -> “检查敏感词” -> “查询知识库” -> “调用大模型生成” -> “格式化输出”。
- 可配置的AI能力:直接选择或切换不同的LLM(支持GPT、Claude、通义千问、文心一言等上百种),配置Prompt模板、温度、最大Token等参数,无需写代码。
- 开箱即用的知识库:上传文档(TXT、PDF、Word、PPT等),自动完成文本分割、向量化嵌入、存入向量数据库(支持多种后端),并为你提供检索接口。
- 一键部署与集成:构建好的应用,可以直接生成可供集成的API,或发布为一个独立的Web应用(Chatbot),并轻松嵌入到你的网站或产品中。
简单说,Dify 把AI应用开发从“写代码”变成了“画流程图”和“填配置”。它的价值不在于替代高级开发者的复杂逻辑编码,而在于极大地降低了AI应用的原型验证、内部工具开发和简单产品上线的成本和速度。
2. 核心概念与架构拆解:理解Dify的四大支柱
要用好Dify,需要理解它的几个核心概念,这对应着它的主要功能模块。
2.1 应用(Application)
这是Dify中的顶级实体。一个“应用”代表一个完整的、可对外提供服务的AI功能单元。它有两种主要类型:
- 对话型应用(Chat App):类似于ChatGPT的聊天机器人,适用于问答、对话、创意写作等场景。
- 文本生成型应用(Completion App):适用于单次输入、单次输出的场景,如文本总结、翻译、润色、代码生成等。
每个应用都绑定了一套完整的配置:使用的模型、Prompt模板、上下文设置、是否启用知识库等。
2.2 工作流(Workflow)
这是Dify最强大的功能,也是其“可视化编程”理念的体现。一个工作流由多个节点(Node)通过边(Edge)连接而成。
- 节点类型:包括开始节点(用户输入)、LLM节点(调用大模型)、知识库检索节点、代码执行节点、条件判断节点、HTTP请求节点、变量处理节点等。
- 数据流:节点之间通过变量传递数据。例如,开始节点的“用户问题”变量,可以传递给知识库检索节点作为查询条件,检索结果再和原始问题一起拼接,传递给LLM节点生成最终答案。
通过组合这些节点,你可以构建出极其复杂的AI智能体(Agent)逻辑,而无需编写底层代码。
2.3 知识库(Knowledge Base)
Dify内置的RAG(检索增强生成)解决方案。你创建一个知识库,上传文档,Dify后端服务会自动处理:
- 文本提取与分割:从各种格式文件中提取文本,并按策略分割成片段(Chunk)。
- 向量化(Embedding):使用你选择的嵌入模型(如OpenAI的text-embedding-ada-002,或开源的BGE、M3E等)将文本片段转换为向量。
- 向量存储:将向量存入配置好的向量数据库(如Milvus, Pinecone, Weaviate,或Dify自带的本地向量存储)。
- 检索:当用户提问时,将问题也向量化,在知识库中进行相似度搜索,找到最相关的文本片段,并将其作为上下文提供给LLM。
这个过程完全在界面中配置,极大地简化了RAG应用的开发。
2.4 模型与提供商(Model & Provider)
Dify支持数百个LLM模型,这得益于其“提供商”抽象层。你需要配置的是“提供商”的API密钥和端点,然后在应用中即可选择该提供商下的具体模型。
- 云服务提供商:如OpenAI, Azure OpenAI, Anthropic Claude, 百度千帆(文心一言),阿里灵积(通义千问),智谱AI,月之暗面(Kimi)等。
- 开源模型与本地部署:支持通过OpenAI兼容的API(如Ollama, vLLM, LocalAI, FastChat等)接入任何开源模型,如Llama 3, Qwen, ChatGLM等。
这种设计让你可以轻松地在不同模型间进行A/B测试或切换,而无需修改应用逻辑。
Dify的整体架构可以简化为:一个前端控制台用于可视化操作,一个后端API服务处理所有核心逻辑,以及可选的独立工作流执行引擎(用于异步、稳定的复杂工作流)。所有组件都可以通过Docker Compose一键部署。
3. 环境准备与部署方式选择
在动手之前,你需要根据自身情况选择部署方式。Dify提供了极大的灵活性。
3.1 部署方式对比
| 部署方式 | 适用场景 | 优点 | 缺点 | 推荐指数 |
|---|---|---|---|---|
| 云服务版 | 个人体验、快速原型 | 无需安装,注册即用 | 数据在云端,功能可能受限,有使用量限制 | ⭐⭐⭐ (适合尝鲜) |
| Docker Compose(推荐) | 个人开发、中小团队生产 | 部署简单,隔离性好,易于维护和升级 | 需要服务器和Docker基础 | ⭐⭐⭐⭐⭐ |
| Kubernetes(Helm) | 大规模生产部署 | 高可用、弹性伸缩、易于管理 | 部署复杂,需要K8s运维知识 | ⭐⭐⭐⭐ (适合企业) |
| 源码部署 | 深度定制、二次开发 | 完全控制,可修改代码 | 环境配置复杂,维护成本高 | ⭐⭐ |
对于绝大多数开发者和团队,使用Docker Compose在自有服务器上部署是最平衡的选择。它保证了数据私密性、功能完整性以及相对简单的运维。
3.2 基础环境要求(Docker Compose方式)
- 服务器:一台Linux服务器(Ubuntu 20.04/22.04, CentOS 7/8等),拥有公网IP或在内网可访问。个人电脑(Mac/Windows)也可用于本地开发测试。
- 配置建议:最低2核CPU,4GB内存,50GB磁盘。如果计划运行本地大模型或处理大量文档,需要更高配置。
- 软件依赖:
- Docker Engine>= 24.0.0
- Docker Compose>= 2.20.0
- 网络:服务器需要能访问互联网,以下载Docker镜像和连接外部模型API(如果使用云端模型)。
3.3 安装Docker与Docker Compose
如果你的服务器还没有安装Docker,可以执行以下命令(以Ubuntu为例):
# 1. 卸载旧版本(如有) sudo apt-get remove docker docker-engine docker.io containerd runc # 2. 更新apt包索引并安装依赖 sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release # 3. 添加Docker官方GPG密钥 sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 4. 设置Docker稳定版仓库 echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 5. 安装Docker Engine sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin # 6. 验证安装 sudo docker run hello-world安装成功后,docker --version和docker compose version命令应能正确显示版本。
4. 一步步部署Dify:从下载到启动
我们采用最推荐的Docker Compose方式进行部署。整个过程清晰明了。
4.1 获取部署文件
Dify团队将最新的部署配置文件托管在GitHub。我们直接克隆或下载。
# 创建一个工作目录并进入 mkdir -p /opt/dify && cd /opt/dify # 从GitHub下载docker-compose配置文件 # 注意:请始终从官方仓库获取最新版本 curl -o docker-compose.yaml https://raw.githubusercontent.com/langgenius/dify/main/docker/docker-compose.yaml # 下载环境变量配置文件 curl -o .env https://raw.githubusercontent.com/langgenius/dify/main/docker/.env.example4.2 关键配置修改
下载的.env文件是环境变量模板,我们需要根据实际情况修改。使用vim或nano编辑.env文件。
nano .env你需要关注以下几个核心配置(以下为示例,请按需修改):
# ------------------------------ # 基础配置 # ------------------------------ # 设置一个安全的密钥,用于加密会话等,可以用命令 `openssl rand -base64 42` 生成 SECRET_KEY=your_very_strong_secret_key_here_change_me # 外部访问地址,如果是服务器,请填写你的服务器IP或域名 # 例如:http://your-server-ip, 或 https://dify.yourdomain.com APP_URL=http://localhost # 数据库密码,请务必修改为强密码 DB_PASSWORD=your_strong_database_password # Redis密码,请务必修改 REDIS_PASSWORD=your_strong_redis_password # ------------------------------ # 模型提供商配置 (以OpenAI为例) # ------------------------------ # 如果你使用OpenAI,在此填入你的API Key OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # 如果你使用Azure OpenAI,配置如下 # AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com # AZURE_OPENAI_API_KEY=your-azure-api-key # AZURE_OPENAI_API_VERSION=2024-02-15-preview # 如果你使用国内模型,如通义千问、文心一言等,需要在对应配置块填写 # 具体变量名请参考 .env 文件内的注释重要提醒:
SECRET_KEY、DB_PASSWORD、REDIS_PASSWORD必须修改,且不要使用示例中的值。APP_URL如果是生产环境,务必设置为正确的域名或IP,否则生成的API链接和回调地址会错误。- 模型API Key可以先配置一个(如OpenAI),后续在Dify控制台内可以随时添加更多。
4.3 启动Dify服务
配置完成后,使用Docker Compose启动所有服务。
# 在 /opt/dify 目录下执行 sudo docker compose up -d-d参数表示在后台运行。执行后,Docker会拉取所需的镜像(包括后端API、前端界面、数据库等),并启动容器。
你可以通过以下命令查看服务状态和日志:
# 查看所有容器状态 sudo docker compose ps # 查看实时日志(Ctrl+C退出) sudo docker compose logs -f # 查看特定服务日志,如api服务 sudo docker compose logs -f api当看到所有容器状态均为running,并且日志中没有持续报错时,说明服务已启动成功。
4.4 访问与初始化
在浏览器中打开你配置的APP_URL(如果本地部署,通常是http://localhost或http://your-server-ip)。
首次访问,会进入初始化页面。
- 设置管理员账号:输入邮箱和密码,这个账号将拥有系统最高权限。
- 命名你的工作室:给你的Dify实例起个名字。
- 进入控制台:完成初始化后,即可登录进入Dify的主控制台。
至此,一个完全由你掌控的、私有的AI应用开发平台就部署完成了。
5. 实战:构建你的第一个AI应用——智能知识库客服
理论说再多,不如亲手做一个。我们来构建一个最常见的场景:一个能基于你提供的公司内部文档进行问答的智能客服。
5.1 第一步:配置模型提供商
登录Dify控制台后,点击左下角“设置”图标,进入“模型供应商”页面。
- 点击“添加模型供应商”。
- 在列表中选择你已配置API Key的供应商,如“OpenAI”。
- 系统会自动读取
.env文件中配置的OPENAI_API_KEY。如果没有,可以在此处手动填入。 - 点击“保存”,状态显示为“正常”即表示配置成功。
- (可选)你可以继续添加其他供应商,如Azure OpenAI、Anthropic或国内大模型。
5.2 第二步:创建知识库
- 在左侧导航栏点击“知识库”。
- 点击“创建知识库”,输入名称,如“公司产品手册”。
- 进入知识库详情页,点击“上传文件”。支持拖拽上传TXT、PDF、Word、Excel、PPT、Markdown等格式。
- 上传完成后,Dify会自动开始处理:文本提取 -> 分割 -> 向量化 -> 存储。你可以在“文件列表”中查看处理状态。
- 关键配置:点击知识库名称进入“设置”。
- 分词与嵌入模型:选择适合你语言的嵌入模型。对于中文,开源模型如
BGE-M3或text-embedding-3-small是不错的选择。这决定了检索质量。 - 检索方式:通常选择“向量化检索”。你也可以开启“全文检索”作为混合搜索。
- 召回数量:设置每次检索返回的文本片段数量,通常3-5个即可。
- 分词与嵌入模型:选择适合你语言的嵌入模型。对于中文,开源模型如
5.3 第三步:创建对话型应用
- 点击左侧导航栏“应用”,然后点击“创建新应用”。
- 选择“对话型应用”,输入应用名称,如“产品智能客服”。
- 进入应用编排界面。默认是一个简单的“对话”编排,包含“开始”和“LLM”两个节点。
5.4 第四步:使用工作流编排复杂逻辑
我们将改造默认编排,加入知识库检索能力。
- 在应用编排界面,点击右上角“切换到工作流”。工作流模式功能更强大。
- 你会看到一个空的画布。从左侧节点库中拖拽节点到画布:
- 开始:代表用户输入。
- 知识库检索:用于查询我们创建的知识库。
- LLM:用于生成最终答案。
- 连接节点:从“开始”节点的输出变量(如
query)拖出一条线,连接到“知识库检索”节点的“查询文本”输入框。同样,将“知识库检索”节点的输出变量(如result)连接到“LLM”节点的“上下文”输入框。 - 配置节点:
- 点击“知识库检索”节点:在右侧面板,选择我们之前创建的“公司产品手册”知识库。设置“召回数量”为3。
- 点击“LLM”节点:在右侧面板,选择模型供应商和具体模型(如
gpt-4o-mini)。在“提示词”区域,编写一个清晰的系统提示,例如:
注意:你是一个专业的产品客服助手。请严格根据以下提供的上下文信息来回答用户的问题。如果上下文信息中没有明确答案,请如实告知“根据现有资料,我无法回答这个问题”,不要编造信息。 上下文: {{#context#}} {{context}} {{/context#}} 用户问题:{{query}}{{context}}和{{query}}是变量,会自动从上游节点传入。
- 点击右上角“发布”。发布后,这个版本的应用就固定下来了,后续修改需要创建新版本并再次发布。
5.5 第五步:测试与调试
- 在应用编排界面,右侧有一个“测试”面板。
- 在输入框中提问,例如:“你们公司的主打产品是什么?”
- 点击发送,你可以看到请求流经每个节点的详细过程、输入输出变量,这对于调试工作流逻辑至关重要。
- 如果答案不理想,可以调整提示词、检索参数,或者优化上传的文档质量。
5.6 第六步:发布与集成
测试无误后,就可以将应用对外提供了。
- Web访问:在应用概览页,点击“访问地址”,你会获得一个独立的Chatbot网页链接,可以分享给他人。
- API集成:点击“API访问”,Dify提供了完整的OpenAI格式的API文档和密钥。你可以像调用ChatGPT API一样,调用你自己的这个智能客服应用。
# 示例:使用curl调用API curl -X POST \ https://your-dify-domain/v1/chat-messages \ -H "Authorization: Bearer your-app-api-key" \ -H "Content-Type: application/json" \ -d '{ "inputs": {}, "query": "你们公司的主打产品是什么?", "response_mode": "streaming", "conversation_id": "", "user": "test-user" }' - 嵌入网站:Dify还提供了iframe嵌入代码,你可以直接将聊天窗口嵌入到公司官网或内部系统中。
通过以上六步,一个具备私有知识库检索能力的AI客服就诞生了,整个过程几乎没有编写一行代码。
6. 深入:Dify工作流的高级用法与Agent构建
基础对话和知识库只是开始。Dify工作流的强大之处在于构建复杂的AI智能体(Agent)。我们来看一个更高级的例子:一个能自动分析GitHub Issue并给出初步建议的Agent。
场景:当仓库收到一个新的Issue时,自动调用Agent分析Issue内容,查询相关代码片段,判断其类型(Bug/Feature Request),并生成初步的解决思路。
工作流设计思路:
- 开始节点:接收Webhook传来的Issue标题和内容。
- LLM节点(分类):调用LLM,判断Issue类型和优先级。
- 条件判断节点:如果类型是“Bug”,则执行路径A;如果是“Feature Request”,则执行路径B。
- 代码工具节点(路径A):模拟调用一个“查询相关代码”的工具(实际可通过HTTP节点调用真实API)。
- 知识库检索节点(路径B):查询产品需求文档知识库。
- LLM节点(总结):综合所有信息,生成分析报告和建议。
- HTTP请求节点:将最终结果通过Webhook回调发送到指定地址(如Slack、钉钉或项目管理系统)。
在这个工作流中,你使用了条件分支、外部工具调用(通过HTTP节点或代码节点模拟)和多步骤推理。Dify的工作流引擎会负责节点的执行顺序和数据流转。
关键配置提示:
- 变量管理:工作流中每个节点的输出都可以定义为变量,供下游节点使用。合理命名变量(如
issue_title,issue_type,code_snippets)是保持工作流清晰的关键。 - 错误处理:可以为关键节点(如HTTP请求)配置重试机制和失败后的备用路径。
- 迭代与优化:工作流支持版本管理。每次修改并发布后,会生成新版本,旧版本的应用API保持不变,这非常适合迭代更新。
7. 常见问题与故障排查指南
在实际使用中,你可能会遇到一些问题。以下是典型问题的排查思路。
| 问题现象 | 可能原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
| 部署后无法访问 | 1. 端口被占用或防火墙未开放。 2. APP_URL配置错误。3. 容器启动失败。 | 1.sudo docker compose ps查看容器状态。2. sudo docker compose logs api查看后端日志。3. 检查服务器安全组/防火墙规则,确保80/5001端口开放。 | 1. 修改docker-compose.yaml中的端口映射。2. 修正 .env中的APP_URL。3. 根据日志错误信息解决依赖问题(如数据库连接失败)。 |
| 知识库文档处理失败 | 1. 文档格式不支持或已损坏。 2. 嵌入模型服务异常。 3. 向量数据库连接问题。 | 1. 在知识库“文件列表”查看具体错误信息。 2. 检查嵌入模型供应商配置是否正常。 3. 查看 api容器的日志。 | 1. 尝试将文档转换为TXT或PDF格式重新上传。 2. 检查并重新配置嵌入模型的API Key。 3. 重启Dify服务 sudo docker compose restart。 |
| 应用调用LLM超时或报错 | 1. 模型供应商API Key无效或余额不足。 2. 网络问题无法访问外部API。 3. 请求参数(如Token超限)错误。 | 1. 在“设置-模型供应商”检查对应供应商状态。 2. 在应用“测试”面板查看详细的错误返回信息。 3. 尝试在服务器上 curl模型供应商的API端点。 | 1. 更换或充值API Key。 2. 如果使用国内服务器调用国外API,考虑网络代理或改用国内模型。 3. 在LLM节点配置中调低 max_tokens或temperature。 |
| 工作流执行卡住或数据不对 | 1. 节点间变量连接错误。 2. 条件判断逻辑有误。 3. 异步节点未正确配置。 | 1. 使用“测试”面板的调试功能,查看每个节点的输入/输出变量。 2. 仔细检查条件节点的判断表达式。 3. 确认HTTP/代码节点有正确的超时设置。 | 1. 重新连接变量线,确保数据类型匹配。 2. 简化工作流,分步测试。 3. 为可能长时间运行的节点启用“异步”执行。 |
| 性能问题(响应慢) | 1. 知识库检索的文档块过大或数量过多。 2. 使用了速度较慢的LLM模型(如GPT-4)。 3. 服务器资源(CPU/内存)不足。 | 1. 检查知识库的“召回数量”和文本分割规则。 2. 在测试面板观察各环节耗时。 3. 使用 docker stats命令监控容器资源使用率。 | 1. 优化文本分割策略,减小块大小,增加重叠区。 2. 对于实时性要求高的场景,换用更快模型(如GPT-3.5-Turbo)。 3. 升级服务器配置,或为Docker分配更多资源。 |
8. 生产环境最佳实践与安全建议
当你准备将Dify用于正式业务时,以下几点至关重要:
安全加固:
- 修改默认密码:务必修改
.env中的SECRET_KEY、DB_PASSWORD、REDIS_PASSWORD,并使用强密码生成器。 - 启用HTTPS:通过Nginx或Caddy等反向代理为Dify配置SSL证书,确保通信加密。将
APP_URL改为https://。 - 网络隔离:将Dify部署在内网,通过反向代理对外暴露必要端口(如80/443)。限制数据库和Redis端口的公网访问。
- 定期备份:定期备份Dify使用的数据库(PostgreSQL)和向量数据库。备份
docker-compose.yaml和.env文件。
- 修改默认密码:务必修改
性能与高可用:
- 分离工作流引擎:对于复杂、耗时的异步工作流,建议部署独立的工作流引擎组件,避免阻塞主API服务。
- 使用外部向量数据库:生产环境不建议使用Dify自带的本地向量存储(Qdrant)。应配置外部的Milvus、Weaviate或Pinecone集群,以获得更好的性能和可扩展性。
- 资源监控:使用Prometheus+Grafana或商业监控工具,监控Dify容器的CPU、内存、磁盘I/O和网络流量。
模型管理与成本控制:
- 设置用量限制:在Dify的“模型供应商”设置中,可以为每个API Key设置额度限制,防止意外超支。
- 模型回退策略:在应用编排中,可以配置多个LLM节点,并设置“失败后切换到”的备选模型,提高可用性。
- 日志与审计:Dify记录了所有的应用调用日志。定期审查日志,分析使用模式、识别异常请求和优化成本。
团队协作:
- 权限管理:利用Dify的团队功能,为不同成员分配“所有者”、“管理员”、“编辑者”、“查看者”等角色,实现细粒度的权限控制。
- 应用版本化:利用好“发布”功能。在修改应用时,先创建新版本进行测试,稳定后再发布上线,确保线上服务不受影响。
Dify的出现,标志着一个趋势:AI应用开发正在从“手工作坊”走向“标准化流水线”。它通过可视化、模块化的方式,封装了LLM应用开发中最复杂、最重复的部分,让开发者能更专注于业务逻辑和Prompt优化本身。
对于个人开发者和初创团队,它是快速验证AI创意的利器;对于中小企业,它是低成本构建内部AI工具的平台;对于大型企业,它提供了统一、可控的AI能力中台雏形。当然,它并非万能,对于需要极致性能、深度定制或复杂业务逻辑集成的场景,你可能仍需回归代码开发。
但无论如何,亲自部署一次Dify,构建一个属于自己的AI应用,是理解当前LLM应用开发范式转变的最佳方式。从今天开始,试着用拖拽的方式,把你脑海中的AI想法变成现实。