Pathway

活跃
GitHub Python NOASSERTION

简介

Pathway 是一个 Python ETL 框架,支持流处理、实时分析、LLM 管道和 RAG 应用构建。

核心特性

  • Rust 引擎驱动 — 基于 Differential Dataflow 的可扩展 Rust 引擎,支持多线程、多进程和分布式计算
  • 统一批流处理 — 同一份代码可用于本地开发、批处理作业和流数据回放,无需切换框架
  • 丰富的连接器 — 内置 Kafka、GDrive、PostgreSQL、SharePoint 等连接器,Airbyte 连接器覆盖 300+ 数据源
  • LLM 与 RAG 工具链 — 提供 LLM 封装器、解析器、嵌入器、分割器及内存实时向量索引,集成 LlamaIndex 和 LangChain
  • 有状态转换 — 支持 joins、windowing、sorting 等有状态操作,部分操作在 Rust 中实现以提升性能
  • 持久化与一致性 — 计算状态可持久化,支持崩溃恢复;社区版提供 at-least-once 一致性,企业版提供 exactly-once

适用场景

💡 构建实时 ETL 管道,从 Kafka 等消息队列中持续处理和转换数据流
💡 搭建私有 RAG 应用,利用 Ollama 和 Mistral AI 实现基于文档的实时问答系统
💡 将非结构化数据实时转换为结构化 SQL 查询,支持动态数据分析
💡 构建自适应 RAG 系统,根据查询复杂度自动选择检索策略
💡 实现多模态 RAG,结合 GPT-4o 处理文本和图像混合文档

优势与不足

优势

  • 活跃维护,近期持续更新
  • 社区热度高(62.5k stars)
  • 项目有一定历史沉淀(已维护 3 年)
  • Issue 响应及时,积压少

⚠️ 不足

  • 缺少明确的开源许可证

快速开始

pip install -U pathway

import pathway as pw

# 从 CSV 文件读取数据
table = pw.io.csv.read("data/input.csv")

# 对数据执行转换
result = table.select(col1=pw.this.col1, col2=pw.this.col2 * 2)

# 将结果写入输出文件
pw.io.jsonlines.write(result, "output.jsonl")

# 启动实时处理管道
pw.run()

相关项目

RAGatouille

4.0k · Python
不活跃 C

轻松使用和训练最先进的后期交互检索方法(ColBERT),模块化设计,可将 ColBERT 模型集成到任何 RAG 管道中,显著提升检索精度。

ragpythonembedding +1
  • · ColBERT 后期交互检索:将先进的 ColBERT 模型封装为简单 API,无需深入了解检索论文即可在 RAG 管道中使用后期交互检索方法
  • · 端到端训练与微调:内置 RAGTrainer 和 TrainingDataProcessor,自动处理数据去重、正负样本配对和硬负例挖掘,支持从零训练或微调预训练模型
  • · 模块化可组合架构:DataProcessor、NegativeMiner 等组件可独立使用,也支持自定义 NegativeMiner 接入训练管道

MemAgent

1.1k · Python
不活跃 B

可扩展至 350 万上下文 token 的记忆智能体框架,附带用于任意智能体工作流 RL 训练的训练框架,解决长上下文记忆难题。

memoryagentrag +2
  • · 超长上下文处理:从 8K 训练上下文外推至 350 万 token,性能损失低于 5%
  • · 强化学习驱动:采用 RLVR(可验证奖励强化学习)训练,扩展 DAPO 算法支持多轮对话端到端优化
  • · 线性时间复杂度:突破长文本处理的计算瓶颈,资源随文本长度线性扩展

LightRAG

38.9k · Python
活跃 A+

LightRAG 是一个简洁高效的 RAG 框架,使用图结构增强检索效果,发表于 EMNLP 2025。

raggraphretrieval +2
  • · 图结构增强检索 — 使用知识图谱实体和关系进行双层检索(local/global),比传统向量检索更精准
  • · 四种文本分块策略 — 支持 Fixed、Recursive、Vector、Paragraph 分块,适应不同文档类型
  • · 多后端存储支持 — 兼容 Neo4j、PostgreSQL、MongoDB、OpenSearch、JSON KV Store 等多种存储方案