201 lines
6.0 KiB
Markdown
201 lines
6.0 KiB
Markdown
# 旅游内容创作工具 (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配置是否正确 |