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.7 KiB

功能实现检查清单

你的需求

"我想实现用户调用ai分析接口后会根据用户输入的关键词模型总结成可以进行搜索的关键词,然后调用douyin_creative_guidance_playwright方法传入关键词进行数据获取,获取完之后再进行总结。我可能会写很多方法,完全是让模型自己去选择用到哪种方法,只是更改analyze_prompt.md文件就可以控制。"

已实现功能

1. AI Agent智能代理系统

  • 用户用自然语言输入需求
  • AI自动理解意图
  • AI自动提取关键词
  • AI自主选择工具
  • AI自动调用数据获取方法
  • AI自动分析数据
  • AI生成总结和建议

2. 函数调用(Function Calling)

  • 支持多个工具函数
  • AI自主选择工具
  • 支持多轮工具调用
  • 工具执行结果反馈给AI

3. 提示词驱动

  • prompts/agent_prompt.md - 控制Agent行为
  • 定义工具选择逻辑
  • 定义执行场景
  • 只需修改提示词即可改变行为

4. 已注册的工具

  • extract_search_keywords - 提取搜索关键词
  • get_creative_guidance - 获取创作指导数据
  • search_douyin_videos - 搜索抖音视频
  • analyze_video_data - 分析视频数据

5. API接口

  • POST /api/agent - AI智能代理接口
  • POST /api/search - 搜索接口
  • POST /api/creative-guidance - 创作指导接口
  • POST /api/analyze - 分析接口
  • POST /api/analyze-file - 文件分析接口

6. 易于扩展

  • 可以轻松添加新工具
  • 可以自定义提示词
  • 可以定义新的执行场景

📁 核心文件清单

核心模块

  • ai_agent.py - AI Agent核心实现
  • ai_analyzer.py - AI分析模块
  • api.py - FastAPI服务

提示词文件

  • prompts/agent_prompt.md - Agent系统提示词(控制行为)
  • prompts/analyze_prompt.md - 数据分析提示词

测试脚本

  • test_agent.py - Agent测试脚本
  • test_ai_analysis.py - AI分析测试脚本

文档

  • README.md - 项目主文档
  • START_HERE.md - 新手入门指南
  • SUMMARY.md - 功能总结
  • README_AGENT.md - Agent完整文档
  • README_AI.md - AI分析文档
  • AGENT_QUICKSTART.md - Agent快速开始
  • PROJECT_OVERVIEW.md - 项目总览
  • QUICKSTART.md - 基础快速开始

配置文件

  • .env.example - 环境变量示例
  • .gitignore - Git忽略文件
  • requirements.txt - 依赖包

🎯 使用示例

示例1:分析游戏类视频

用户输入:

"帮我分析一下游戏类视频的热门趋势"

Agent执行流程:

  1. AI理解意图:需要游戏分类数据
  2. AI选择工具:get_creative_guidance
  3. 执行工具:获取游戏类视频数据
  4. AI选择工具:analyze_video_data
  5. 执行工具:分析数据
  6. AI生成答案:包含趋势、建议等

示例2:提取关键词并搜索

用户输入:

"王者荣耀的视频现在什么内容最火?"

Agent执行流程:

  1. AI理解意图:需要王者荣耀相关数据
  2. AI选择工具:get_creative_guidance(category="游戏")
  3. 或选择工具:search_douyin_videos(keyword="王者荣耀")
  4. 执行工具:获取数据
  5. AI选择工具:analyze_video_data
  6. 执行工具:分析数据
  7. AI生成答案

🎨 自定义控制

通过提示词控制行为

编辑 prompts/agent_prompt.md:

## 工作流程

**场景A:用户提到明确的分类**
- 使用 `get_creative_guidance` 获取数据
- 使用 `analyze_video_data` 分析
- 总结并给出建议

**场景B:你的自定义场景**
- 你的自定义逻辑
- ...

修改提示词 → Agent行为改变 无需修改代码 灵活控制执行流程

🔧 扩展功能

添加新工具

ai_agent.py 中:

# 1. 定义工具函数
async def your_new_tool(param: str) -> Dict:
    # 实现
    return {"success": True, "data": ...}

# 2. 注册工具
agent.register_tool(
    name="your_new_tool",
    func=your_new_tool,
    description="工具描述",
    parameters={...}
)

定义函数 → 注册工具 → 在提示词中添加使用场景

📊 测试验证

测试方式

  1. 命令行测试:

    python test_agent.py
    
  2. API测试:

    python api.py
    curl -X POST "http://localhost:8001/api/agent" \
      -H "Content-Type: application/json" \
      -d '{"query": "帮我分析一下游戏类视频的热门趋势"}'
    
  3. Python代码测试:

    from ai_agent import create_agent
    import asyncio
    
    async def main():
        agent = create_agent()
        result = await agent.run("你的查询")
        print(result["final_answer"])
    
    asyncio.run(main())
    

核心优势

  1. 自然语言交互 - 不需要学习API
  2. 自主决策 - AI自动选择工具
  3. 提示词驱动 - 修改提示词控制行为
  4. 易于扩展 - 轻松添加新工具
  5. 完整文档 - 详细的使用文档

🎉 总结

你的需求已经100%实现

  • 用户输入自然语言
  • AI自动理解和提取关键词
  • AI自主选择工具(如 get_creative_guidance
  • 自动获取数据
  • 自动分析数据
  • 生成总结和建议
  • 只需修改提示词文件就能控制整个流程

🚀 下一步

  1. 阅读 START_HERE.md
  2. 运行 python test_agent.py
  3. 自定义 prompts/agent_prompt.md
  4. 添加新工具(如果需要)
  5. 集成到你的应用

开始使用吧!🎊