当前位置: 首页 > news >正文

从零开始在Ubuntu上快速部署Docker和Dify:结合 Dify + 蓝耘 MaaS平台打造 AI 应用实战指南

目 录

  • 引言
  • 一、借助阿里云源安装Docker和Compose
  • 二、拉取并部署Dify
  • 三、启动Dify服务
  • 四、初始化 Dify 管理员账号
  • 五、安装模型供应商插件
  • 六、如何获取蓝耘Maas平台API
  • 七、构建 AI 应用示例
  • 总结

引言

在人工智能应用快速发展的今天,如何高效部署 AI 应用并灵活调用不同的大模型能力,已经成为开发者和企业的核心需求之一。本文将详细介绍如何在 Ubuntu 环境中借助 阿里云镜像源快速安装 Docker 与 Docker Compose,并完成 Dify 智能应用平台的部署与配置。通过引入 蓝耘 MaaS 平台提供的 API 接口,我们不仅可以快速接入大规模语言模型,还能基于 Dify 构建属于自己的 AI 应用,极大地提升开发效率与使用体验。

一、借助阿里云源安装Docker和Compose

1、安装必要依赖

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

在这里插入图片描述

2、 添加阿里云 Docker GPG 密钥

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

在这里插入图片描述

3、 写入阿里云 Docker 软件源

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

在这里插入图片描述

4、 安装 Docker 及 Compose 插件

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

在这里插入图片描述
在这里插入图片描述

5、 验证安装

docker -v
docker compose version

在这里插入图片描述

二、拉取并部署Dify

1、 安装SSH服务

apt update
apt install openssh-server -y

在这里插入图片描述

2、 查看SSH运行状态(成功)

systemctl status ssh

在这里插入图片描述

3、 可以在电脑浏览器访问并下载:
https://github.com/langgenius/dify/archive/refs/heads/main.zip
这里我在本地下载好了zip通过CRT上传到了Ubuntu里面
在这里插入图片描述
在Ubuntu里面也能看到了
在这里插入图片描述

4、 解压ZIP
这里是将压缩包移动到了指定的文件夹里面后进行的解压,这样会避免很多不必要的麻烦(大家一定要看清文件路径)

unzip dify-main.zip
cd dify-main/docker

在这里插入图片描述

这里进入的是docker子目录,里面才有docker-compose.yml 配置文件

在这里插入图片描述

三、启动Dify服务

这里需要确保我们在docker/目录下进行,然后输入:

docker compose up -d

这里我在检查docker运行状态和网络都没有问题之后,决定更换源试一下
在这里插入图片描述

开启科学上网后
然后重新运行(这里可能时间较久)

docker-compose up -d

关于网络问题这里补充一下 遇到这个错误"Get ‘https://registry-1.docker.io/v2/’: net/http:
request canceled while waiting for connection (Client.Timeout exceeded
while awaiting headers)"的解决办法

  • 网络连接问题:确保自己的网络是否能访问互联网,尝试ping一下即可。
  • 镜像源访问受限:可以尝试更换为国内镜像源,配置镜像加速器。
  • 增加请求超时时间:可以尝试增加 Docker 的默认超时时间,以避免超时错误。
  • 代理设置:如果使用了代理,确保代理配置正确,或者尝试删除代理设置。

在这里插入图片描述

成功拉取并启动如下
遇到这个错误,重新输入启动命令即可(下载时间过长导致的)

ERROR: Get "https://registry-1.docker.io/v2/": net/http: TLS handshake timeout

在这里插入图片描述

四、初始化 Dify 管理员账号

在浏览器打开:

http://你的Ubuntu主机IP/install

在这里插入图片描述

五、安装模型供应商插件

在 Dify 后台操作界面中:

  • 点击右上角头像 → 插件 → Marketplace在这里插入图片描述

  • 安装自己需要的插件在这里插入图片描述

  • 前往“设置 → lanyun模型供应商”,找到OpenAI-API-compatible,然后配置 API Key 与地址以及相关配置信息即可在这里插入图片描述在这里插入图片描述

Dify 不自带模型,必须配置好至少一个 LLM 才能进行智能问答。

六、如何获取蓝耘Maas平台API

先说说蓝耘这个平台
如何注册蓝耘智算平台
1.点击注册链接:蓝耘智算平台
2.进入下面图片界面,输入手机号并获取验证码,输入邮箱,设置密码,点击注册在这里插入图片描述
在这里插入图片描述
蓝耘是一家专业的GPU算力云服务提供商,基于行业领先的灵活的基础设施及大规模的GPU算力资源,为客户提供开放、高性能、高性价比的算力云服务,助力客户AI模型构建、训练和推理的业务全流程。

这里给大家送给福利。千万 Token 资源包福利都在送,感兴趣的赶紧来吧
https://console.lanyun.net/#/register?promoterCode=18586cc762

进来之后,找到Maas平台—API KEY管理—创建API KEY即可,然后复制去OpenAI-API-compatible即可

在这里插入图片描述

七、构建 AI 应用示例

在主界面点击“创建空白应用”,名字为文章生成器
[图片]

这里添加一个HTTP请求,在API选择POST请求并输入https://maas-api.lanyun.net/v1/chat/completions
配置Headers(请求头):

  • 请求头1:Name(Content-Type),Value(application/json)
  • 请求头2:Name(Authorization),Value(Bearer 蓝耘MaaS平台的APIKEY)
    配置Body(请求体):
{"model": "/maas/deepseek-ai/DeepSeek-V3.1","messages": [{"role": "system","content": "你是一个专业的内容创作助手,擅长根据用户需求创作高质量文章。"},{"role": "user", "content": "请根据以下要求创作文章:\n主题:{{ $json.topic }}\n写作风格:{{ $json.style }}\n文章长度:{{ $json.length }}\n关键词:{{ $json.keywords }}\n\n请创作一篇结构清晰、内容丰富的文章。"}],"max_tokens": 2000,"temperature": 0.7
}

在这里插入图片描述

然后进行测试,没有问题,文章出来了
在这里插入图片描述

这里格式还是不太行,我想输出Markdown格式,于是我开始调整,这个里面添加模版转换节点,然后输入:

// 获取处理后的数据
const items = $input.all();
const processedData = items[0].json;// 生成 Markdown 内容
const markdownContent = `# ${processedData.metadata.title}---**创建时间:** ${new Date(processedData.metadata.createdAt).toLocaleString('zh-CN')}  
**字数统计:** ${processedData.metadata.wordCount} 字符  
**文章风格:** ${processedData.metadata.style}  ---## 正文内容${processedData.content}---## 文档信息- **生成时间:** ${new Date().toLocaleString('zh-CN')}
- **文件格式:** Markdown (.md)
- **处理状态:** 已完成内容格式化和优化---*本文档由 n8n 工作流自动生成*
`;// 生成文件名(使用时间戳避免重复)
const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
const fileName = `${processedData.metadata.title.replace(/[^\w\u4e00-\u9fa5]/g, '_')}_${timestamp}.md`;// 打印下载信息
console.log(`📁 Markdown 文件已准备完成`);
console.log(`📄 文件名:${fileName}`);
console.log(`📊 文件大小:${markdownContent.length} 字符`);// 返回可下载的文件数据
return [{json: {...processedData,markdown: {content: markdownContent,fileName: fileName,mimeType: 'text/markdown',size: markdownContent.length}},binary: {data: {data: Buffer.from(markdownContent, 'utf8').toString('base64'),mimeType: 'text/markdown',fileName: fileName,fileExtension: 'md'}}
}];

这里图片中显示内容没有问题的哈,但是无法分辨是否是按照Markdown格式输出
在这里插入图片描述

于是我将内容复制出来,使用在线工具进行查看,发现确实是按照Markdown格式输出。
在这里插入图片描述

整体的配置还是很简单,完整的工作流如下:
在这里插入图片描述

总结

我们完成了以下核心工作:

  1. 环境配置与依赖安装:快速完成 Docker 安装和网络优化。
  2. Dify 平台部署:轻松搭建可视化智能应用平台。
  3. 蓝耘 MaaS 平台 API 接入:与 OpenAI 兼容,实现高性能模型调用。
  4. AI 应用构建与Markdown格式化:自动化文章生成与格式化。

蓝耘 MaaS API 的核心优势:

  • 高性能算力支持:GPU加速响应更快
  • 兼容OpenAI API:快速接入零门槛
  • 高性价比:更低成本调用大模型
  • 灵活扩展性:支持多模型、多场景应用

通过结合 Dify + 蓝耘 MaaS API,我们能够以极低的门槛实现 AI 应用的开发与部署,为内容创作、智能问答、数据分析等场景提供更强大的能力和更高的效率。

http://www.xdnf.cn/news/1427491.html

相关文章:

  • Web基础学习笔记01
  • 计算机视觉与深度学习 | 视觉里程计技术全解析:定义、原理、与SLAM的关系及应用场景
  • Spring Boot 日志框架选择指南:Logback vs Log4j2
  • 破解能源密码——人造太阳:可控核聚变技术进展
  • 光储充一体化智慧能源平台助力某能投公司绿色能源转型
  • 【面试场景题】如何理解设计模式
  • 为什么研发文档的变更缺乏审批和追溯
  • 多通道电生理信号同步记录采集系统测试总结
  • 用好AI,从提示词工程到上下文工程
  • Linux系统强大的命令行工具之fuser
  • Vue + fetchEventSource 使用 AbortController 遇到的“只能中止一次”问题解析与解决方案
  • 详解 C++ 中的虚析构函数
  • 【系统架构设计(12)】系统运行与软件维护
  • 优选算法的映射之妙:哈希表专题
  • 【数据结构】八大排序之快速排序:分而治之的艺术
  • 从技术架构到经济价值:低代码在企业开发中的成本节约潜力
  • 面试新纪元:无声胜有声,让AI成为你颈上的智慧伙伴
  • Windows远程连接:SSH+RDP+Server
  • 警惕!虚拟货币“赠予”可能被认定为洗钱犯罪
  • NLP模型简介
  • 解决Mac电脑连接蓝牙鼠标的延迟问题
  • 【Python练习题】Python小白必练100题答案-第21-40题
  • 基础思想:动态规划与贪心算法
  • [Dify 专栏] 如何通过 Prompt 在 Dify 中模拟 Persona:即便没有专属配置,也能让 AI 扮演角色
  • 文章阅读与实践 - 延迟双删/分库分表/Spring IOC生命周期/Mysql主从一致优化
  • 一文读懂 LoRaWAN A、B、C类的区别及应用
  • 用 PyTorch 实现食品图像分类:从数据预处理到模型训练与预测
  • Linux电脑怎样投屏到客厅的大电视?支持远程投屏吗?
  • 从Java全栈到前端框架:一场真实的技术面试实录
  • 《Vue进阶教程》(7)响应式系统介绍