38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
"""修复:按种子定义给 Agent 设置 kb_ids(库名字 → id)"""
|
||||
|
|
import sys
|
|||
|
|
sys.path.insert(0, r'C:\Users\xinmiclaw\Desktop\雅文内容创造工作台\server')
|
|||
|
|
from sqlmodel import Session, select
|
|||
|
|
from app.db import engine
|
|||
|
|
from app.models import Agent, KnowledgeBase
|
|||
|
|
|
|||
|
|
# 与 seed.py AGENTS 定义一致
|
|||
|
|
AGENT_KBS = {
|
|||
|
|
"主控 Agent": [],
|
|||
|
|
"开场段 Agent": ["风格档案库"],
|
|||
|
|
"心法段 Agent": ["风格档案库", "训练营框架库"],
|
|||
|
|
"技法段 Agent": ["风格档案库", "直播原文库"],
|
|||
|
|
"产品销售 Agent": ["产品知识库", "风格档案库"],
|
|||
|
|
"收尾段 Agent": ["风格档案库"],
|
|||
|
|
"钩子段 Agent": ["训练营框架库"],
|
|||
|
|
"结构质检": ["质检规则库"],
|
|||
|
|
"内容质检": ["质检规则库", "产品知识库"],
|
|||
|
|
"风格尺度质检": ["质检规则库"],
|
|||
|
|
"跨稿质检": ["备稿库", "训练营框架库"],
|
|||
|
|
"组合 Agent": [],
|
|||
|
|
"风格顾问": ["风格档案库"],
|
|||
|
|
"产品顾问": ["产品知识库"],
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
with Session(engine) as s:
|
|||
|
|
kbs = {k.name: k.id for k in s.exec(select(KnowledgeBase)).all()}
|
|||
|
|
print("现有库:", kbs)
|
|||
|
|
for a in s.exec(select(Agent)).all():
|
|||
|
|
names = AGENT_KBS.get(a.name, [])
|
|||
|
|
ids = [kbs[n] for n in names if n in kbs]
|
|||
|
|
missing = [n for n in names if n not in kbs]
|
|||
|
|
a.kb_ids = ids
|
|||
|
|
s.add(a)
|
|||
|
|
print(f"{a.name}: {ids}{'(缺库:' + str(missing) + ')' if missing else ''}")
|
|||
|
|
s.commit()
|
|||
|
|
print("完成")
|