| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- """
- 账号人设信息生成脚本
- """
- import asyncio
- import sys
- from pathlib import Path
- from dotenv import load_dotenv
- # 加载项目根目录 .env
- load_dotenv(Path(__file__).parent.parent / ".env")
- from create.utils import run_agent
- DEFAULT_MODEL = "google/gemini-3-flash-preview"
- async def generate_content(
- account_name: str,
- model: str = DEFAULT_MODEL,
- **run_config_kwargs
- ) -> str:
- """
- 完整内容生成流程:人设提取 -> 自动搜索灵感 -> 选题生成 -> 创作脚本生成
-
- 使用单一agent调用完成整个流程,agent会自动:
- 1. 提取账号人设信息
- 2. 基于人设自动生成搜索关键词并搜索灵感
- 3. 生成选题
- 4. 生成创作脚本
-
- Args:
- account_name: 账号名称
- model: 模型名称
- **run_config_kwargs: 其他 RunConfig 参数
-
- Returns:
- str: 最终生成的完整内容(包含人设、灵感、选题和创作脚本)
- """
- # 创建输出目录
- output_dir = Path(__file__).parent / "data" / account_name
- output_dir.mkdir(parents=True, exist_ok=True)
-
- # 读取完整流程prompt
- print("=" * 60)
- print("开始执行完整内容生成流程...")
- print("=" * 60)
- print("流程包括:人设提取 -> 自动搜索灵感 -> 选题生成 -> 创作脚本生成")
- print("=" * 60)
-
- workflow_prompt_path = Path(__file__).parent / "prompt" / "full_workflow.md"
- workflow_prompt = workflow_prompt_path.read_text(encoding="utf-8")
-
- # 替换账号名称占位符
- workflow_prompt = workflow_prompt.replace("{账号名称}", account_name)
-
- # 单次agent调用完成整个流程
- final_result = await run_agent(workflow_prompt, model=model, **run_config_kwargs)
-
- # 保存最终结果
- final_file = output_dir / "full_workflow_result.md"
- final_file.write_text(final_result, encoding="utf-8")
- print(f"\n✅ 完整流程执行完成")
- print(f"📁 最终结果已保存到: {final_file}\n")
-
- return final_result
- async def main():
- """主函数"""
- account_name = '健康知识'
-
- result = await generate_content(account_name)
- print("=" * 60)
- print("最终结果:")
- print("=" * 60)
- print(result)
- if __name__ == "__main__":
- asyncio.run(main())
|