写点什么

下一代 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:3111712

评论

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

【自学Flutter】1,详解Android架构进阶面试题

android 程序员 移动开发

【译】使用Kotlin从零开始写一个现代Android-项目-Part1(1)

android 程序员 移动开发

【透镜系列】看穿 _ 触摸事件分发 _,android界面开发框架

android 程序员 移动开发

一个Android开发6年程序员的年终面试总结,2021无畏艰难险阻,迎风潇洒前行

android 程序员 移动开发

【议程公布】2021年MongoDB中文社区南京技术沙龙

MongoDB中文社区

mongodb

一个中专生的逆袭之旅(如何做到收到阿里、腾讯、滴滴等面试邀请)

android 程序员 移动开发

【收藏】2021年Android跳槽大厂必备宝典,阿里大牛整理

android 程序员 移动开发

【译】彻底理解 Android 中的阴影(1),apk优化签名

android 程序员 移动开发

恒源云(GpuShare)_未闻Prompt名(论文学习笔记)

恒源云

深度学习

一位普通Android程序员呕心沥血八次大小厂的面试复盘总结,收藏一波扩展知识体系!

android 程序员 移动开发

【设计思想解读开源框架】热修复设计-,卑微打工人

android 程序员 移动开发

【译】使用Kotlin从零开始写一个现代Android-项目-Part1

android 程序员 移动开发

【译】彻底理解 Android 中的阴影,三年经验Android开发面经总结

android 程序员 移动开发

【阿里P8大牛教你Android入门之路(java篇,移动端开发工程师转型

android 程序员 移动开发

一个非常好用的页面引导工具guideView,html5移动开发框架

android 程序员 移动开发

一场赛跑引起的并发知识,flutterrow换行

android 程序员 移动开发

一文了解AndroidStudio3-4的全部更新,androidapp开发从入门到精通

android 程序员 移动开发

一文带你搞懂Android的-Binder-机制,flutterandroid最低版本

android 程序员 移动开发

【最强】Android 项目集成 Flutter 实战分享,android开发笔试题

android 程序员 移动开发

【面试必会】全网最具深度的三次握手,腾讯Android开发面试记录

android 程序员 移动开发

一封给Android开发者 UI 自动化测试上手指南,前方高能

android 程序员 移动开发

一款简单的消息防抖框架,安卓开发权威指南

android 程序员 移动开发

一种有效管控APP隐私权限的解决方案,Android400道面试题通关宝典助你进大厂

android 程序员 移动开发

【面试准备】JavaWeb部分,android webview

android 程序员 移动开发

一个view事件分发,面试官6连问直击灵魂,我被虐的体无完肤

android 程序员 移动开发

一个8年Android 开发想转后端,还来得及嘛?,android开发菜鸟教程

android 程序员 移动开发

一位Android程序员入坑Flutter后整理出一份超详细的学习笔记

android 程序员 移动开发

一种清晰, 便于扩展android项目架构方案,kotlin编程

android 程序员 移动开发

【自学Flutter】32 交错动画的使用,掌握这个提升路径,

android 程序员 移动开发

Cube 技术解读 | Cube 卡片技术栈详解

阿里巴巴终端技术

支付宝 客户端开发 卡片服务 cube 动态化

华为云·核心伙伴开发者训练营第七期开营,共赴产业云美好明天!

华为云开发者联盟

华为云 鲁班会

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