# 旅游内容创作工具 (Travel Content Creator) 这是一个基于AI的旅游内容自动生成工具,可以根据景点信息自动生成高质量的旅游推文和宣传海报。 ## 功能特点 - **自动选题生成**:根据提供的景点信息自动生成吸引人的旅游选题 - **内容创作**:基于选题自动生成文字内容,包括标题和正文 - **海报制作**:结合景点图片和生成的文字内容,自动创建精美的宣传海报 - **批量处理**:支持一次性生成多个选题和多个变体内容 - **模块化设计**:各功能模块独立,可单独使用或组合使用 ## 安装 ### 环境要求 - Python 3.6+ - 依赖库安装: ```bash # 安装依赖库 pip install numpy pandas opencv-python pillow ``` ### 项目依赖项 - OpenCV (cv2):图像处理 - NumPy:数据操作 - Pandas:数据处理 - PIL (Pillow):图像处理和绘制 ## 目录结构 - `core/`: 核心功能模块 - `ai_agent.py`: AI代理接口 - `topic_parser.py`: 选题解析器 - `contentGen.py`: 内容生成器 - `posterGen.py`: 海报生成器 - `simple_collage.py`: 图片拼贴工具 - `utils/`: 工具函数 - `resource_loader.py`: 资源加载器 - `tweet_generator.py`: 推文生成工具 - `genPrompts/`: 提示词模板 - `systemPrompt.txt`: 系统提示词 - `Style/`: 风格提示词 - `Refer/`: 参考提示词 - `Demand/`: 需求提示词 - `SelectPrompt/`: 选题提示词 - `resource/`: 景点资源信息 - `examples/`: 使用示例 - `result/`: 输出结果保存目录 ## 使用方法 1. 准备景点资源信息,放入`resource/Object/`目录中 2. 准备景点图片资源,放入图片目录中 3. 复制`example_config.json`为`poster_gen_config.json`并进行配置 4. 运行主程序: ```bash python main.py ``` ## 配置说明 必须配置项: - `num`: 生成选题数量 - `model`: 使用的大语言模型 - `api_url`: API调用地址 - `api_key`: API密钥 - `resource_dir`: 景点资源信息路径 - `prompts_dir`: 提示词目录 - `output_dir`: 输出结果保存路径 - `variants`: 每个选题生成的变体数量 - `image_base_dir`: 图片资源根目录 - `topic_system_prompt`: 选题生成系统提示词路径 - `topic_user_prompt`: 选题生成用户提示词路径 - `content_system_prompt`: 内容生成系统提示词路径 可选配置项: - `date`: 日期标记(默认为当前日期) - `topic_temperature`: 选题生成的创意度参数(默认0.2) - `content_temperature`: 内容生成的创意度参数(默认0.3) - `camera_image_subdir`: 相机图片子目录名(默认"相机") - `modify_image_subdir`: 修改图片子目录名(默认"modify") - `poster_target_size`: 海报尺寸 [宽, 高](默认[900, 1200]) 项目提供了一个示例配置文件 `example_config.json`,可以复制并根据需要修改: ```bash # 复制示例配置 cp example_config.json poster_gen_config.json # 根据自己的需求修改配置 nano poster_gen_config.json ``` 配置文件示例: ```json { "date": "5月15日", "num": 5, "model": "qwen", "api_url": "http://your-api-endpoint/v1/completions", "api_key": "your-api-key", "topic_system_prompt": "./SelectPrompt/systemPrompt.txt", "topic_user_prompt": "./SelectPrompt/userPrompt.txt", "content_system_prompt": "./genPrompts/systemPrompt.txt", "resource_dir": [ { "type": "Object", "num": 3, "file_path": [ "./resource/Object/景点信息-泰宁古城.txt", "./resource/Object/景点信息-尚书第.txt", "./resource/Object/景点信息-明清园.txt" ] } ], "prompts_dir": "./genPrompts", "output_dir": "./result", "image_base_dir": "/path/to/your/image/directory", "camera_image_subdir": "相机", "modify_image_subdir": "modify", "variants": 3, "topic_temperature": 0.2, "content_temperature": 0.3, "poster_target_size": [900, 1200] } ``` ## 项目流程 整个内容生成流程分为以下几个独立步骤: 1. **选题生成**:使用AI根据景点信息生成多个选题方向 2. **内容生成**:根据选题生成具体的旅游推文内容 3. **海报生成**:使用景点图片和生成的文本内容创建海报 每个步骤都有独立的函数处理,也可以作为整体流程一次执行。 ## 开始使用 ### 1. 准备景点信息文件 在`resource/Object/`目录中创建景点信息文件,例如`景点信息-泰宁古城.txt`: ``` 景点名称:泰宁古城 位置:福建省三明市泰宁县 简介:泰宁古城始建于宋代,是福建省保存较为完好的古代县城之一,具有悠久的历史和丰富的文化遗产。 特色:古城墙、古街巷、古民居、古牌坊等历史建筑保存完好。 ``` ### 2. 准备图片资源 将景点的高质量图片保存在配置的图片目录中,符合以下结构: ``` image_base_dir/ ├── 相机/ (camera_image_subdir) │ ├── 泰宁古城/ │ │ ├── 图片1.jpg │ │ ├── 图片2.jpg │ │ └── description.txt (可选描述文件) │ └── 其他景点/ └── modify/ (modify_image_subdir) ├── 泰宁古城/ │ ├── 图片1.jpg │ ├── 图片2.jpg │ └── ... └── 其他景点/ ``` ### 3. 配置文件 复制并修改`example_config.json`为`poster_gen_config.json`,确保: - 设置正确的API信息 - 配置景点资源文件路径 - 设置图片资源根目录 ### 4. 运行生成流程 执行主程序,系统将自动生成选题、内容和海报: ```bash python main.py ``` 生成的结果将保存在配置的`output_dir`目录中。 ## 示例 查看`examples`目录中的示例代码,了解如何使用本工具的各个组件。 ## 注意事项 - 确保已安装所有依赖库 - 图片目录结构需要按照配置文件中的规范组织 - AI生成内容质量取决于提供的景点信息质量和提示词设计 - 检查您的API密钥和URL配置是否正确