HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

下一代 Docker 来了!1 小时构建缩至 1.5 分钟,还能结合 LangChain、Ollama 等做 AI 应用开发

  • 2023-10-08
    北京
  • 本文字数:3576 字

    阅读完需:约 12 分钟

大小:1.73M时长:10:06
下一代 Docker 来了!1小时构建缩至1.5分钟,还能结合 LangChain、Ollama 等做 AI 应用开发

在日前于洛杉矶召开的 Dockercon 大会上,缔造开源容器技术的同名公司 Docker 发布了一系列产品,在致力于加速本地和云上应用程序交付的同时,还与生成式 AI 做了结合,深入探索这一新鲜趋势中的技术潜力。

 

与 AI 的深度集合

 

如今,在几乎所有用于训练和推理的生成式 AI 应用当中,Docker 容器已经成为最主流的部署方法。这次大会,Docker 推出了新的 GenAI Stack,可以在几分钟内帮助开发人员启动 GenAI 应用程序。

 

“开发人员对 GenAI 的可能性感到兴奋,但技术堆栈的变化速度、供应商数量和巨大差异使其难以了解应该如何下手。”Docker 公司 CEO Scott Johnston 表示,虽然目前用 Docker 容器来协助共享和部署 AI 模型的作法已经非常普遍,但仍需要更多探索来进一步降低生成式 AI 应用的开发门槛。

 

现在,Docker 发布的 GenAI Stack 能够显著简化整个流程,将 Docker 与 Neo4j 图数据库、LangChain 模型链接技术和用于运行大语言模型(LLM)的 Ollama 相集成。具体组件包括:

 

  • 预配置的开源 LLM(例如 Llama 2、Code Llama、Mistral),或私有模型(例如 OpenAI 的 GPT-3.5 和 GPT-4);

  • Ollama 帮助开发人员在本地启动并运行开源 LLM;

  • Neo4j 作为图形和原生向量搜索的默认数据库,可以发现数据中显式和隐式的模式和关系,使 AI/ML 模型更快、更准确,并作为这些模型的长期记忆;

  • Neo4j 知识图谱作为 LLM 的知识库,以获得更准确的 GenAI 预测和结果;

  • LangChain 在 LLM、应用程序和带有向量索引的数据库之间进行编排,并作为开发由 LLM 提供支持的上下文感知推理应用程序的框架;

  • 还有一系列支持工具、代码模板、操作方法和 GenAI 最佳实践。  

 

GenAI Stack 拥有多种目标用例,包括构建具有检索增强生成(RAG)功能的支持型客服机器人、Python 编码助手和自动内容生成工具等。开发人员能够无缝导入数据、创建向量索引、嵌入问题和答案,并将它们存储在向量索引中;还可以生成各种格式的回复,例如项目列表、思维链、GitHub issue、pdf、诗歌等。此外,开发人员可以比较 LLM 自身、带有向量的 LLM 以及集成了向量和知识图谱的 LLM。

 

Johnston 指出,“整套方案预先配置、准备就绪,开发人员可以随时在这里开始编码并启动实验。”GenAI Stack 现已在 Docker Desktop 学习中心和https://github.com/docker/genai-stack的存储库中提供。

 

此外,本届 Dockercon 上也公布了全新亮相的 Docker AI 产品,将成为开发人员获取 AI 驱动见解及容器开发建议的集成化服务。


当今市场上,各类生成式 AI 开发者工具并不少见。其中既有 GitHub Copilot 这位超级明星,也有 Amazon CodeWhisper 等人气选项。Docker 如今也携自家生成式 AI 工具(简称为 Docker AI)加入战局。

 

Docker 并没有像微软及其他供应商那样将 Docker AI 称为“copilot”(即拉力赛车中坐在副驾的领航员,目前多数厂商倾向于使用这个术语来描述辅助用户的生成式 AI 工具),而选择了特别的称呼:“机甲”。Docker 应该是希望自己的“机甲套装”能为开发者赋予完成任务所需要的强大力量。

 

据介绍,Docker AI 已经接受了来自数百万个 Dockerfile、compose 文件及错误日志中 Docker 专有数据的训练。Docker AI 将被直接集成至开发者的工作流程当中,以便在发生错误时提供帮助。它将显示开发环境中潜在的修复选项,允许开发者在提交变更之前测试修复效果。Docker AI 的目标也很简单,就是为开发者提供更好的工作体验,并确保在问题发生之前进行故障排查与修复。

 

Johnston 指出,虽然 GitHub Copilot 等同类工具已经非常实用且功能强大,但 Docker AI 也有自己的独特优势:经过专门微调以适应容器开发需求。“Docker AI 在训练中接触的,是其他大语言模型难以触及的丰富专有 Docker 数据流。”

本地与云的协作

 

除了在 AI 上发力,Docker 还发布了三款新产品:Docker Scout、Next-generation Docker Build 和 Docker Debug,致力于将本地开发的响应能力和便利性与云的按需资源、连接性和协作结合起来。上述三个产品是对现有 Docker 产品(Docker Desktop、 Private Repos 以及 Docker Hub)的补充。

 

Johnston 表示:“云为开发团队提供了许多潜在的好处,但大多数‘内循环’解决方案都需要彻底改变工具和工作流程,而且很少有开发人员愿意将他们的整个笔记本电脑放到云端运行。” 而新产品将云带到了开发团队代码-构建-测试-调试的“内循环”过程中:

 

  • Docker Scout GA

 

Docker Scout 目前已经正式推出,能够在应用程序使用的库中发现已报告的漏洞。Docker Scout 补充了 Docker 现有的可信内容、构建自动化和 SBOM 工具,添加了相关的见解、策略评估和上下文修复,同时通过与 Sysdig、JFrog Artifactory、AWS ECR、BastionZero、GitHub、GitLab、CircleCI 和 Jenkins 集成来满足开发人员的工作需求。

 

实际上,GitHub 的 Dependabot 等工具已经可以实现类似的功能,它的出现会不会多此一举?Johnston 对此表示,“我们的目标是与 GitHub 合作,而非与之对抗和竞争。我们希望共同为开发人员提供完整的项目视图,Sysdig 就是典型的案例。”

 

注:Sysdig 是一款与 Scout 相集成的第三方工具,它能“显示运行时中实际执行的内容,并据此在仪表板中优先显示开发者较为关注的内容。



Docker Scout,现已全面上市

 

  • Next-generation Docker Build

 

“我们发现每位开发团队成员日均要花一个小时来等待容器镜像构建完成,这是因为此前的 Docker Build 只能以本地方式运行。”Johnston 指出。现在,只需切换 Build 命令行即可将构建负载移交至云端。

 

“与本地构建相比,我们发现远程构建的速度提高了 39 倍,其中一小时的构建可以压缩到一分半钟多一点。”这等效率提升不仅要归功于强大的设施资源,更得益于缓存机制的支持。“开发团队经常会使用相同的基础镜像,所以只要把这类镜像缓存起来,每位团队成员都能从中获益。”

 

那么,Next-generation Docker Build 到底是单纯服务于开发,还是可以成为持续集成(CI)部署流程中的一部分?Johnston 给出的答案是,“它初步面向开发流程,但我们也看到有用户在尝试将其引入持续集成流程。”例如,开发者可以在 GitHub Actions 或者 GitLab Pipelines 处调用 Docker Build。

 

  • Docker Debug

 

Docker Debug 想要解决的问题并不难理解:当应用程序在容器内的运行时中发生故障时,我们往往难以精准跟踪。开发人员可能会花费多达 60%的时间来调试应用程序,但是大部分时间花在了排序、配置工具和设置上,而非实际的调试上。

 

Johnston 表示,“以往,开发者根本没有一款用于深入探索容器内部的工具。而 Docker Debug 提供的就是这样一套具备语言中立性的一体式工具集,能够帮助开发人员专注于解决问题、避免在设置调试工具上浪费精力。”

 

实际上,Docker Debug 本身也是个容器,只是容纳的是开发者调试工具。Docker 公司一位发言人解释称,它的工作原理就是提供一套工具集,用以调试挂载了损坏容器文件系统的容器。Docker 还引入了其他一些功能,例如分析入口点、验证入口点的二进制文件或 CMD 等,并围绕潜在问题提供更好的用户体验。”

 

在构建包含调试工具与容器内运行内容的文件系统的过程中,Docker Debug 会使用 Nix(一款软件包管理器兼系统配置工具)等工具创建辅助文件系统,之后 Docker Debug 会调用 mergefs 来合并这两套文件系统(即原始文件系统加调试工具系统)。“如此一来,就能得到一套同时包含原始容器及所有调试工具的文件系统。”

 

Johnston 还反复强调,开发者用户其实并不需要过于纠结这些细节。“对于开发者来说,这套工具集就是能轻松发挥出‘神奇的’效力。” 

结束语

 

在去年 3 月底宣布获得 1.05 亿美元的 C 轮融资后,Docker 进行了一系列收购,包括 Mutagen、Atomist、Tilt 、Nestybox 等,在软件供应链安全、高性能远程开发等方面持续投入。这次大会上,Johnston 透露,Docker 每月活跃开发者数量已高达 2000 万,而且从业务角度看 Docker 已经拥有超过 7.9 万家商业客户。

 

Johnston 曾在今年 3 月指出,Docker收入正稳步增长、在过去 3 年间增长了 30 倍。而支撑这种喜人局面的,恰恰是某些不受欢迎的决定,例如 2021 年将 Docker Desktop 由免费产品调整为付费产品,包括将团队(Teams)账户纳入价格更高的商业(Business)订阅。但从目前的情况看,力排众议的决策已经初见成效,Docker 现在有更多资金可用于打磨自己的技术储备。

 

参考链接:

https://www.docker.com/press-release/neo4j-langchain-ollama-launches-new-genai-stack-for-developers/

https://www.docker.com/press-release/announces-ai-boosting-developer-productivity-through-automated-guidance/

https://www.docker.com/press-release/neo4j-langchain-ollama-launches-new-genai-stack-for-developers/

https://venturebeat.com/data-infrastructure/docker-dives-into-ai-to-help-developers-build-genai-apps/

https://devclass.com/2023/10/04/docker-introduces-seems-like-magic-container-debug-tool-and-cloud-driven-build-service/

 

2023-10-08 14:3111465

评论

发布
暂无评论
发现更多内容

甩掉容量规划炸弹:用 AHPA 实现 Kubernetes 智能弹性伸缩

阿里巴巴云原生

阿里云 Kubernetes 云原生 AHPA

泛型由入门到精通(3)

好程序员IT教育

Java 泛型

从HelloWorld看Java与Kotlin

子不语Any

kotlin Andriod 11月月更

泛型由入门到精通(2)

好程序员IT教育

Java 泛型

AI音乐创作,让每一个人都成为音乐家

HarmonyOS SDK

音频 HMS Core

秒云加入OpenCloudOS操作系统开源社区,携手打造更智能、更可控、更可信的云原生环境

MIAOYUN

开源社区 opencloudOS

湖仓一体架构下的数据研发及管理

数造万象

深入浅出学习透析Nginx服务器的基本原理和配置指南「初级实践篇 」

洛神灬殇

nginx 正向代理与反向代理 11月日更 nginx 开源版 开发指南

mysql的高可用方案以及优缺点

想要飞的猪

4K60帧!RayLink远程控制软件如何帮助设计师远程办公?

RayLink远程工具

远程控制软件 远程办公软件 远控软件 远程桌面连接 RayLink

精益创业者的用户体验设计

产品海豚湾

产品经理 产品设计 精益思想 用户体验 11月月更

设备接入物联网平台必知必会——设备接入类

阿里云AIoT

阿里云 数据 物联网 设备接入 协议解析

【Go电商实战04】为什么GoFrame不支持migrate功能?我还特意去问了框架作者

王中阳Go

golang 高效工作 学习方法 程序员 11月月更

Kotlin变量声明和类型推断

子不语Any

kotlin Andriod 11月月更

谈谈我对服务网格的理解

阿里巴巴云原生

阿里云 云原生 服务网格

工信部电子五所李冬:在龙蜥社区的一站式自动化测试平台的探索和实践|2022云栖龙蜥实录

OpenAnolis小助手

开源 操作系统 自动化测试 龙蜥社区 2022云栖大会

【愚公系列】2022年11月 微信小程序-app.json配置属性之Worker

愚公搬代码

11月月更

Thymeleaf入门教程

Studying_swz

前端 thymeleaf 11月月更

浅析云原生

鲸品堂

九科信息受邀参加中国总会计师协会财务数智化转型研讨会

九科Ninetech

JVM Sandbox入门教程与原理浅谈

Zhendong

Java JVM

低代码技术在研发团队的应用模式探讨

阿里巴巴终端技术

前端 终端 低代码 客户端

【Go电商实战03】如何使用ORM链式操作?如何优雅的实现软删除?

王中阳Go

Go golang 高效工作 学习方法 11月月更

Java Web(九)会话跟踪技术

浅辄

javaWeb session Cookie 11月月更

分布式事务详解、理论分析、及强一致性(2PC、3PC)剖析

C++后台开发

数据库 分布式 后端开发 Linux服务器开发 C++开发

数字化转型有可能让所有人满意吗?

优秀

数字化转型

阿里云弹性计算总经理张献涛:智能化、高效能、新交互将重塑互联网

云布道师

弹性计算 云栖大会

数据预处理和特征工程-特征选择-Embedded嵌入法

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

EMI 滤波电路是由哪些元件组成的,一文看懂!

元器件秋姐

元器件采购 元器件电商 EMI滤波电路 滤波电路 元器件知识

基础逻辑门

梦笔生花

Verilog 11月月更 Xilinx

构建高质量的持续交付体系

老张

软件工程 持续交付

下一代 Docker 来了!1小时构建缩至1.5分钟,还能结合 LangChain、Ollama 等做 AI 应用开发_云计算_褚杏娟_InfoQ精选文章