[ PROMPT_NODE_24526 ]
cocoindex
[ SKILL_DOCUMENTATION ]
# CocoIndex
## 概述
CocoIndex 是一个超高性能的 AI 实时数据转换框架,支持增量处理。此技能支持构建**索引工作流**,从源提取数据,应用转换(分块、嵌入、LLM 提取),并导出到目标(向量数据库、图数据库、关系数据库)。
**核心能力:**
1. **编写索引工作流** - 使用 Python 定义 ETL 管道
2. **创建自定义函数** - 构建可重用的转换逻辑
3. **操作工作流** - 使用 CLI 或 Python API 运行和管理工作流
**关键特性:**
- 增量处理(仅处理变更数据)
- 实时更新(持续将源变更同步到目标)
- 内置函数(文本分块、嵌入、LLM 提取)
- 多种数据源(本地文件、S3、Azure Blob、Google Drive、Postgres)
- 多种目标(Postgres+pgvector, Qdrant, LanceDB, Neo4j, Kuzu)
**详细文档:**
**搜索文档:**
## 何时使用此技能
当用户请求以下内容时使用:
- “为我的文档构建向量搜索索引”
- “为代码/PDF/图像创建嵌入管道”
- “使用 LLM 提取结构化信息”
- “从文档构建知识图谱”
- “设置实时文档索引”
- “创建自定义转换函数”
- “运行/更新我的 CocoIndex 工作流”
## 工作流编写流程
### 第 1 步:明确需求
通过澄清问题来了解:
**数据源:**
- 数据在哪里?(本地文件、S3、数据库等)
- 文件类型是什么?(文本、PDF、JSON、图像、代码等)
- 更新频率如何?(一次性、定期、持续)
**转换:**
- 需要什么处理?(分块、嵌入、提取等)
- 使用哪种嵌入模型?(SentenceTransformer, OpenAI, 自定义)
- 是否有自定义逻辑?(过滤、解析、增强)
**目标:**
- 结果存放在哪里?(Postgres, Qdrant, Neo4j 等)
- 模式是什么?(字段、主键、索引)
- 是否需要向量搜索?(指定相似度度量)
### 第 2 步:设置依赖
指导用户根据需求将 CocoIndex 及其适当的扩展添加到项目中:
**必需依赖:**
- `cocoindex` - 核心功能、CLI 和大多数内置函数
**可选扩展(按需添加):**
- `cocoindex[embeddings]` - 用于 SentenceTransformer 嵌入(使用 `SentenceTransformerEmbed` 时)
- `cocoindex[colpali]` - 用于...