Pathway 是一个用于流处理、实时分析、LLM 管道和 RAG 的 Python ETL 框架。
Pathway 附带易于使用的 Python API,让你可以无缝集成您常用的 Python 机器学习库。Pathway 代码功能强大且功能强大:可以在开发和生产环境中使用它,高效处理批量数据和流数据。同一份代码可用于本地开发、CI/CD 测试、运行批量作业、处理流回放以及处理数据流。
Pathway 由基于 Differential Dataflow 的可扩展 Rust 引擎驱动,并执行增量计算。你的 Pathway 代码虽然是用 Python 编写的,但由 Rust 引擎运行,从而支持多线程、多处理和分布式计算。所有流水线都保存在内存中,并且可以轻松地使用Docker 和 Kubernetes进行部署。
可以使用 pip 安装 Pathway:
pip install -U pathway
特点:
- 丰富的连接器:Pathway 附带可连接到 Kafka、GDrive、PostgreSQL 或 SharePoint 等外部数据源的连接器。其 Airbyte 连接器允许你连接到 300 多个不同的数据源。如果你所需的连接器不可用,可以使用 Pathway Python 连接器构建自定义连接器。
- 无状态和有状态转换:Pathway 支持有状态转换,例如连接、窗口和排序。它提供了许多直接用 Rust 实现的转换。除了提供的转换之外,还可以使用任何 Python 函数。可以实现自己的转换,也可以使用任何 Python 库来处理数据。
- 持久性:Pathway 提供持久性功能来保存计算状态。这允许在更新或崩溃后重新启动管道。
- 一致性:Pathway 为你处理时间问题,确保所有计算的一致性。具体来说,Pathway 通过在新的数据点进入系统时更新其结果来管理延迟点和乱序点。
- 可扩展的 Rust 引擎:使用 Pathway Rust 引擎,可以摆脱 Python 常见的限制。可以轻松进行多线程、多处理和分布式计算。
- LLM 助手:Pathway 提供了一个 LLM 扩展,其中包含将 LLM 与你的数据管道(LLM 包装器、解析器、嵌入器、拆分器)集成所需的所有实用程序,包括内存实时向量索引以及与 LLamaIndex 和 LangChain 的集成。可以使用实时文档快速构建和部署 RAG 应用程序。
评论