你原来的系统存在以下问题:
我们提供了多层次的优化方案:
improved_prompt.pysmart_history_manager.pyenhanced_generator.pychat.py (已修改)# 在你的 chat.py 中,generate_text 函数已经自动集成了所有优化
# 无需修改调用方式,直接使用即可
en, kw = generate_text(
plm_info="商品信息",
img="图片URL",
graphic_label=["标签1", "标签2"]
)
from enhanced_generator import EnhancedTextGenerator
from llm import llm_request
# 创建LLM客户端
llm = llm_request(api_key, base_url, model)
# 获取全局历史记录
global_history = get_global_history()
# 创建增强生成器
generator = EnhancedTextGenerator(
llm_client=llm,
max_chars=280, # 字数限制
max_retries=5, # 重试次数
global_history=global_history
)
# 生成文案
en, kw = generator.generate_with_strategy(
plm_info="商品信息",
img="图片URL",
graphic_label=["标签"],
strategy="progressive" # 可选: "progressive", "template", "concise"
)
max_chars = 280 # 最大字符数(推荐280)
min_chars = 50 # 最小字符数(避免过短)
max_history = 50 # 最大历史记录数
max_relevant = 8 # 最大相关历史记录数
max_avoid_patterns = 15 # 最大避免模式数
max_retries = 5 # 最大重试次数
char_limits = [300, 280, 260, 240, 220] # 渐进式字数限制
系统会输出详细的生成过程日志:
✅ 增强生成成功: 275 字符
⚠️ 第2次尝试:文案过长(320字符),进行截断
🔄 所有尝试失败,生成备用文案
原因: prompt设计或截断逻辑问题
解决: 检查 smart_truncate 函数,调整 max_chars 参数
原因: 字数限制过严格
解决: 适当放宽 max_chars 到300-320
原因: 历史记录过多或不相关
解决: 调整 max_relevant 参数,清理历史记录
原因: 网络问题或模型问题 解决: 检查API连接,增加重试次数
chat.py这套优化方案通过多层次、多策略的方法,有效解决了:
预期效果: