Loading...
Loading...
Compare original and translation side by side
undefinedundefined
**Why this matters:**
- Enables re-fetching content if embeddings need regeneration
- Allows validation that source content hasn't changed
- Provides audit trail for data provenance
---
**重要性:**
- 当需要重新生成embeddings时,可重新获取内容
- 可验证源内容是否发生变更
- 提供数据来源的审计追踪
---| Strategy | Version Control | Restore Speed | Portability | Inspection |
|---|---|---|---|---|
| JSON (recommended) | Yes | Slower (regen embeddings) | High | Easy |
| SQL Dump | No (binary) | Fast | DB-version dependent | Hard |
| 策略 | 版本控制 | 恢复速度 | 可移植性 | 可检查性 |
|---|---|---|---|---|
| JSON(推荐) | 支持 | 较慢(需重新生成embeddings) | 高 | 简单 |
| SQL转储 | 不支持(二进制格式) | 快 | 依赖数据库版本 | 困难 |
{
"version": "1.0",
"created_at": "2025-12-19T10:30:00Z",
"metadata": {
"total_analyses": 98,
"total_chunks": 415,
"total_artifacts": 98
},
"analyses": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"url": "https://docs.python.org/3/library/asyncio.html",
"content_type": "documentation",
"status": "completed",
"created_at": "2025-11-15T08:20:00Z",
"chunks": [
{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"content": "asyncio is a library...",
"section_title": "Introduction to asyncio"
// embedding NOT included (regenerated on restore)
}
]
}
]
}{
"version": "1.0",
"created_at": "2025-12-19T10:30:00Z",
"metadata": {
"total_analyses": 98,
"total_chunks": 415,
"total_artifacts": 98
},
"analyses": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"url": "https://docs.python.org/3/library/asyncio.html",
"content_type": "documentation",
"status": "completed",
"created_at": "2025-11-15T08:20:00Z",
"chunks": [
{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"content": "asyncio is a library...",
"section_title": "Introduction to asyncio"
// embedding 未包含(恢复时重新生成)
}
]
}
]
}cd backendcd backendundefinedundefined| Check | Error/Warning | Description |
|---|---|---|
| Count mismatch | Error | Analysis/chunk count differs from metadata |
| Placeholder URLs | Error | URLs containing orchestkit.dev or placeholder |
| Missing embeddings | Error | Chunks without embeddings after restore |
| Orphaned chunks | Warning | Chunks with no parent analysis |
| 检查项 | 错误/警告 | 描述 |
|---|---|---|
| 数量不匹配 | 错误 | 分析/数据块数量与元数据不符 |
| 占位符URL | 错误 | URL包含orchestkit.dev或placeholder |
| 缺少embeddings | 错误 | 恢复后数据块没有embeddings |
| 孤立数据块 | 警告 | 没有父分析的数据块 |
| Scenario | Steps |
|---|---|
| Accidental deletion | |
| Migration failure | |
| New environment | Clone repo -> setup DB -> |
| 场景 | 步骤 |
|---|---|
| 意外删除 | |
| 迁移失败 | |
| 新环境部署 | 克隆仓库 -> 设置数据库 -> |
references/storage-patterns.mdreferences/versioning.mdreferences/storage-patterns.mdreferences/versioning.mdgolden-dataset-validationgolden-dataset-curationpgvector-searchai-native-developmentgolden-dataset-validationgolden-dataset-curationpgvector-searchai-native-development