1. 项目背景与技术选型思考
去年我在做一个知识管理工具时,发现手动制作知识卡片实在太费时间。一张包含核心概念、关联知识和视觉呈现的卡片,熟练制作也要半小时。这促使我开始探索AI自动化方案。
最初选择SiliconFlow API是看中其多模型集成能力,理论上可以实现从文本理解到图像生成的全流程。但在实际开发中遇到了两个关键问题:
- 长文本处理时,模型对逻辑关系的捕捉不够精准,生成的卡片知识点之间缺乏关联性
- 当平台突发401鉴权错误时(后来得知是他们的证书更新机制有问题),整个服务直接瘫痪
技术选型心得:生产环境不要过度依赖单一API服务,特别是初创公司的产品。我现在会同时评估3-4个备选方案。
切换到智谱AI的决策过程很有意思。当时测试了三个主流平台:
- 平台A:生图质量好但API延迟高
- 平台B:响应快但中文理解差
- GLM-4-Flash+CogView-3组合在速度、质量和成本三者间取得了最佳平衡
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计与关键技术实现
2.1 解耦式架构设计
整个系统最终采用分层架构:
code复制[Streamlit UI层]
↓
[业务逻辑层] ←→ [GLM-4处理模块]
↓
[CogView-3生图模块]
↑
[本地缓存层]
关键设计点:
- 所有Prompt模板外置为markdown文件,修改时无需重新部署
- 配置信息使用JSON Schema验证,避免低级错误
- 引入redis缓存生成结果,相同输入直接返回缓存
2.2 正则表达式解析方案
最初设计的JSON输出结构是这样的:
json复制{
"sections": [
{
"title": "核心概念",
"content": "...",
"visual_hint": "mindmap"
}
]
}
但在实际运行中发现三个问题:
- LLM经常在JSON外加说明文字
- 中英文标点混用导致解析失败
- 嵌套结构容易出现括号不匹配
最终的解决方案是采用标志位+正则表达式:
python复制import re
pattern = r'---【图开始】---(.*?)---【图结束】---'
matches =
