LLM智能体工程落地思考(二)

面向AI应用的低代码工具

    笔者认为面向AI应用的低代码工具可以成为回答上一节问题的一个可选的答案。但笔者这里所说的低代码平台非前两年爆火的面向UI应用开发的工具。因为这类低代码工具理论上可以降低任何场景的开发成本而不是特指于AI Agent的应用场景。

    去年伴随着LLM兴起,出现了围绕LLM应用落地的开源框架LangChain。该开发框架可以大幅提升LLM的应用落地效率。一经推出就得到了开发者的广泛关注和应用。但面对AI Agent的工程落地需求看,大量的数据整理、环境对接工作,即便使用了LangChain框架,定制开发工作量仍无法忽视。于是,去年下半年,开始陆续出现了一些以LangChain作为基础的低代码类RPA工具,如:Flowise,LangGraph以及国内最近非常火的Dify等工具。这些工具的出现,进一步降低了LLM的应用成本和搭建AI Agent的成本。通过组件拖拽,可视化的构建数据处理流程和AI的应用逻辑,可降低对实施人员的编程能力要求,使得有经验的业务人员有机会参与工程落地;可更快速的调整及测试流程的逻辑,提升实施效率。

    虽然Flowise,Dify等工具已经在很大程度上降低了AI Agent的实施成本。但在笔者看来,由于AI Agent应用场景的不确定性,仍存在大量RPA类工具无法满足的潜在开发工作。比如:这类RPA工具对于文本、图片等非结构化数据有较好的支持,但对于传统的结构化数据的支持能力就显得有所不足了。而经过了近30年的IT信息化建设,绝大多数客户都拥有相当规模的存量结构化数据。这些数据也一定会纳入AI Agent的应用场景中。因此,笔者认为一款能够更好的落地AI Agent的低代码工具应该至少包括以下几个特性:

  • 全结构数据支持能力:能够同时支持结构化、半结构化以及非结构化数据的应用处理,这样才能串接各类数据并与AI Agent进行整合。这类工具从设计角度不应该是一个简单RPA工具,应该是一个数据科学工具,即应该采用类似Kettle,StreamSet等工具的技术路线,并将数据处理能力扩展到非结构化数据。这样就能够串接过去几十年的数据应用习惯并延伸至未来以AI模型应用的场景中了。
  • 数据全生命周期支持能力:具备数据从采集、存储、处理、传输、交换到销毁六个阶段的全能力支持。由于无法明确AI Agent的应用边界。因此一个能够支持数据全生命周期阶段的工具将有可能更大范围的降低AI Agent的应用成本。
  • 强大的AI模型整合能力:需要能够整合各类AI模型能力,而不仅限于LLM的整合能力。众所周知的是,LLM在自然语言方面的工作能力已经让我们大开眼界,最近多模态模型进化出的能力更是进一步让我们唏嘘不已。但我们能看到的是,每一次惊叹背后都一笔无法忽视的能源和算力消耗。而且,我们并不是每一个任务都需要动用如此巨大能力的模型来应答,反而有些时候,一些小的专用AI模型能够带来更好的性价比。比如:分词、文本分类、翻译、OCR识别、物体识别、语音转文字、文字转语音、基于业务的预测、分类、聚类等。目前HuggingFace网站上的近80万个各类AI模型是一个巨大的宝藏,整合这些AI模型的能力,能够让AI Agent变的更智能。
  • 丰富多样的数据处理扩展能力:提供丰富多样的功能扩展手段,用以支持AI Agent在工程实施时需要对接的各类外部环境及业务功能。可以方便的扩展与各类存储计算系统的对接;支持通过算子组件、脚本、Rest接口等方式扩展数据生命周期各阶段的功能支撑;支持在主流程中复用通过低代码方式编写的子流程,从而可以在工具内形成闭环的业务功能扩展能力。

HuggingFists AI应用开发平台

    HuggingFists是一款由笔者团队开发的低代码AI应用开发平台。(该平台虽不是开源的,但社区版支持免费使用,可通过Github下载,地址:https://github.com/Datayoo)。有别于现在流行的RPA类低代码平台,HuggingFists采用的是传统的数据科学工具的架构,即HuggingFists是面向数据集来处理的。因此,其天然能够兼容结构化与半结构化的数据处理场景。另外,HuggingFists在设计上剥离了文件系统与文件的捆绑结构。将其转换为了输入和读取两大类算子。因此,对于以文件形式表达的非结构化数据也有了全面的接入能力。下面笔者简单罗列下HuggingFists系统的特性:

  • 完善的数据源接入能力:能够支持数据库、文件系统、消息队列以及应用四类数据源,并可通过安装连接器插件扩展数据连接能力。提供了数据源管理界面,可对所有的数据源进行可视化浏览,方便使用者了解及简单管理数据。支持同一存储系统的不同版本的连接器,如:可同时支持ElastiSearch7和ElasticSearch8等。数据库除支持传统的关系数据库、文档数据库、数据仓库等外,围绕AI应用,还支持了向量库和图数据库。
  • 直观易用的低代码编程模式:HuggingFists采用了传统数据科学的低代码编程风格--算子(含端口)+数据连接的流程构建风格。但也有别于传统的数据科学工具,其编程风格更自由。多数情况下,HuggingFists没有对算子端口的连接数做任何限制,可自由构建算子间的数据连接关系; 流程的定义态与执行态分离,在定义态点击端口,可以清晰知道各算子间的数据流入/流出结构。该功能如同函数声明中的入参与返回定义,方便使用者知道如何使用算子;执行态执行流程后,会记录每个算子的运行时长,每个端口输入/输出数据量;为了流程调试方便,HuggingFists还提供了对流程的断点调试功能,方便使用者更方便的定位问题。此外,还提供了执行到当前算子、复制算子、为算子填写注释、多算子打包/拆包(流程复杂时,可用此功能将多个算子打包在一个容器算子中,使版面清晰)等。使用者不必担心流程的运行的效率,流程中的每个算子都以并行方式运行,可最大效率的处理流程中的数据。
  • 流程复用与对外服务:HuggingFists支持在主流程中引用一个子流程,即可以用算子编写一个类似函数的子流程,被其它流程调用。也可编写一个流程,将其配置到接口管理中,对外提供Rest风格的API调用。利用这种模式,
### 多个LLM智能体协作实现与最佳实践 #### 设计架构 为了使多个大型语言模型(LLM)智能体能够有效合作,设计合理的通信协议至关重要。这通常涉及定义消息传递标准以及交互模式[^1]。 #### 选择合适的框架和技术栈 采用支持多代理系统的开发平台可以简化这一过程。例如,在Python环境中,Ray库提供了强大的分布式计算能力,允许创建并管理复杂的代理网络;而Dapr则是一个跨云和边缘环境运行的应用程序的开源中间件项目,它能帮助构建可靠的服务间通讯机制。 #### 实现方法论 一种常见的做法是通过事件驱动的方式让各个Agent监听特定类型的输入信号,并据此触发相应的处理逻辑。当某个Agent完成任务后会向其他成员发送通知或更新状态共享资源表单以便于后续操作继续推进流程向前发展。 ```python import ray @ray.remote class Agent: def __init__(self, id): self.id = id async def process(self,message): print(f"Processing by agent {self.id}: ", message) if __name__ == "__main__": ray.init() agents = [Agent.remote(i) for i in range(3)] futures = [agent.process.remote("hello") for agent in agents] results = await asyncio.gather(*futures) ``` #### 安全性和隐私保护措施 考虑到不同LLMs可能来自不同的信任域内,因此必须重视安全性考量。可以通过加密传输通道、访问控制列表等方式来保障数据交换的安全性;同时也要注意遵循GDPR等相关法律法规的要求以维护用户个人信息权益不受侵犯。 #### 性能优化建议 对于大规模部署场景而言,性能瓶颈往往成为制约因素之一。为此可采取诸如批量请求合并提交、异步I/O调度等手段提高整体吞吐量水平;另外还可以利用缓存技术减少重复查询所带来的开销从而加快响应速度提升用户体验满意度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值