TaskingAI Record 删除指南:用 Python SDK 永久删除 Collection 中的记录及其 Chunks
人工智能大模型AI AgentRAG后端前端【免费下载链接】TaskingAIThe open source platform for AI-native application development.项目地址https://gitcode.com/gh_mirrors/ta/TaskingAI点击查看免费下载本指南围绕 TaskingAI 检索Retrieval模块中的 Record 删除操作展开基于代码模板 5_delete_a_record.md 讲解同步与异步两种删除调用方式并结合后端源码剖析删除时的级联清理、事务保障与计数回收机制。读完本文你将掌握通过taskingai.retrieval.delete_record/a_delete_record安全删除一条 Record 的完整流程以及删除后数据状态如何变化。前置背景Record 在 TaskingAI Retrieval 中的层级关系在 TaskingAI 的检索体系中数据按「Collection → Record → Chunk」三层组织Collection检索集合是知识库的顶层容器拥有capacity容量以 chunk 数为单位、num_records、num_chunks等统计字段参见 collection.pyRecord集合内的一条记录类型支持text、file、web三种见 record.py本身还携带title、content、metadata等属性ChunkRecord 内容经文本切分如TokenTextSplitter后得到的向量化片段是检索时的最小匹配单元。删除 Record 是数据生命周期管理中常见的清理操作当某条知识过期、被误写入或需要整体替换时可将其从集合中移除。需要注意的是TaskingAI 的删除是永久性删除——正如模板文档所述Record 会被彻底移除且与其关联的 chunks 也会一并删除执行后无法通过 API 找回。标准删除调用delete_record代码模板 5_delete_a_record.md 给出了最简洁的同步删除方式import taskingai taskingai.retrieval.delete_record( collection_id$$COLLECTION_ID$$, record_id$$RECORD_ID$$ )其中两个占位符参数需要替换为实际值参数类型必填说明collection_idstr是目标 Record 所属 Collection 的标识符可通过创建 Collection 的返回值获取record_idstr是待删除 Record 的标识符可通过创建 Record 或list_records获取异步变体a_delete_record同一目录下提供了异步版本模板 5_delete_a_record.mdasync适用于需要与async/await并发模型协同的场景import taskingai await taskingai.retrieval.a_delete_record( collection_id$$COLLECTION_ID$$, record_id$$RECORD_ID$$ )在asyncio驱动的应用中优先使用异步版本可避免阻塞事件循环两者的删除语义完全一致。获取 collection_id 与 record_id若你尚未持有这两个 ID可参考同目录模板先创建数据。创建 Record 时见 1_create_record.md返回值中带有record.record_idimport taskingai from taskingai.retrieval import Record, TokenTextSplitter record: Record taskingai.retrieval.create_record( collection_id$$COLLECTION_ID$$, typetext, contentMachine learning is a subfield of artificial intelligence..., text_splitterTokenTextSplitter(chunk_size200, chunk_overlap20), ) print(fcreated record: {record.record_id})删除背后的底层原理事务内的级联清理删除 Record 并非简单地从一张表中去掉一行而是涉及 chunk 清理与集合统计回退的级联操作。后端核心实现位于 backend/app/database_ops/retrieval/record/delete.pyasync def delete_record(record: Record): async with postgres_pool.get_db_connection() as conn: async with conn.transaction(): # 1. delete record chunks old_num_chunks await delete_record_chunks(conn, record.collection_id, record.record_id) # 2. delete from db await conn.execute( DELETE FROM record WHERE collection_id$1 AND record_id$2;, record.collection_id, record.record_id, ) # 3. update vectordb_collection num_records and num_chunks await conn.execute( UPDATE collection SET num_records num_records - 1, num_chunks num_chunks - $1 WHERE collection_id$2;, old_num_chunks, record.collection_id, )整个删除过程分为三个步骤全部包在同一个数据库事务中保证「chunk 删除、record 删除、集合计数更新」要么全部成功、要么全部回滚删除 Record 关联的所有 chunks通过delete_record_chunks从该 Collection 专属的 chunk 表中删除数据。每个 Collection 在 PostgreSQL 中对应一张独立的 chunk 表表名由Collection.get_chunk_table_name生成格式为c1_{collection_id}见 collection.py。在 utils.py 中该函数先COUNT出该 Record 的 chunk 数量再执行DELETE FROM {chunk_table_name} WHERE record_id $1并把数量返回给上层用于后续计数回退。删除 record 表中的记录行以collection_idrecord_id作为复合主键定位并删除Record 的主键即这两个字段的组合见 record.py。回退 Collection 的统计信息num_records减 1num_chunks减掉刚才实际删除的 chunk 数量old_num_chunks。从源码结构看第二步记录的是删除前该 Record 的实际 chunk 数而非预估数因此即使 Record 曾被部分删除过 chunk集合的num_chunks统计也能保持精确。上层调用链删除请求经由以下链路抵达数据库层见 operators/retrieval/record.pyRecordModelOperator.delete校验路径参数并加载collection与record实体调用db_record.delete_record(record)执行上文的三步事务通过collection_ops.redis.pop(collection)使 Collection 的缓存失效确保后续读取能拿到最新的统计值。HTTP API 视角DELETE 端点与响应Python SDK 的delete_record最终映射到后端 REST 接口。路由定义见 backend/app/routes/auto/record.pyDELETE /v1/collections/{collection_id}/records/{record_id}路径参数collection_id与record_id均为必填接口成功时返回RecordDeleteResponse内容固定为{status: success}见 record_delete_response.py不携带其他数据若目标 Record 不存在接口将返回错误响应测试中体现为OBJECT_NOT_FOUND。验证删除结果测试用例中的断言方式仓库自带的集成测试 test_record.py 完整演示了删除行为的验证方法res await delete_record(Retrieval.collection_id, record_id) res_json res.json() assert res.status_code 200 assert res_json.get(status) success get_res await get_record(Retrieval.collection_id, record_id) assert get_res.status_code 404 assert get_res_json.get(error).get(code) OBJECT_NOT_FOUND即删除成功返回200statussuccess随后再次查询该 Record 返回404错误码为OBJECT_NOT_FOUND。同一测试文件后续还断言了删除后 Collection 的num_records与num_chunks均归零验证了集合统计的正确回退test_record.py。HTTP 层的测试辅助函数可参考 backend/tests/api_services/retrieval/record.py它通过session.delete直接调用上述端点。实用注意事项不可逆操作delete_record是永久删除Record 及其 chunks 会从数据库中被物理移除DELETE语句不存在软删除或回收站机制执行前请务必确认record_id。容量自动释放删除后 Collection 的num_records与num_chunks同步回退意味着被占用的容量capacity随之释放可继续用于创建新的 Record。file 类型 Record 的更新限制从 record.py 的源码可以看出file类型 Record 不支持原地更新官方给出的替换方案正是「删除后重新创建」这也让删除成为文件类记录更新流程中的关键一环。批量清理场景如需清空整个 Collection可直接删除 Collection 本身其 chunk 表会被整体DROP见 collection/delete.py若仅清理部分数据则逐个delete_record更合适。相关阅读同目录下的完整 Record 操作模板创建 Record、查询单个 Record、更新 Record、列出 Records后端核心实现record 数据操作层、record 操作器、自动生成路由集成测试test_record.py 与 测试辅助函数赞分享人工智能大模型AI AgentRAG后端前端【免费下载链接】TaskingAIThe open source platform for AI-native application development.项目地址https://gitcode.com/gh_mirrors/ta/TaskingAI点击查看免费下载相关推荐TaskingAI 检索记录删除指南使用 Python SDK 从 Collection 中移除 Record 及其 ChunkTaskingAI 检索记录删除指南使用 Python SDK 从 Collection 中移除 Record 及其 Chunk 本指南聚焦 TaskingA人工智能大模型AI AgentRAG后端前端react-admin 软删除实践用 useHardDeleteMany 批量永久清除已删除记录react admin 软删除实践用 useHardDeleteMany 批量永久清除已删除记录 useHardDeleteMany 是 react admi前端UI组件react-admin 硬删除 Hook 完全指南useHardDelete 实现已删除记录的永久清除react admin 硬删除 Hook 完全指南useHardDelete 实现已删除记录的永久清除 useHardDelete 是 react admin前端UI组件上一篇如何用Label Studio快速构建多模态AI数据标注平台3分钟入门终极指南下一篇【亲测免费】 大可分离核注意力LSKA——重新定义CNN中的大核注意力设计创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

多模型调度网关实战:成本、延迟、质量三透明架构设计与落地

多模型调度网关实战:成本、延迟、质量三透明架构设计与落地

1. 从单模型硬扛到多模型调度:我为什么要折腾这套网关去年下半年开始,我手上同时跑着好几个AI应用:一个面向内部知识库的问答助手、一个给运营团队用的文案生成工具、还有一个做结构化信息抽取的小服务。最开始图省事,所有请求都往…

2026/10/13 1:43:13 阅读更多 →
Kener 功能路线图全解析:从 SQLite 存储到 Admin UI 的落地证据与未完成清单

Kener 功能路线图全解析:从 SQLite 存储到 Admin UI 的落地证据与未完成清单

可观测性后端前端运维 【免费下载链接】kener Stunning status pages, batteries included! 项目地址: https://gitcode.com/gh_mirrors/ke/kener 点击查看 免费下载 Kener 的官方 Roadmap 文档以清单形式记录了项目从文件系统时代到现代状态页平台的全部演进目标。…

2026/10/13 1:43:13 阅读更多 →
coremltools 仓库内嵌 protobuf 的 conformance 测试体系:架构、协议与多语言运行指南

coremltools 仓库内嵌 protobuf 的 conformance 测试体系:架构、协议与多语言运行指南

AI 应用机器学习模型优化 【免费下载链接】coremltools Core ML tools contain supporting tools for Core ML model conversion, editing, and validation. 项目地址: https://gitcode.com/gh_mirrors/co/coremltools 点击查看 免费下载 本文以当前仓库内嵌的 pro…

2026/10/13 1:42:12 阅读更多 →

最新新闻

Pyre Code扩散模型专题:Noise Schedule、DDIM、Flow Matching与adaLN-Zero从零实现指南

Pyre Code扩散模型专题:Noise Schedule、DDIM、Flow Matching与adaLN-Zero从零实现指南

教育人工智能深度学习 【免费下载链接】pyre-code A self-hosted ML coding practice platform. 68 problems from ReLU to flow matching — attention, training, RLHF, diffusion, and more. Instant feedback in the browser. 项目地址: https://gitcode.com/gh…

2026/10/13 2:23:28 阅读更多 →
PSO优化SVR参数:从手动调参到智能搜索的工程实践

PSO优化SVR参数:从手动调参到智能搜索的工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 2:23:28 阅读更多 →
ChatGPT之外,OpenAI还有DALL-E、Whisper和Codex:TaoToken统一Key接入多模型工具链

ChatGPT之外,OpenAI还有DALL-E、Whisper和Codex:TaoToken统一Key接入多模型工具链

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 2:23:28 阅读更多 →
微信小程序订餐系统毕设全攻略:从数据库设计到答辩

微信小程序订餐系统毕设全攻略:从数据库设计到答辩

去年带的一批学生里,有个选题占比高得惊人,十个人里四个都选了“基于微信小程序实现订餐管理系统”。说实话,我最初觉得这题目都快被人做烂了,网上随便一搜就是大把源码。可真等他们逐个动手、我一个个排查问题才发现,…

2026/10/13 2:23:28 阅读更多 →
ANSYS模态分析实现汉字形变:对称边界与刚度映射技术

ANSYS模态分析实现汉字形变:对称边界与刚度映射技术

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 2:23:28 阅读更多 →
基于 Prometheus Operator 的 Kubernetes 集群监控栈部署与排错指南

基于 Prometheus Operator 的 Kubernetes 集群监控栈部署与排错指南

云原生教程 【免费下载链接】kubernetes-handbook Kubernetes Handbook (Kubernetes指南) https://kubernetes.feisky.xyz 项目地址: https://gitcode.com/gh_mirrors/kub/kubernetes-handbook 点击查看 免费下载 Kubernetes 社区围绕 Prome…

2026/10/13 2:22:28 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →