NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

下一代 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/

 

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2023-10-08 14:3111146

评论

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

前端工程师leetcode算法面试必备-二分搜索算法(上)

js2030code

JavaScript LeetCode

手把手教你构建数据安全体系,守住安全合规红线

王巍

数据安全

算法 KECP 被顶会 EMNLP 收录,极少训练数据就能实现机器阅读理解

阿里云大数据AI技术

自然语言处理 机器学习 12 月 PK 榜 机器阅读

跨机房ES同步实战

京东科技开发者

迁移 迁移数据 异步多活 Elastic Search 数据库·

KAFKA EAGLE 监控MRS kafka之操作实践

华为云开发者联盟

开发 华为云 12 月 PK 榜

Idea居然还有比Navicat、Datagrid工具还好用、还快的插件,效率又可提升一倍了

非喵鱼

Java MySQL redis IDEA 12 月 PK 榜

损失高达3亿美元|如何保护源代码安全?

SEAL安全

12 月 PK 榜 源代码安全 最小权限管理 零信任模型

2 小时开发《点球射门游戏》,动画演示思路(下),代码已开源

非喵鱼

Java 开源 游戏 12 月 PK 榜 世界杯足球游戏

百度 Android 直播秒开体验优化

百度Geek说

android 百度app 12 月 PK 榜 直播优化

借用FinClip把小程序游戏运行到自有App中

Onegun

小游戏 小游戏开发 微信小游戏

React Context源码是怎么实现的呢

flyzz177

React

掌握 CORS 跨域请求,读这一篇文章就够了

范家鹏

HTTP CORS 跨域 异步请求 跨域资源共享

前端面试指南之JS面试题总结

loveX001

JavaScript

前端面试题(附答案)

loveX001

JavaScript

面试官:MySQL 中 varchar(n) 中 n 最大取值为多少?

架构师之道

MySQL 编程 计算机

2小时开发《点球射门游戏》,动画演示思路(上),代码已开源

非喵鱼

Java 开源 游戏 12 月 PK 榜 世界杯足球游戏

深入理解JS作用域链与执行上下文

loveX001

JavaScript

做了一份前端面试复习计划,保熟~

loveX001

JavaScript

ZBC登录iZUMi Finance双挖池APY高达189%,极致通缩的典范

西柚子

极客时间运维进阶训练营第七周作业

9527

前端刷完这12道滑动窗口,就可以出山面试了

js2030code

JavaScript LeetCode

MYSQL-INNODB索引构成详解

京东科技开发者

MySQL innodb 索引 B+树 InnoDB存储引擎

潦草手写体也能轻松识别,快速提取文字不用愁

HMS Core

HMS Core

Git实战(五)| 让工作更高效,搞定Git的分支管理

霍格沃兹测试开发学社

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

Git实战(四)| Git分支管理实操,搞定在线合并和本地合并

霍格沃兹测试开发学社

IoT高级设备检索——设备管理运维类

阿里云AIoT

数据库 监控 物联网 传感器 Cloud Native

基于阿里云IoT平台OTA进行APP确认升级的方案——业务架构类

阿里云AIoT

物联网 UED 数据格式

区块链“入局”证券市场,未来前景有多大?

旺链科技

区块链 产业区块链 证券行业 12 月 PK 榜

软件测试 | 版本控制神器GitHub的基本使用与踩坑

测试人

GitHub 软件测试 自动化测试 测试开发

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