SuperAPI AI 工具集

cocoindex-v1

编程与开发

查看项目

更新于 10-16 08:34

技能介绍

用途:CocoIndex v1 是用于构建增量数据转换流水线的 Python 库,遵循“目标状态 = 变换(源状态)”原则。适合文档处理(PDF/Markdown 转换、文本抽取、分块)、向量嵌入与语义搜索、数据库 ETL、知识图谱抽取、基于 LLM 的结构化抽取、文件转换及增量索引等场景。

主要能力:自动增量更新,仅重新处理变化数据;声明式目标状态,由库负责创建/更新/删除;支持 dataclasses、Pydantic、NamedTuple 等任意 Python 类型,无需自定义 DSL;通过 memo=True 提供函数记忆化,跳过未变化输入的昂贵操作;可用 ContextKey 与 @coco.lifespan 共享模型等昂贵资源;提供稳定的 ID 生成(generate_id / IdGenerator)。连接器支持 PostgreSQL、SQLite、LanceDB、Qdrant 与文件系统。

使用方式:用 CLI 初始化项目(cocoindex init my-project),在 pyproject.toml 中按需添加依赖,配置数据库后运行 pip install -e . 与 cocoindex update main.py。核心 API 包括 @coco.function、coco.App/coco_aio.App、coco_aio.mount_each、coco_aio.use_mount、declare_file/declare_row/declare_point 等。文本分块可用 RecursiveSplitter,嵌入可用 SentenceTransformerEmbedder。其他命令:cocoindex drop main.py [-f]、cocoindex ls main.py、cocoindex show main.py。

限制:资料未提供收费、价格、平台与效果信息。建议使用稳定的组件路径以保证记忆化生效,为昂贵操作加 memo=True,对 I/O 场景优先异步挂载,同步 coco.mount() 仅用于 CPU 密集的叶子组件。PostgreSQL 需启用 pgvector 扩展;若出现“Module not found”,需在 pyproject.toml 中配置预发布。部分细节(如各连接器完整清单与迁移细节)以官方文档为准,暂未在资料中完整提供。