rag/models/rag_knowledge_bases.json
ymq 1c1ef65931 feat(rag): 机构rags目录+容量检查参数化+KB级角色权限
- 存储: 知识库文件存 {workspace_base}/{org}/rags/{kb}/ (机构目录下开设rags目录)
- 容量: rag_check_storage_quota 参数控制是否检查机构上限(默认不检查)
- 权限: rag_knowledge_bases 加 maintain_roles/search_roles; 空=同机构默认可用
  维护入口(upload/delete/rename/tree/tags)校验maintain; 检索入口(search/file_list/file_serve)校验search
- file_serve.dspy: 下载/预览走校验端点, 堵住/idfile/猜路径越权
- 机构隔离: 跨机构KB一律拒绝
2026-09-02 12:09:16 +08:00

141 lines
3.2 KiB
JSON

{
"summary": [
{
"name": "rag_knowledge_bases",
"title": "知识库",
"primary": [
"id"
]
}
],
"fields": [
{
"name": "id",
"title": "ID",
"type": "str",
"length": 32,
"nullable": "no"
},
{
"name": "name",
"title": "名称",
"type": "str",
"length": 100,
"nullable": "yes"
},
{
"name": "description",
"title": "描述",
"type": "text",
"nullable": "yes"
},
{
"name": "org_id",
"title": "所属机构",
"type": "str",
"length": 32,
"nullable": "yes"
},
{
"name": "embedding_engine",
"title": "向量化引擎",
"type": "str",
"length": 64,
"nullable": "yes",
"default": "clip-vith14"
},
{
"name": "vdb_collection",
"title": "向量库集合名",
"type": "str",
"length": 128,
"nullable": "yes"
},
{
"name": "graph_name",
"title": "图名称",
"type": "str",
"length": 128,
"nullable": "yes"
},
{
"name": "doc_count",
"title": "文档数",
"type": "int",
"nullable": "yes"
},
{
"name": "chunk_count",
"title": "分片数",
"type": "int",
"nullable": "yes"
},
{
"name": "total_size",
"title": "总大小(字节)",
"type": "int",
"nullable": "yes"
},
{
"name": "status",
"title": "状态",
"type": "str",
"length": 16,
"nullable": "yes",
"default": "active"
},
{
"name": "maintain_roles",
"title": "维护角色",
"type": "str",
"length": 500,
"nullable": "yes",
"default": ""
},
{
"name": "search_roles",
"title": "检索角色",
"type": "str",
"length": 500,
"nullable": "yes",
"default": ""
},
{
"name": "created_by",
"title": "创建人",
"type": "str",
"length": 32,
"nullable": "yes"
},
{
"name": "created_at",
"title": "创建时间",
"type": "datetime",
"nullable": "yes"
},
{
"name": "updated_at",
"title": "更新时间",
"type": "datetime",
"nullable": "yes"
}
],
"indexes": [
{
"name": "idx_kb_name",
"idxtype": "unique",
"idxfields": [
"org_id",
"name"
]
},
{
"name": "idx_kb_org",
"idxtype": "index",
"idxfields": [
"org_id"
]
}
]
}