《Clojure数据分析秘笈》——3.5节将agent和STM结合使用

简介:

本节书摘来自华章社区《Clojure数据分析秘笈》一书中的第3章,第3.5节将agent和STM结合使用,作者(美)Eric Rochester,更多章节内容可以访问云栖社区“华章社区”公众号查看

3.5 将agent和STM结合使用
agent本身非常实用。但是如果agent函数需要与agent外部数据保持一致性,需要将agent和STM结合使用:使用send或send-off函数协调agent的状态,将dosync、ref-set、alter或者commute整合至agent函数来协调其他状态。
结合使用简化了状态和数据的一致性问题。这对于管理数据处理和分析系统复杂度提供了极大的帮助。
本方法中,还是处理前几个方法中的问题:在2010年美国人口普查数据中计算Virginia每个住宅单元的家庭数。这次结构稍有变化。数据序列将在引用中,而不是在agent状态中。也会使用计数器标识agent是否完成。

3.5.1 准备工作
使用与3.2节中相同的依赖。除了相同的引用外,还需要导入Java的包:

使用前几种方法中的值和函数。在3.2节中,使用data-file、lazy-read-csv、with-heade、->int、sum-item和sum-items。在3.3节中,使用accum-sums、div-vec和force-val。

3.5.2 具体实现
本方法中,需要定义一些新的函数来遍历输入块队列并阻塞至整个处理过程完成。

  1. 需要一个函数将输入序列中一个元素取出并将引用指向序列剩余部分。


7798989c2ffc66894f8c34c69dc9a3a0f2bc45f3


b497140049b18b622952133cdb08fa284f9d6d3b

3.5.3 实现原理
get-chunk函数是STM帮助维护状态一致性的示例。由于它们在相同的dosync块中,访问数据得到其第一个元素并将引用指向序列的剩余部分是一个原子操作。不必担心由于进程的原因数据被处理两次或者被遗漏。调用get-chunk的函数也不用担心此类事情。将复杂的部分隐藏起来极大简化了复杂系统。

相关文章
|
3月前
|
数据采集 人工智能 数据可视化
Streamline Analyst: 基于LLMs、一键完成全流程的数据分析AI Agent 🚀
Streamline Analyst 🪄是一个开源的基于GPT-4这样的大语言模型的应用,目标简化数据分析中从数据清洗到模型测试的全部流程。分类预测、聚类、回归、数据集可视化、数据预处理、编码、特征选择、目标属性判断、可视化、最佳模型选择等等任务都不在话下。用户需要做的只有选择数据文件、选择分析模式,剩下的工作就可以让AI来接管了。所有处理后的数据和训练的模型都可下载。
242 2
Streamline Analyst: 基于LLMs、一键完成全流程的数据分析AI Agent 🚀
|
算法 大数据 数据挖掘
《Clojure数据分析秘笈》——导读
本节书摘来自华章社区《Clojure数据分析秘笈》一书中的目录,作者(美)Eric Rochester,更多章节内容可以访问云栖社区“华章社区”公众号查看
1478 0
|
6天前
|
存储 人工智能 测试技术
【AI智能体】SuperAGI-开源AI Agent 管理平台
【4月更文挑战第9天】智能体管理平台SuperAGI简介及实践
|
7天前
|
人工智能 API 决策智能
【AI Agent系列】【阿里AgentScope框架】实战1:利用AgentScope实现动态创建Agent和自由组织讨论
【AI Agent系列】【阿里AgentScope框架】实战1:利用AgentScope实现动态创建Agent和自由组织讨论
45 2
|
7天前
|
人工智能 决策智能 C++
【AI Agent系列】【阿里AgentScope框架】5. Pipeline模块的组合使用及Pipeline模块总结
【AI Agent系列】【阿里AgentScope框架】5. Pipeline模块的组合使用及Pipeline模块总结
31 1
|
7天前
|
人工智能 决策智能
【AI Agent系列】【阿里AgentScope框架】4. 深入源码:Pipeline模块如何组织多智能体间的数据流?- 循环结构
【AI Agent系列】【阿里AgentScope框架】4. 深入源码:Pipeline模块如何组织多智能体间的数据流?- 循环结构
18 0
|
7天前
|
人工智能 决策智能
【AI Agent系列】【阿里AgentScope框架】3. 深入源码:Pipeline模块如何组织多智能体间的数据流?- 顺序结构与条件分支
【AI Agent系列】【阿里AgentScope框架】3. 深入源码:Pipeline模块如何组织多智能体间的数据流?- 顺序结构与条件分支
30 2
|
7天前
|
人工智能 决策智能 C++
【AI Agent教程】【MetaGPT】案例拆解:使用MetaGPT实现“狼人杀“游戏(1)- 整体框架解析
【AI Agent教程】【MetaGPT】案例拆解:使用MetaGPT实现“狼人杀“游戏(1)- 整体框架解析
99 1

热门文章

最新文章