news 2026/4/23 14:28:46

Ubuntu部署Dify+蓝耘MaaS打造AI应用实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu部署Dify+蓝耘MaaS打造AI应用实战

Ubuntu部署Dify+蓝耘MaaS打造AI应用实战

在生成式AI技术快速渗透各行各业的今天,企业面临的不再是“要不要用大模型”,而是“如何高效、低成本地落地AI能力”。一个典型的挑战是:业务部门急需一个能回答产品政策的智能客服,但研发团队却卡在模型选型、API对接和知识库集成上——开发周期动辄数周,成本居高不下。

有没有一种方式,能让开发者甚至非技术人员,在几个小时内就搭建出一个可运行的AI应用原型?答案是肯定的。借助Dify这类低代码AI应用平台,配合国内高性能且兼容OpenAI协议的MaaS服务(如蓝耘智算),我们完全可以实现“开箱即用”的AI能力交付。

本文将带你从零开始,在一台Ubuntu云服务器上完成整套环境的搭建与配置。我们将不依赖任何本地开发工具,全程通过命令行操作,最终构建一个基于RAG(检索增强生成)的电商智能客服系统,并实现问答结果自动导出为Markdown文档的功能。整个过程无需深入编码,重点在于理解组件间的协作逻辑与工程实践中的关键细节。


首先确保你有一台运行Ubuntu 22.04 LTS的服务器实例,建议配置不低于4核CPU、8GB内存、20GB磁盘空间。如果你使用的是云厂商提供的最小化镜像,可能需要先安装一些基础工具:

sudo apt update && sudo apt upgrade -y sudo apt install -y wget curl git unzip net-tools

这些工具将在后续用于下载代码、调试网络和查看系统状态。特别提醒:若当前用户不是root,请确认已加入sudo组并能够执行提权命令,否则后续安装Docker等操作会失败。

接下来最关键的一步是安装容器化运行时环境——Docker 和 Docker Compose。由于官方源位于境外,直接拉取极有可能因网络波动导致中断。为此,我们采用阿里云提供的镜像加速方案来提升稳定性。

先安装必要的依赖包:

sudo apt install -y ca-certificates curl gnupg lsb-release

然后添加阿里云的GPG公钥,以验证软件包来源的安全性:

sudo mkdir -p /etc/apt/keyrings curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

接着配置软件源列表:

echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

现在可以安全地更新索引并安装Docker引擎及Compose插件:

sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装完成后验证版本信息:

docker --version docker compose version

正常输出应类似:

Docker version 24.0.7, build afdd53b Docker Compose version v2.20.2

此时建议将当前用户加入docker组,避免后续每次执行docker命令都需输入sudo

sudo usermod -aG docker $USER newgrp docker

这一步看似微小,但在实际运维中能显著减少权限错误带来的困扰。比如当你在CI/CD流水线中运行容器时,缺少该配置可能导致任务失败。

准备好运行时环境后,就可以开始部署Dify平台了。Dify是一个开源的LLM应用开发框架,其核心优势在于提供了图形化的提示词编排、数据集管理与Agent流程设计能力,极大降低了构建复杂AI系统的门槛。

项目代码托管在GitHub上,我们通过git clone获取主分支内容:

git clone https://github.com/langgenius/dify.git cd dify/docker

如果遇到网络不稳定的情况,也可以选择手动下载ZIP包上传至服务器:

wget https://github.com/langgenius/dify/archive/refs/heads/main.zip unzip main.zip cd dify-main/docker

进入目录后可以看到两个关键文件:docker-compose.yml.env.example。前者定义了前端、后端、PostgreSQL数据库和Redis缓存四个服务的启动参数;后者则是环境变量模板。

复制模板为正式配置文件:

cp .env.example .env

默认配置已经足够用于初步测试,例如前端监听80端口、API服务运行在5001端口、数据库密码自动生成等。除非有特殊需求(如更换端口或设置固定密码),否则无需修改.env文件。

一切就绪后,执行一键启动:

docker compose up -d

首次运行会自动拉取以下镜像:
-difyai/web-server(前端)
-difyai/api-server(后端)
-postgres:15(数据库)
-redis:7(缓存)

根据网络状况,这个过程大约持续2到5分钟。可通过以下命令查看容器状态:

docker ps

当所有容器均显示为Up状态时,说明服务已就绪。进一步检查API日志是否有异常:

docker compose logs -f api

当看到如下输出时表示后端服务成功启动:

INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)

此时打开浏览器访问http://<你的服务器IP>:80,页面会自动跳转至安装向导/install

在这里需要创建初始管理员账户。填写以下信息:
- 邮箱:建议使用真实邮箱,便于后续找回密码
- 密码:至少8位,包含大小写字母和数字
- 实例名称:例如“公司AI中台”
- 语言:选择“中文简体”

提交后系统将自动初始化数据库表结构,约30秒后跳转至登录页。使用刚注册的账号登录,即可进入Dify控制台。

这个管理员角色拥有最高权限,可用于添加团队成员、配置模型供应商、管理插件等高级功能。因此务必妥善保管凭证。

登录成功后,下一步就是让Dify具备调用大模型的能力。Dify本身不提供模型推理服务,而是通过外部API接入。这里我们选用蓝耘MaaS平台,原因有三:一是支持DeepSeek、Qwen、Llama等多种主流模型;二是完全兼容OpenAI API格式,接入成本极低;三是国内节点部署,响应速度快且稳定。

首先前往 蓝耘智算平台 注册账号,使用手机号加验证码完成认证。登录后进入「MaaS 服务」→「API KEY 管理」,点击「创建密钥」并复制生成的Key。

注意:该密钥仅显示一次,请立即保存至安全位置。

回到Dify后台,点击右上角头像 → 设置 → 模型供应商 → + 添加模型供应商。

选择“OpenAI 兼容接口”,填写以下信息:

字段
名称蓝耘-MaaS(可自定义)
API Base URLhttps://maas-api.lanyun.net/v1
API KeyBearer your_actual_key_here

点击“测试连接”按钮,若返回“连接成功”则表示配置无误,保存即可。

接下来添加具体的可用模型。在同一页面点击“添加模型”,输入蓝耘支持的模型路径,例如:

  • /maas/deepseek-ai/DeepSeek-V3.1
  • /maas/qwen/Qwen-Max

设置类型为chat,最大上下文长度设为32768 tokens(部分模型支持)。保存后,这些模型就会出现在新建应用时的模型选择列表中。

现在平台基础能力已准备完毕,我们可以着手构建第一个AI应用:一个基于知识库的“电商客服机器人”。

点击首页“创建空白应用” → 类型选择“聊天助手”,命名为“电商客服机器人”。

进入编辑界面后,首先配置系统提示词(Prompt)。这是决定AI行为的核心指令,必须清晰明确。输入以下内容:

你是某电商平台的智能客服助手,职责是根据提供的产品知识库回答用户问题。 请遵循以下规则: 1. 仅依据知识库内容作答,不得编造信息; 2. 回答简洁清晰,避免冗长; 3. 若无法找到答案,请回复“抱歉,我暂时无法解答这个问题。” 知识库内容如下: {{context}}

其中{{context}}是占位符,将在运行时由RAG模块注入最相关的检索结果。

接下来启用RAG能力。进入左侧菜单“知识库” → 新建知识库,命名为“商品FAQ”。

支持上传PDF、Word、TXT等格式的文档。你可以上传一份模拟的退换货政策说明或物流时效表。系统会在后台自动完成文本切片、清洗和向量化处理(使用内置嵌入模型),整个过程对用户透明。

上传完成后,返回应用编辑页,在“检索设置”中开启RAG功能,并关联刚才创建的知识库。

此时整个链路已经打通:用户提问 → 系统从知识库中检索相关内容 → 将原文片段注入提示词 → 调用大模型生成自然语言回答。

进行一次测试:在调试窗口输入

“七天无理由退货怎么申请?”

预期返回:

“您可以在订单详情页点击‘申请售后’,选择‘七天无理由退货’,按提示上传凭证并寄回商品。审核通过后我们将为您办理退款。”

这说明RAG机制工作正常,实现了基于真实业务数据的精准应答,而非模型“幻觉”式的自由发挥。

为了让这个应用更具实用性,我们可以进一步扩展其输出能力。比如希望每次咨询结束后,能自动生成一份可归档的Markdown报告。

Dify的“工作流”模式支持通过“代码节点”实现定制化逻辑。我们在流程末尾插入一个JavaScript类型的代码节点,内容如下:

// 接收上游输入 const userInput = $input.text(); const aiResponse = $input.ai_response(); // 构建 Markdown 内容 const markdown = ` # 智能客服问答记录 > 自动生成于 ${new Date().toLocaleString('zh-CN')} --- ## 📝 用户问题 ${userInput} ## 💬 AI 回复 ${aiResponse} --- 📌 注:本回答基于内部知识库自动生成,仅供参考。 `; // 返回可供下载的文件对象 return [{ json: { question: userInput, answer: aiResponse, export_time: new Date().toISOString() }, binary: { data: { data: Buffer.from(markdown, 'utf8').toString('base64'), mimeType: 'text/markdown', fileName: `faq_${Date.now()}.md`, fileExtension: 'md' } } }];

这段脚本的作用是接收前序节点的用户输入和AI回复,拼接成结构化的Markdown文本,并将其转换为Base64编码的二进制流,供后续节点处理。

再连接一个“文件输出”节点,配置为下载binary.data中的内容。这样每次对话结束,用户就能获得一个可保存的.md文件,适用于工单归档、客户沟通留痕或与其他系统集成。

这种设计思路体现了现代AI应用的一个重要趋势:不仅要“能说”,还要“能记”、“能传”。通过简单的代码扩展,我们就把一个问答机器人升级成了具备完整闭环能力的服务终端。

回顾整个流程,我们完成了一次典型的AI应用快速原型开发:从Ubuntu服务器初始化,到Docker化部署Dify,再到接入蓝耘MaaS的大模型能力,最后通过可视化编排实现RAG+结构化输出的复合功能。整个过程不超过两小时,且大部分步骤均可复用至其他场景。

为什么这套组合值得推荐?

首先是开发效率极高。Dify的拖拽式界面让非专业开发者也能参与AI系统构建,省去了大量前后端联调的时间。其次是架构灵活。无论是替换模型供应商、更新知识库还是调整提示词,都不需要重新部署服务。第三是成本可控。蓝耘提供按量计费的GPU推理资源,相比自建模型集群大幅降低初期投入。最后是国产化友好。全链路在国内完成,无需翻墙,响应延迟低,符合企业合规要求。

更重要的是,这种方式让我们能把精力集中在“业务价值”而非“技术实现”上。比如当你明天接到新需求——做一个HR招聘助手——只需要更换知识库和提示词,几分钟就能上线试用版。

AI正在从“炫技阶段”走向“实用主义”。真正有价值的不是模型参数规模有多大,而是能不能在一个星期一上午9点,快速回应老板那句:“能不能做个能查报销政策的机器人?”而Dify + 蓝耘MaaS这样的组合,正是通往高效落地的捷径之一。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 14:15:13

LobeChat能否实现AI茶艺师?茶叶品鉴与冲泡技巧指导

LobeChat能否实现AI茶艺师&#xff1f;茶叶品鉴与冲泡技巧指导 在快节奏的现代生活中&#xff0c;越来越多的人开始追求一种“慢下来”的生活方式——品茶&#xff0c;正悄然成为都市人调节身心、连接传统文化的一种日常仪式。然而&#xff0c;面对琳琅满目的茶叶种类、复杂的冲…

作者头像 李华
网站建设 2026/4/23 11:47:38

模电基础:正弦振荡器与RC振荡器

目录 一、振荡器的条件&#xff1a;“无中生有”的信号从哪来&#xff1f; 1. 非线性放大电路&#xff1a;负责 “起振 稳幅” 2. 正反馈网络&#xff1a;负责 “相位平衡” 3. 选频网络&#xff1a;负责 “正弦纯净” 二、RC选频网络 三、RC桥式正弦波振荡电路&#xf…

作者头像 李华
网站建设 2026/4/23 11:46:28

13、让用户满意:解决网络问题的综合方案

让用户满意:解决网络问题的综合方案 1. 网络问题概述 在计算机网络领域,问题多种多样,不同的人会遇到不同的问题。以下是一些常见的网络问题: 1.1 登录网络困难 当Windows客户端登录网络时,客户端与提供网络登录服务的服务器之间会交换大量数据包,且每个请求必须在特…

作者头像 李华
网站建设 2026/4/23 11:48:48

15、Samba服务器配置与管理全攻略

Samba服务器配置与管理全攻略 1. 前期配置 在开始配置Samba服务器之前,需要进行一些前期的准备工作,包括设置用户配置文件路径、默认主驱动器映射以及相关工具的权限设置。 首先,设置用户配置文件路径和默认主驱动器映射: # The UNC path to profiles locations witho…

作者头像 李华
网站建设 2026/4/23 11:46:33

19、NT4 域迁移至 Samba - 3:全面指南

NT4 域迁移至 Samba - 3:全面指南 1. 迁移概述 将多个 NT4 域中的用户和组账户迁移到单个 Samba - 3 LDAP 后端数据库是一项具有挑战性但又十分必要的任务。在开始迁移之前,我们需要考虑迁移的目标,同时这也是一个审视网络结构、Windows 客户端控制方式以及它们与网络环境…

作者头像 李华