LLM 友好的实时数据流处理引擎
大家好,又见面了,我是 GitHub 精选君!
背景介绍
在数据分析和处理的工作中,我们面临着从实时分析到流处理、从长短期记忆(LLM)管道到关系型代数图(RAG)等多方面的挑战。数据的快速增长和需求的多样化,要求我们不断寻找更高效、更智能化的处理解决方案。尤其是在处理实时数据流和大规模机器学习模型时,如何有效地整合流数据和批数据处理、保证数据的一致性和准确性,以及如何在不牺牲开发效率的前提下实现高性能计算,成为了许多企业和开发者的核心痛点。
今天要给大家推荐一个 GitHub 开源项目 pathway,该项目在 GitHub 有超过 6.3k Star。
一句话介绍该项目:Python ETL framework for stream processing, real-time analytics, LLM pipelines, and RAG.
项目介绍
Pathway 是一个基于 Python 的 ETL (提取、转换、加载)框架,专注于流处理、实时分析、LLM 管道和 RAG。
Pathway 的亮点在于它提供了易于使用的 Python API,允许开发者无缝集成他们喜爱的 Python 机器学习库,并且支持在开发和生产环境中有效处理批量和流数据。进一步地,Pathway 由一个基于差分数据流的可扩展 Rust 引擎驱动,使你的 Pathway 代码以 Rust 引擎运行,从而实现了多线程、多进程和分布式计算的能力。此外,整个管道都保持在内存中,并可以通过 Docker 和 Kubernetes 轻松部署。
如何使用
安装 Pathway 要求 Python 3.10 或以上版本,只需通过 pip 命令:
$ pip install -U pathway
以下是一个实时计算正值总和的简单示例,展示了 Pathway 的基本使用方法:
import pathway as pw
class InputSchema(pw.Schema):
value: int
input_table = pw.io.csv.read(
"./input/",
schema=InputSchema
)
filtered_table = input_table.filter(input_table.value >= 0)
result_table = filtered_table.reduce(
sum_value = pw.reducers.sum(filtered_table.value)
)
pw.io.jsonlines.write(result_table, "output.jsonl")
# Run the computation
pw.run()
项目推介
Pathway 项目以其独特的功能集、对开发者友好的接口和强大的性能表现,在业界脱颖而出。它适用于 MacOS 和 Linux 系统,拥有丰富的连接器、状态处理和持久性功能。
以下是该项目 Star 趋势图(代表项目的活跃程度):
更多项目详情请查看如下链接。
开源项目地址:https://github.com/pathwaycom/pathway
开源项目作者:pathwaycom
开源协议:Other
以下是参与项目建设的所有成员:
关注我们,一起探索有意思的开源项目。
更多精彩请扫码关注如下公众号。