You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

5.5 KiB

更新总结 - 创作灵感生成功能

已完成的修改

1. 扩展支持的分类(26个)

之前: 只支持8个分类

  • 全部、美食、旅行、泛生活、汽车、科技、游戏、二次元

现在: 支持26个分类

  • 美食、旅行、泛生活、汽车、科技、游戏、二次元
  • 娱乐、明星、体育、文化教育、校园、政务
  • 时尚、才艺、随拍、动植物、图文控
  • 剧情、亲子、三农、创意、户外、公益

修改文件:

  • ai_agent.py - extract_search_keywords() 函数
  • ai_agent.py - create_agent() 工具注册

2. 新增创作灵感生成工具

新增函数: generate_creative_inspirations()

功能:

  • 基于视频数据生成9个创作灵感
  • 每个灵感包含:标题、核心创意、执行建议、热门标签
  • 使用AI深度分析,生成具体可执行的建议

修改文件:

  • ai_agent.py - 新增 generate_creative_inspirations() 函数
  • ai_agent.py - 在 create_agent() 中注册新工具

3. 完全重写提示词

文件: prompts/agent_prompt.md

新的工作流程:

用户输入描述
    ↓
第1步:理解需求并提取分类
    ↓
第2步:获取创作指导数据(首选)
    ↓
第3步:生成9个创作灵感
    ↓
第4步:如果不满意,搜索更多数据并生成新灵感

核心改进:

  • 明确定义了4步工作流程
  • 详细说明了26个支持的分类
  • 提供了多个场景示例
  • 规定了输出格式要求
  • 强调必须生成9个灵感

4. 更新API文档

文件: api.py

修改内容:

  • 更新 /api/agent 接口的文档说明
  • 说明新的功能:创作灵感生成
  • 列出26个支持的分类
  • 提供新的使用示例

5. 创建测试脚本

新文件: test_inspiration.py

功能:

  • 提供4个测试用例
  • 测试不同类型的内容需求
  • 验证灵感生成功能

6. 创建使用文档

新文件: INSPIRATION_GUIDE.md

内容:

  • 功能概述
  • 支持的分类列表
  • 快速开始指南
  • 使用示例
  • 输出格式说明
  • 最佳实践
  • 故障排查

🎯 实现的完整流程

用户调用 /api/agent 接口

{
  "query": "我想做一些美食相关的短视频,主要是家常菜的制作教程",
  "max_iterations": 15
}

Agent自动执行

  1. 理解需求 - 识别出"美食"分类
  2. 获取数据 - 调用 get_creative_guidance(category="美食")
  3. 生成灵感 - 调用 generate_creative_inspirations(videos=..., user_query=..., count=9)
  4. 返回结果 - 返回9个创作灵感

如果用户不满意

用户可以继续对话:

这些灵感不太适合我,能给我一些其他的吗?

Agent会:

  1. 调用 search_douyin_videos(keyword="美食") 获取更多数据
  2. 再次调用 generate_creative_inspirations() 生成新的9个灵感

📊 工具调用流程

迭代1: extract_search_keywords (可选)
  ↓
迭代2: get_creative_guidance(category="识别的分类")
  ↓
迭代3: generate_creative_inspirations(videos=..., count=9)
  ↓
返回9个创作灵感
  ↓
(如果用户不满意)
  ↓
迭代4: search_douyin_videos(keyword="...")
  ↓
迭代5: generate_creative_inspirations(videos=..., count=9)
  ↓
返回新的9个创作灵感

🔧 技术实现

关键函数

  1. extract_search_keywords(user_query)

    • 从用户描述中提取分类
    • 支持26个分类的关键词匹配
    • 返回主要分类和所有匹配的分类
  2. generate_creative_inspirations(videos, user_query, count=9)

    • 使用AI分析视频数据
    • 生成指定数量的创作灵感
    • 返回结构化的灵感列表
  3. Agent工作流程

    • prompts/agent_prompt.md 控制
    • 自动选择合适的工具
    • 按照定义的流程执行

📝 使用方式

方式1:API接口

curl -X POST "http://localhost:8001/api/agent" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "我想做一些美食相关的短视频,主要是家常菜的制作教程",
    "max_iterations": 15
  }'

方式2:测试脚本

python test_inspiration.py

方式3:Python代码

from ai_agent import create_agent
import asyncio

async def main():
    agent = create_agent()
    result = await agent.run(
        user_input="你的需求描述",
        max_iterations=15
    )
    print(result["final_answer"])

asyncio.run(main())

🎨 自定义配置

修改灵感数量

prompts/agent_prompt.md 中修改:

使用 `generate_creative_inspirations(videos=..., count=12)` 生成12个灵感

添加新分类

ai_agent.pyextract_search_keywords() 中添加:

category_map = {
    "新分类": ["关键词1", "关键词2"],
    ...
}

调整输出格式

修改 prompts/agent_prompt.md 中的输出格式要求部分。

核心优势

  1. 自动化流程 - 用户只需描述需求,系统自动完成所有步骤
  2. 智能分类 - 自动识别26种内容分类
  3. 数据驱动 - 基于真实的热门视频数据
  4. 具体可执行 - 每个灵感都包含详细的执行建议
  5. 可迭代优化 - 不满意可以获取更多灵感

📚 相关文档

🎉 完成状态

所有功能已实现 提示词已更新 API文档已更新 测试脚本已创建 使用文档已创建

可以开始使用了! 🚀