BotSharp 4.0 Sidecar:迈向更大规模化的AI Agent平台框架
BotSharp 是一个功能强大的开源项目,由 SciSharp[1] 社区开发和维护,旨在实现.NET技术栈下高度可定制的多智能体解决方案。为开发高效的对话式 AI 系统提供了极大的灵活性。通过其模块化的设计和多模型的支持,它更适合需要定制化需求的大型企业或组织。
随着生成式人工智能领域的快速发展,开源社区的贡献成为了推动技术前行的重要力量。而作为开源AI Agent开发的代表项目之一,BotSharp 在其最新版本 4.0 Sidecar 的发布中,再次展示了其技术深度与创新能力。此次更新带来了诸多亮点,使得开发人员能够更高效地构建、部署和管理AI应用程序。
核心更新:Sidecar 架构的引入
在 BotSharp 4.0 版本中,最显著的改进之一来自于创新的“Sidecar”架构。这种设计灵感来自于现代微服务架构中的“Sidecar 模式”,其核心思想是将辅助功能与核心服务解耦,从而增强系统的扩展性与灵活性。
在这一架构中,BotSharp 的核心功能模块被划分和独立,通过轻量化的 Sidecar 辅助服务运行。这种设计为开发人员提供了以下优势:
● 模块化开发:开发者可针对单个模块进行迭代和改进,而不会影响其他系统组件。
● 更高的可扩展性:即使面对复杂且多样化的AI模型需求,Sidecar 也能灵活适配。
● 稳定性提升:各个服务具备独立运行的能力,使得系统更加容错。
这一架构的改变,直击开发人员在AI Agent整合与部署中的核心痛点,为人工智能的应用落地提供了更为高效的解决方案。在BotSharp的初步使用阶段,用户无需关注Sidecar的用途,仅当深入应用并达到高级复杂阶段时,才需要考虑其使用。Sidecar是一个类似于容器(container)或软件包(package)的抽象概念。想象一下,如果你要为一个大公司开发一个复杂的应用,该应用涉及多个部门,每个部门由N个Task Agent和一个Router组成一个Agent Cluster。Sidecar可以将这些Cluster打包成一个对外提供服务的工具Utility。其它Agent可以像使用工具一样使用这个Agent Cluster。从技术层面来说,Sidecar设计模式可以支持多个Agent同时在一个进程内运行并相互调用,而无需在物理上部署成Agent Cluster,从而在一个进程内实现这种效果。这个技术的实现为后续的Evaluation模拟器提供框架基础,让开发像现实世界人物、社区模拟的应用更加方便,应用层面可以简单地堆叠智能体,就可以实现越来越复杂的应用,避免Agent数量和工具的增多导致应用的不稳定性指数增加的问题。
开源的力量:开发社区的崛起
作为一个开源项目,BotSharp 的成长离不开全球开发者社区的支持,这一版本由Jicheng Lu, Joanna Ren, Stephen Toub(Microsoft)以及其他13位贡献者共同参与开发。4.0版本的发布展示了社区的智慧结晶,不仅修复了大量bug,如向量数据库、路由上下文、状态查询参数,路由推理器和任务规划器独立等问题,同时还融合了许多创新性的功能建议。这种开放协作的精神,是推动开源AI Agent不断演进的重要动力。
● 用户和角色管理:新增了用户管理功能和角色管理功能,提升了系统的安全性和灵活性。
● 知识生成细化:新增了知识生成细化功能,旨在改进和优化知识生成的流程,以提高其精确性和效率。
● 多规划器支持:新增了多规划器支持功能,重构了推理器和规划器、合并了原始代理、引入了ConversationHookProvider等。
● WebDriver增强:增强了WebDriver的功能,使其能够通过直接与浏览器的底层接口进行交互,实现对浏览器的精确控制。
未来展望
随着 BotSharp 4.0 版本的推出,对话式AI开发将迎来更高效、更灵活的时代。这一更新标志着 BotSharp 正在向更加模块化、云原生友好型的方向迈进。未来,我们可以期待随着技术与社区的进一步成熟,BotSharp 将在智能交互领域继续保持开创性的地位。
如果你对现代AI构建工具感兴趣,或希望参与推动AI Agent的技术进步,现在正是加入 BotSharp 开发者社区的最佳时机。作为一个不断进步且充满潜力的平台,BotSharp 值得关注。
立即了解更多更新详情:BotSharp 4.0 Sidecar 官方发布页面[2]
无论是新手开发者还是专业AI研究者,这一次的 BotSharp 重大更新都带来了激动人心的可能性。不妨尝试这一强大的工具,共同探索AI Agent的无限未来!
相关链接
SciSharp社区:https://github.com/SciSharp
BotSharp 4.0 Sidecar 官方发布页面:
https://github.com/SciSharp/BotSharp/releases/tag/r4.0-sidecar
BotSharp 4.0 Sidecar:迈向更大规模化的AI Agent平台框架的更多相关文章
- 端云协同,打造更易用的AI计算平台
内容来源:华为开发者大会2021 HMS Core 6 AI技术论坛,主题演讲<端云协同,HUAWEI HiAI Foundation打造更易用的AI计算平台>. 演讲嘉宾:华为海思AI技 ...
- 大数据与 AI 生态中的开源技术总结
本文由云+社区发表 作者:堵俊平 在数据爆炸与智能革命的新时代,新的平台与应用层出不穷,开源项目推动了前沿技术和业界生态快速发展.本次分享将以技术和生态两大视角来看大数据和人工智能技术的发展,通过分析 ...
- 新的一年,来看看大数据与AI的未来展望
本文由云+社区发表 作者:堵俊平 在数据爆炸与智能革命的新时代,新的平台与应用层出不穷,开源项目推动了前沿技术和业界生态快速发展.本次分享将以技术和生态两大视角来看大数据和人工智能技术的发展,通过分析 ...
- Twitter Bootstrap 3.0 正式发布,更好地支持移动端开发
Twitter Bootstrap 3.0 终于正式发布了.这是一个圆滑的,直观的和强大的移动优先的前端框架,用于更快,更容易的 Web 开发.几乎一切都已经被重新设计和重建,更好的支持移动端设备. ...
- 在.NET中快速创建一个5GB、10GB或更大的空文件
对于通过UDP进行打文件传输的朋友应该首先会考虑到一个问题,那就是由于UDP并不会根据先来先到原则进行发送,也许你发送端发送的时候是以包1和包2的顺序传输的,但接收端可能以包2和包1 的顺序来进行接收 ...
- [Swift]LeetCode1019. 链表中的下一个更大节点 | Next Greater Node In Linked List
We are given a linked list with head as the first node. Let's number the nodes in the list: node_1, ...
- 1197多行事务要求更大的max_binlog_cache_size处理与优化
1197多语句事务要求更大的max_binlog_cache_size报错 binlog_cache_size:为每个session 分配的内存,在事务过程中用来存储二进制日志的缓存,提高记录bi ...
- 下一个更大的数 Next Greater Element
2018-09-24 21:52:38 一.Next Greater Element I 问题描述: 问题求解: 本题只需要将nums2中元素的下一个更大的数通过map保存下来,然后再遍历一遍nums ...
- LeetCode--496--下一个更大元素I(java)
给定两个没有重复元素的数组 nums1和 nums2 ,其中nums1 是 nums2 的子集.找到 nums1 中每个元素在 nums2 中的下一个比其大的值. nums1 中数字 x 的下一个更大 ...
- 10.我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。 请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形. 请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 是不是发现看不懂,哈哈:编程题就是这样,一定要归纳,手写过程: n ...
随机推荐
- Linux(Redhat 7.6)安装PG(Postgresql 9.6.0)
Linux(Redhat 7.6)安装PG(Postgresql 9.6.0) 1. 摘要 需要在Linux上安装postgres数据库,指定安装目录,简单测试各种配置.安装包下载地址: //源码 h ...
- 如何使用强化学习算法解决贪吃蛇问题(Neural Network Learns to Play Snake)
相关: Neural Network Learns to Play Snake https://github.com/greerviau/SnakeAI/ RL算法是有很多baseline算法的,算法 ...
- downloadFile:base64数据导出文件,文件下载
function downloadFile(filename, data){ let DownloadLink = document.createElement('a'); if ( Download ...
- Docker registry cli 私有仓库镜像查询、删除、上传、下载 shell
#Docker官方私有仓库registry#官方只提供了API接口,不方便使用,就写了个shell#docker-registry安装配置http://www.cnblogs.com/elvi/p/8 ...
- JPEG格式研究——(1)压缩原理及流程
之前一直很好奇图片和视频是如何压缩的,由于视频格式会更复杂,所以先从JPEG下手 因为网上资料太难找太分散,有些又看不太懂,所以根据自己的理解整理了一下 JPEG简介 JPEG(Joint Photo ...
- Node.js Express 框架(2)
1.读取文件并返回给客户端 res.sendFile(path):读取文件并返回给客户端,适合静态页面 app.get("/",function(req,res){ res.sen ...
- 【前端】‘opencollective-postinstall‘ 不是内部或外部命令,也不是可运行的程序
问题 'opencollective-postinstall' 不是内部或外部命令,也不是可运行的程序 解决办法 npm install --save opencollective-postinsta ...
- 基于云主机的ModelArts模型训练实践,让开发环境化繁为简
本文分享自华为云社区<[开发者空间实践]云主机安装Docker并制作自定义镜像在ModelArts平台做模型训练>,作者: 开发者空间小蜜蜂. 1.1 案例介绍 在AI业务开发以及运行的过 ...
- Mysql8.0修改配置参数lower_case_table_names
现象 今天在配置一个环境的数据库,所使用的系统要求该数据库 lower_case_table_names = 1 (对数据库表明.列名大小写不敏感) 我看了一下,在 Windows 上,默认值为 1. ...
- vue中this.$nextTick()
this.$nextTick()是在下一次DOM更新后执行其指定回调函数 this.$nextTick(回调函数) 使用场景:在改变数据后,要对更新后的DOM进行操作时使用