Files

61 lines
1.8 KiB
Python

#!/usr/bin/env python3
"""将CMA战略地图完整文档导入知识库"""
import pymysql, re
DB = dict(host='127.0.0.1', port=3306, user='cma_user', password='cma_pass_2026', database='cma', charset='utf8mb4')
DOC = "/root/CMA_Strategy_Map_完整分析.md"
# 读取文档
with open(DOC) as f:
content = f.read()
# 按章节分割(## 开头)
chapters = re.split(r'\n(?=## \d+\.)', content)
articles = []
for i, ch in enumerate(chapters):
if not ch.strip():
continue
# 提取标题
title_match = re.match(r'##\s+(.+?)(?:\n|$)', ch)
title = title_match.group(1).strip() if title_match else f"第{i+1}部分"
# 提取摘要
summary = ""
for line in ch.split('\n')[:5]:
clean = line.strip()
if clean and not clean.startswith('#') and not clean.startswith('>') and len(clean) > 10:
summary = clean[:200]
break
articles.append({
"title": title[:200],
"summary": summary,
"content": ch.strip(),
"category": "CMA完整文档",
"icon": "📘",
"related_page": "/knowledge",
"sort_order": i
})
conn = pymysql.connect(**DB)
cur = conn.cursor()
# 先删除同分类旧文章
cur.execute("DELETE FROM knowledge_articles WHERE category = 'CMA完整文档'")
print(f"已清理旧文章")
inserted = 0
for a in articles:
cur.execute(
"INSERT INTO knowledge_articles (title, summary, content, category, icon, related_page, sort_order) VALUES (%s,%s,%s,%s,%s,%s,%s)",
(a['title'], a['summary'], a['content'], a['category'], a['icon'], a['related_page'], a['sort_order'])
)
inserted += 1
print(f" [{inserted}] {a['title'][:50]}...")
conn.commit()
cur.close()
conn.close()
print(f"\n✅ 导入完成: {inserted} 篇文章")