用途:通过 ibl.ai 平台 API 管理某个智能体的训练数据集(RAG),用于为智能体补充知识。
鉴权与通用约定:基础地址为 https://api.iblai.app;每个请求都需携带请求头 Authorization: Api-Token $IBLAI_API_KEY。路径变量中 {org}=$IBLAI_ORG,{username}=$IBLAI_USERNAME,{mentor} 为智能体唯一 id(例如 d17dc729-60fd-4363-81a0-f67d9318b03e),在各接口中作为 pathway 使用。相关端点位于 …/dm/api/ai-index/… 之下。尚未连接时先运行 /iblai-api-login 以填充 IBLAI_ORG、IBLAI_USERNAME 与 IBLAI_API_KEY。
主要能力(读取):GET …/documents/pathways/{mentor}/?limit=5&offset={n}&search={q} 列出训练文档,文档处于 pending 时应每 2 秒轮询一次;GET …/documents/{document_id}/settings/ 获取重训计划;GET https://api.github.com/repos/{owner}/{repo}/branches 列出仓库分支(外部接口,无需鉴权)。
主要能力(写入):POST …/documents/train/ 以 multipart/form-data 添加训练资源,type 可为 file(含扩展名)、url、youtube、blackboard、webcrawler(网站爬取,可设 crawler_max_depth、crawler_max_pages_limit、crawler_match_patterns、crawler_pattern_type 为 glob 或 regex)、github(需 url 与 branch)。可选 custom_metadata 适用于所有类型,为扁平 JSON 标签对象,可通过 document_filter 在对话时作为硬性检索过滤条件。其校验规则:键须为扁平且仅含字母数字与下划线(^\w+$,不可用 __),值须为标量(字符串、数字或布尔),不可为嵌套对象、数组或 null;存储于文档的 metadata.custom_metadata 并由列表接口回显。未打某标签的文档在该键过滤时不受影响,因为 document_filter 只排除带有该键但值不同的文档,未打标或通用材料始终保留。PUT …/documents/{document_id}/ 用于训练/取消训练、设置可见性(public 或 private)并重新打标,其中 custom_metadata 会替换原有标签,省略则保持不变。POST …/documents/{document_id}/settings/ 设置重训周期,必填 retrain_interval_days。DELETE …/documents/{document_id}/ 用于删除数据集,属破坏性操作,需先与用户确认。
使用方式:调用时 pathway 始终填智能体的 {mentor} 唯一 id。GitHub 资源需先从未鉴权的 api.github.com 分支接口获取分支列表以填充 branch。文档处于 pending 时每 2 秒轮询列表接口。
适用场景:向智能体知识库投喂文件、网页、视频或代码仓库等资料,并管理其训练状态与检索范围。
限制:删除不可逆;custom_metadata 受上述校验约束;路径变量与密钥需先通过登录流程准备。其余如具体收费、平台细节暂未提供。