forked from fangtianchen/algonotes_rag
1.7 KiB
1.7 KiB
✏️ 更新工具 (update)
功能
更新已有笔记的内容。
参数
| 参数 | 类型 | 说明 | 默认值 |
|---|---|---|---|
filename |
string | 笔记文件名 | 必填 |
file_path |
string | null | 新的本地文件路径 | 无 |
tag |
bool | 提取标签 | true |
使用示例
// 更新本地笔记
{"filename": "fenwick.md", "file_path": "./updated_fenwick.md"}
// 更新 URL 笔记(从原页面重新爬取)
{"filename": "cnblogs_xxx.md"}
返回格式
{
"file_name": "fenwick.md",
"chunk_count": 13,
"tags": "树状数组, 数据结构",
"title": "树状数组",
"note_id": 5,
"success": true
}
错误:
{"success": false, "error": "Note not found: xxx.md"}
更新逻辑
- 本地笔记:必须指定
file_path,根据新文件更新三层存储 - URL 笔记:无需
file_path,从数据库调取原 URL → 重新爬取 → 更新三层存储
依赖模块
| 模块 | 职责 |
|---|---|
scripts/update.py |
更新逻辑 |
src/ingestion/loader.py |
文件加载(本地/URL) |
src/ingestion/splitter.py |
Markdown 分块 |
src/ingestion/tagger.py |
标签提取 |
src/store/file_store.py |
文件存储 |
src/store/sql_store.py |
SQL 存储 |
src/store/vector_store.py |
向量存储 |
注意事项
- 笔记必须存在:更新前会检查笔记是否存在,不存在则返回错误
- 本地笔记:必须指定
file_path参数提供新文件路径 - URL 笔记:无需
file_path,从数据库调取原 URL 重新爬取 - 覆写原文件:更新操作直接覆写
data/files/中的原文件