add_knowledge.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/usr/bin/env python3
  2. import json
  3. # 读取现有文件
  4. with open('/root/Agent/pre_upload_list.json', 'r', encoding='utf-8') as f:
  5. data = json.load(f)
  6. # 新的知识条目
  7. new_knowledge = [
  8. {
  9. "task": "在图生图任务中,当 nano_banana 工具无法处理本地路径时的降级策略",
  10. "content": "当使用 nano_banana 进行图生图时,如果传入本地图片路径(如 examples/xxx.png)会报错「Base64 decoding failed」,因为 nano_banana 期望的是 Base64 编码或网络 URL。\n\n正确做法:\n1. 先用 image_uploader 将本地图片上传获取 CDN URL\n2. 或使用支持本地路径自动上传的工具(如 flux_generate、seedream_generate)\n\n工具选择优先级:\n- nano_banana:需要手动上传获取 CDN URL,但支持多图融合,效果最好\n- flux_generate:自动处理本地路径,图生图效果好,推荐作为备选\n- seedream_generate:自动处理本地路径,需要最小尺寸 3686400 像素\n\n案例:Stage 4 检查 img_3 花丛色彩时,nano_banana 传入本地路径报错,切换至 flux_generate 成功完成修复。",
  11. "types": ["experience"],
  12. "tags": {
  13. "intent": "图生图/色彩修复",
  14. "state": "nano_banana/flux_generate"
  15. },
  16. "score": 4,
  17. "source": {"category": "research"}
  18. },
  19. {
  20. "task": "在图生图色彩控制中,通过 prompt 明确指定色彩排除可有效降低干扰元素饱和度",
  21. "content": "当需要降低画面中某元素的色彩饱和度或改变其色系时,在 prompt 中明确指定:\n- 目标色彩:\"should be green foliage plants or very subtle low-saturation green flowers\"\n- 排除色彩:\"not purple or blue\"\n- 整体色调:\"The overall color scheme should be white and green with minimal color accents\"\n\n配合 flux-kontext-max 模型的图生图模式,可有效实现色彩调整而不破坏原有构图。\n\n案例:img_3 花丛色彩修复,将蓝紫色花丛成功调整为淡紫色/白色,融入绿色背景。",
  22. "types": ["experience"],
  23. "tags": {
  24. "intent": "色彩控制/图生图优化",
  25. "state": "flux_generate"
  26. },
  27. "score": 4,
  28. "source": {"category": "research"}
  29. }
  30. ]
  31. # 添加到 knowledge 数组
  32. data['knowledge'].extend(new_knowledge)
  33. # 写回文件
  34. with open('/root/Agent/pre_upload_list.json', 'w', encoding='utf-8') as f:
  35. json.dump(data, f, ensure_ascii=False, indent=2)
  36. print(f"成功添加 {len(new_knowledge)} 条知识条目")
  37. print(f"当前 knowledge 总数:{len(data['knowledge'])}")