专家归属分析报告
📊 当前状态
根据 knowledge_bases/experts/index.json 和 knowledge_bases/index.json 的分析:
统计结果
- 总专家数: 23 个
- 平台自建专家: 16 个(知识库在索引中,
developer_id为null) - 开发者专家: 0 个(未发现)
- 未知归属: 7 个(知识库不在索引中,可能是平台自建的特殊专家)
结论:当前所有专家都是平台自建专家
🔍 分析依据
1. 专家索引文件 (knowledge_bases/experts/index.json)
总专家数: 23 个
特点:
- 所有专家都没有
developer_id字段 - 所有专家都存储在平台专家索引中
- 所有专家都被标记为
ExpertSource.PLATFORM
2. 知识库索引文件 (knowledge_bases/index.json)
检查结果:
- 所有知识库的
developer_id字段都是null - 没有发现任何知识库属于开发者
3. 判断逻辑
平台专家:
- 存储在
knowledge_bases/experts/index.json - 知识库的
developer_id为null - 专家没有
developer_id字段
开发者专家:
- 存储在 Redis 市场系统(
mbe:market:model:*) - 知识库的
developer_id有值 - 专家的
developer_id字段有值
📋 平台自建专家列表(16个)
| # | 专家名称 | 专家ID | 知识库ID | 知识库名称 |
|---|---|---|---|---|
| 1 | 中国古建筑专家 | dynamic_9eed8609b814 |
9eed8609b814 |
林徽因 |
| 2 | 运动教练专家 | dynamic_e9ba75495a9c |
e9ba75495a9c |
运动教练 |
| 3 | 营养治疗师专家 | dynamic_f21c2aed7d7b |
f21c2aed7d7b |
营养治疗师 |
| 4 | 手工面包与披萨烘焙专家 | dynamic_ccea703c806f |
ccea703c806f |
Ken Forkish Bread Bible |
| 5 | AI记忆建模专家 | dynamic_f7775710a4a2 |
f7775710a4a2 |
泥瓦匠 |
| 6 | 中国民事律师 | dynamic_civil_lawyer |
civil_lawyer |
中国民事律师 |
| 7 | 民事通用法律专家 | dynamic_civil_lawyer_general |
civil_lawyer_general |
民事通用法律 |
| 8 | 合同纠纷专家 | dynamic_civil_lawyer_contract |
civil_lawyer_contract |
合同纠纷专家 |
| 9 | 综合民事专家 | dynamic_civil_lawyer_comprehensive |
civil_lawyer_comprehensive |
综合民事专家 |
| 10 | 中国证券律师 | dynamic_62837b8c038e |
62837b8c038e |
中国证券律师知识库 |
| 11 | 高校专业选择导师 | dynamic_0323a99c343d |
0323a99c343d |
张雪峰 |
| 12 | 饮食大脑 | dynamic_4964c9eff74f |
4964c9eff74f |
饮食大脑 |
| 13 | 储能电池专家 | dynamic_67e10ca55132 |
67e10ca55132 |
储能电池专家 |
| 14 | 解决方案销售导师 | dynamic_f836247f2e8d |
f836247f2e8d |
解决方案销售导师 |
| 15 | 系统设计面试专家 | dynamic_520adb076e77 |
520adb076e77 |
系统设计面试专家 |
| 16 | 考公导师 | dynamic_e22dff89-51f |
e22dff89-51f |
考公导师 |
📋 未知归属专家(7个,可能是平台自建的特殊专家)
这些专家的知识库不在 knowledge_bases/index.json 中,可能是:
- 平台自建的特殊专家(如心理治疗专家、小智陪伴助手)
- 通过其他方式创建的知识库
- 旧数据或测试数据
| # | 专家名称 | 专家ID | 知识库ID |
|---|---|---|---|
| 1 | 心理治疗专家 | psychotherapy_expert |
psychotherapy_kb_001 |
| 2 | 小智陪伴助手 | dynamic_xiaozhi_companion |
xiaozhi_companion_kb |
| 3 | 日本茶道专家 | dynamic_f7cdefb77b24 |
f7cdefb77b24 |
| 4 | 建模导师 | dynamic_modeling_expert_kb |
modeling_expert_kb |
| 5 | MBE Test Expert | dynamic_999830b22259 |
999830b22259 |
| 6 | 逻辑学导师 | dynamic_logic_tutor_kb |
logic_tutor_kb |
| 7 | 诊断学专家 | dynamic_physical_exam_kb |
physical_exam_kb |
🎯 专家分类
按领域分类
法律类(4个):
- 中国民事律师
- 民事通用法律专家
- 合同纠纷专家
- 综合民事专家
- 中国证券律师
健康医疗类(3个):
- 心理治疗专家
- 营养治疗师专家
- 诊断学专家
教育类(3个):
- 高校专业选择导师
- 考公导师
- 逻辑学导师
技术类(3个):
- 建模导师
- AI记忆建模专家
- 系统设计面试专家
生活类(4个):
- 小智陪伴助手
- 日本茶道专家
- 手工面包与披萨烘焙专家
- 饮食大脑
其他(6个):
- 中国古建筑专家
- 运动教练专家
- 储能电池专家
- 解决方案销售导师
- MBE Test Expert
💡 关键发现
1. 所有专家都是平台自建
原因:
- 所有知识库的
developer_id都是null - 所有专家都存储在平台专家索引中
- 没有发现任何开发者创建的知识库或专家
2. 专家命名规律
平台专家命名:
- 大部分以
dynamic_开头 +kb_id - 少数有特殊命名(如
psychotherapy_expert、xiaozhi_companion)
开发者专家命名(预期):
- 由开发者自定义
- 存储在市场系统中
- 有
developer_id字段
3. 访问权限
当前状态:
- ✅ 所有专家对所有用户免费开放
- ✅ 通过 Token 额度控制使用量
- ✅ 无需购买即可使用
开发者专家(如果存在):
- ❌ 需要购买才能使用
- ❌ 开发者获得收益分成
- ❌ 存储在市场系统中
🔄 如何识别开发者专家
方法1:检查知识库归属
from src.knowledge.knowledge_manager import get_knowledge_manager
manager = get_knowledge_manager()
kb = manager.get_knowledge_base(kb_id)
if kb.developer_id:
print(f"这是开发者 {kb.developer_id} 的知识库")
else:
print("这是平台自建的知识库")
方法2:检查市场系统
# 开发者专家存储在 Redis 中
# Key: mbe:market:model:{model_id}
# 包含 developer_id 字段
方法3:检查专家来源
from src.knowledge.unified_expert_pool import get_unified_expert_pool
pool = get_unified_expert_pool()
expert = await pool.get_expert_by_id(expert_id)
if expert.source == ExpertSource.PLATFORM:
print("平台专家")
elif expert.source == ExpertSource.MARKET:
print("开发者专家")
📝 总结
当前状态:
- ✅ 16 个专家明确是平台自建(知识库在索引中,
developer_id为null) - ✅ 7 个专家未知归属(知识库不在索引中,但很可能是平台自建的特殊专家)
- ✅ 0 个开发者专家(没有发现任何开发者创建的知识库或专家)
- ✅ 所有专家对所有用户免费开放
原因分析:
- 系统可能处于早期阶段,还没有开发者创建专家
- 或者开发者创建的专家还没有发布到市场
- 或者开发者专家存储在 Redis 中,需要系统运行才能查询
建议:
- 如果要查看开发者专家,需要:
- 运行系统并连接 Redis
- 访问
/admin/market查看市场专家 - 或使用 Redis 命令查询:
KEYS mbe:market:model:*