尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

如何通过 Tabby Ingestion API 把自己的文档写入索引并设置 TTL?

如何通过 Tabby Ingestion API 把自己的文档写入索引并设置 TTL? 如何通过 Tabby Ingestion API 把自己的文档写入索引并设置 TTL【免费下载链接】tabbySelf-hosted AI coding assistant项目地址: https://gitcode.com/GitHub_Trending/tab/tabby如果你在自托管 TabbySelf-hosted AI coding assistant并希望让 Tabby 的 Chat 能够检索你自己的内部文档可以使用 Tabby 提供的 Data Ingestion HTTP API它允许你把自定义文档直接写入 Tabby 的索引并为每份文档配置 TTLtime-to-live到期后文档会在垃圾回收时被自动移除。完成本文操作后你应当能通过一次POST /v1beta/ingestion请求把文档提交进索引并在 Tabby Web UI 中确认它的处理状态。前提一个可以访问的 Tabby 实例一个 Registration API Token用于 API 鉴权获取方式见下文截图。理解文档的组织方式与鉴权写入索引的文档按source分组再在组内用id区分。每份文档必须提供一个source字符串以及该 source 内唯一的id字符串。之后按source检索或删除时Tabby 只会操作该分组内的文档所以建议把同一批自定义文档放在同一个source下。所有请求都需要在Authorization请求头中携带 Registration API TokenAuthorization: Bearer YOUR_API_KEY其中YOUR_API_KEY替换为你自己的 Registration API Token获取入口即上图所示。Token 缺失或无效时API 会返回 401 Unauthorized。写入一份文档并设置 TTL向POST /v1beta/ingestion发送 JSON 请求体。下例中的source、id、title、body为文档给出的示例值请替换为你的实际文档内容curl -X POST https://your-tabby-host/v1beta/ingestion \ -H Authorization: Bearer YOUR_API_KEY \ -H Content-Type: application/json \ -d { source: custom-documentation, id: doc-id, title: API Documentation, body: This is the content of the documentation..., link: https://example.com/docs/123, ttl: 90d }各字段说明来自官方文档FieldTypeDescriptionsourcestring必填。文档来源标识用于分组和按来源删除。idstring必填。文档在同一 source 内的唯一标识。titlestring必填。文档标题。bodystring必填。要被索引的文档内容。linkstring可选。原始文档的 URL 或引用。ttlstring可选。存活时长如 90d 表示 90 天。到期后文档会在垃圾回收时被自动移除。关于 TTL文档给出的取值示例为90d90 天。不设置ttl的文档不会到期自动移除只能通过删除接口手动清除。注意所有写入和删除操作都是异步的在计划内的索引更新scheduled index updates中处理而不是请求返回时立即生效。验证写入结果请求成功时返回 202 Accepted表示请求已被接受、稍后处理响应体示例文档示例{ id: doc123, status: pending, message: Your request has been accepted and will be processed later. }其他响应码400 Bad Request请求体非法如缺少必填字段或字段值无效500 Internal Error服务端处理请求时发生错误。由于处理是异步的进一步确认进度要去 Tabby Web UI在System标签页的Information部分查看 ingestion 状态页即上文第二张截图。该页面汇总所有 ingestion 请求包括总数、pending 数量以及失败情况可以据此判断你的请求是否已完成或报错。删除文档不需要某份文档时可以删单个文档也可以一次性删掉某个 source 下的全部文档# 删除 source 和 id 指定的单个文档 curl -X DELETE https://your-tabby-host/v1beta/ingestion/custom-documentation/doc-id \ -H Authorization: Bearer YOUR_API_KEY # 删除某个 source 下的全部文档 curl -X DELETE https://your-tabby-host/v1beta/ingestion/custom-documentation \ -H Authorization: Bearer YOUR_API_KEY删除同样是异步处理返回 202 Accepted 表示请求已接受、稍后处理401 Unauthorized 表示 API key 缺失或无效500 Internal Error 表示服务端错误。删除后的实际生效情况同样可以通过 Web UI 的 ingestion 状态页确认。限制与排错对照处理时机写入/删除都不实时生效依赖 scheduled index updates202 只说明请求被接受不代表已写入索引最终状态以 Web UI 的 ingestion 状态页为准。必填项source、id、title、body缺一即可能收到 400 Bad Requestid只需在同一个source内唯一。鉴权请求头必须是Authorization: Bearer token使用 Registration API Token缺失或无效返回 401。TTL 语义到期后文档在垃圾回收时移除不是到期瞬间精确删除ttl为可选字段。完整的 API 说明见官方文档 Ingest Custom Document for Indexing。【免费下载链接】tabbySelf-hosted AI coding assistant项目地址: https://gitcode.com/GitHub_Trending/tab/tabby创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表