Metadata-Version: 2.4
Name: data-kb
Version: 0.2.1
Summary: 轻量知识库工具包，提供可安装的 CLI 和 Python API
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: click>=8.0
Dynamic: requires-python

# Data-KB

轻量知识库工具包，提供 CLI 和 Python API，一键检索 ByteRAG 知识库内容。

## 安装

```bash
pip install data-kb
```

## 配置

```bash
export BYTERAG_API_TOKEN="你的_token"
# 上传飞书文档时需额外配置：
export BYTERAG_FEISHU_AUTH_ID="你的_auth_id"
```

## 快速上手

**查看知识库列表**

```bash
data-kb list-kbs
```

列出当前 token 可访问的所有知识库及其 schema。

**检索知识库**

```bash
data-kb search-kb <知识库名称> "你的问题" --top-k 3
```

示例：

```bash
data-kb search-kb "Data Doc" "文档里有哪些关键信息？"
```

支持混合/向量/全文三种召回模式（默认 hybrid）：

```bash
data-kb search-kb Data Doc "问题" --mode vector
```

支持过滤检索（schema 中的字段才可用）：

```bash
data-kb search-kb Data Doc "问题" --filters-json '{"tag":"sop"}'
```

## 其他命令

```bash
# 创建知识库（需要先定义 schema）
data-kb create-kb 知识库名称 \
  --description "描述" \
  --schema-json '{"content":{"type":"rag_text"},"tag":{"type":"keyword"}}'

# 上传文档或飞书链接
data-kb upload-doc 知识库名称 \
  --data-json '{"content":"这是一段测试内容","tag":"sop"}'

# 上传飞书文档（直接传原始 URL，工具自动补全前缀）
data-kb upload-doc 知识库名称 \
  --data-json '{"doc_url":"https://bytedance.larkoffice.com/wiki/xxx","tag":"feishu"}'

# 查询文档处理状态
data-kb get-doc-status 知识库名称 <doc_id>

# 更新文档内容
data-kb update-doc 知识库名称 <doc_id> \
  --data-json '{"content":"更新后的内容","tag":"sop"}'

# 删除文档
data-kb delete-doc 知识库名称 <doc_id>

# 列出知识库中的文档
data-kb list-docs 知识库名称
data-kb list-docs 知识库名称 --page-size 20 --last-seq-id -1
```

所有子命令用法可通过 `data-kb <命令> --help` 查看。

## 说明

- 配置优先读取环境变量，不设置时会直接报错提示，避免静默使用无效配置
- 上传飞书链接时直接传原始 URL 即可，工具自动补全 `FeishuWeb@{auth_id}://` 前缀
- 过滤字段须先定义在知识库 schema 中，否则本地直接报错
