Repolode
cocoindex-io

cocoindex-io/cocoindex

基于 Python 与 Rust 内核的增量数据管道框架,让向量索引和知识图谱随源数据变化持续同步,服务于 AI 智能体与 RAG 应用。

Star
11,721
Fork
921
未关闭 Issue
103
最近提交
昨天

这是什么?

CocoIndex 是一个用于构建数据管道的框架,可将代码库、文档、Slack、会议纪录、PDF 和视频等来源转换为持续更新的上下文,供 AI 智能体和 LLM 应用使用。开发者用 Python 函数声明目标状态,引擎会跟踪源数据的变化,只重新计算受影响的行、文件或输出,而不是重跑整个语料库。

引擎通过对输入和函数代码同时做哈希来缓存计算结果,因此修改某个转换逻辑时,只需重新执行依赖它的输出。每条目标数据都可以追溯到源数据,便于调试和审计。目标端支持 Postgres 等关系数据库的向量索引、LanceDB 等向量存储,以及 Neo4j、Kuzu 等图数据库。项目还提供代码嵌入、PDF 检索增强生成、知识图谱抽取和 Kafka 流式写入等示例。

项目以 Python 为主要接口,底层使用 Rust 实现,可通过 pip 安装,并附带快速入门、连接器和转换文档。

核心功能

  • 01增量处理,只重新计算变化的源数据及其依赖的输出。
  • 02基于输入哈希和代码哈希的函数级缓存。
  • 03支持 Postgres(pgvector)、LanceDB 等向量索引目标。
  • 04支持 Neo4j、Kuzu 等图数据库作为写入目标。
  • 05可将每条目标数据追溯到原始来源。
  • 06提供本地文件、S3、Google Drive 等数据源连接器,并支持写入 Kafka。

适用场景

  • 为文档语料维护 RAG 索引,只对变化的文件重新做向量嵌入。
  • 为编码智能体构建每次提交后自动更新的代码语义索引。
  • 从会议纪要中抽取实体和关系,写入知识图谱。
  • 将变化的 CSV 行实时推送到 Kafka 主题。

快速上手

  1. 1

    从 PyPI 安装 CocoIndex

    pip install -U cocoindex
  2. 2

    声明目标并运行一次增量更新以完成回填

    coco.App(coco.AppConfig(name="docs"), main, src="./docs").update_blocking()

使用前须知

  • 快速入门需要 Postgres 数据库和嵌入函数,示例中使用了它们,但并不会替你完成配置。
  • 项目 API 仍在快速变化,不同版本之间代码可能需要调整。

标签

常见问题

cocoindex 是什么?
基于 Python 与 Rust 内核的增量数据管道框架,让向量索引和知识图谱随源数据变化持续同步,服务于 AI 智能体与 RAG 应用。 CocoIndex 是一个用于构建数据管道的框架,可将代码库、文档、Slack、会议纪录、PDF 和视频等来源转换为持续更新的上下文,供 AI 智能体和 LLM 应用使用。开发者用 Python 函数声明目标状态,引擎会跟踪源数据的变化,只重新计算受影响的行、文件或输出,而不是重跑整个语料库。
cocoindex 可以免费使用吗?用的什么许可证?
cocoindex 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
cocoindex 还在维护吗?
活跃维护中。cocoindex 最近一次提交是在 2026年10月19日。
cocoindex 适合用来做什么?
为文档语料维护 RAG 索引,只对变化的文件重新做向量嵌入。 为编码智能体构建每次提交后自动更新的代码语义索引。 从会议纪要中抽取实体和关系,写入知识图谱。 将变化的 CSV 行实时推送到 Kafka 主题。
cocoindex 怎么安装和运行?
从 PyPI 安装 CocoIndex: pip install -U cocoindex 声明目标并运行一次增量更新以完成回填: coco.App(coco.AppConfig(name="docs"), main, src="./docs").update_blocking()
在哪里获取 cocoindex?
源代码和安装说明在 GitHub 上:https://github.com/cocoindex-io/cocoindex

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目