309 lines
9.7 KiB
Markdown
309 lines
9.7 KiB
Markdown
|
|
# 旅游内容自动生成系统 - 使用指南
|
|||
|
|
|
|||
|
|
## 1. 系统概述
|
|||
|
|
|
|||
|
|
旅游内容自动生成系统是一个基于AI的内容创作平台,专注于为旅游景点和产品生成营销内容。系统采用三阶段生成流程:选题生成、内容创作和内容审核,每个阶段都由专门的AI模型处理,并通过配置文件进行精细控制。
|
|||
|
|
|
|||
|
|
## 2. 环境准备
|
|||
|
|
|
|||
|
|
### 系统要求
|
|||
|
|
- Python 3.8+
|
|||
|
|
- 足够的内存(推荐8GB以上)
|
|||
|
|
- 互联网连接(用于API调用)
|
|||
|
|
|
|||
|
|
### 安装依赖
|
|||
|
|
```bash
|
|||
|
|
# 克隆仓库
|
|||
|
|
git clone [仓库地址]
|
|||
|
|
cd [仓库名称]
|
|||
|
|
|
|||
|
|
# 安装依赖包
|
|||
|
|
pip install -r requirements.txt
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 3. 配置系统
|
|||
|
|
|
|||
|
|
系统通过JSON配置文件进行控制,所有配置文件位于`config`目录下:
|
|||
|
|
|
|||
|
|
### 3.1 AI模型配置 (ai_model.json)
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"model": "qwen-plus", // 使用的模型名称
|
|||
|
|
"api_url": "https://dashscope.aliyuncs.com/compatible-mode/v1", // API地址
|
|||
|
|
"api_key": "your_api_key", // 替换为您的API密钥
|
|||
|
|
"temperature": 0.3, // 生成多样性控制
|
|||
|
|
"top_p": 0.4, // 采样控制
|
|||
|
|
"presence_penalty": 1.2, // 重复惩罚
|
|||
|
|
"timeout": 120, // API超时时间(秒)
|
|||
|
|
"max_retries": 3 // 最大重试次数
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
> **重要提示**: 请替换`your_api_key`为您的实际API密钥。
|
|||
|
|
|
|||
|
|
### 3.2 选题生成配置 (topic_gen.json)
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic_system_prompt": "resource/prompt/generateTopics/system.txt", // 系统提示路径
|
|||
|
|
"topic_user_prompt": "resource/prompt/generateTopics/user.txt", // 用户提示路径
|
|||
|
|
"model": {
|
|||
|
|
"temperature": 0.2, // 选题生成的温度参数
|
|||
|
|
"top_p": 0.3, // 选题生成的top_p参数
|
|||
|
|
"presence_penalty": 1.5 // 选题生成的重复惩罚参数
|
|||
|
|
},
|
|||
|
|
"topic": {
|
|||
|
|
"date": "2024-07-20", // 选题目标日期
|
|||
|
|
"num": 5, // 生成选题数量
|
|||
|
|
"variants": 1 // 每个选题的变体数量
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3.3 内容生成配置 (content_gen.json)
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"content_system_prompt": "resource/prompt/generateContent/system.txt", // 内容生成系统提示
|
|||
|
|
"content_user_prompt": "resource/prompt/generateContent/user.txt", // 内容生成用户提示
|
|||
|
|
"judger_system_prompt": "resource/prompt/judgeContent/system.txt", // 审核系统提示
|
|||
|
|
"judger_user_prompt": "resource/prompt/judgeContent/user.txt", // 审核用户提示
|
|||
|
|
"enable_content_judge": true, // 是否启用内容审核
|
|||
|
|
"model": {
|
|||
|
|
"temperature": 0.3, // 内容生成温度参数
|
|||
|
|
"top_p": 0.5, // 内容生成top_p参数
|
|||
|
|
"presence_penalty": 1.2 // 内容生成重复惩罚参数
|
|||
|
|
},
|
|||
|
|
"judger_model": {
|
|||
|
|
"temperature": 0.2, // 内容审核温度参数
|
|||
|
|
"top_p": 0.3, // 内容审核top_p参数
|
|||
|
|
"presence_penalty": 0.8 // 内容审核重复惩罚参数
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3.4 资源配置 (resource.json)
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"resource_dirs": ["."], // 资源基础目录
|
|||
|
|
"style": {
|
|||
|
|
"paths": [ // 文案风格文件路径
|
|||
|
|
"resource/prompt/Style/攻略风文案提示词.md",
|
|||
|
|
"resource/prompt/Style/极力推荐风文案提示词.md"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
"demand": {
|
|||
|
|
"paths": [ // 用户需求文件路径
|
|||
|
|
"resource/prompt/Demand/亲子向文旅需求.md",
|
|||
|
|
"resource/prompt/Demand/周边游文旅需求.md"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
"refer": {
|
|||
|
|
"refer_list": [ // 参考资料配置
|
|||
|
|
{
|
|||
|
|
"path": "resource/prompt/Refer/2025各月节日宣传节点时间表.md",
|
|||
|
|
"sampling_rate": 1, // 采样率,1表示100%使用
|
|||
|
|
"step": "topic" // 使用阶段:topic/content/judge
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"path": "resource/prompt/Refer/标题参考格式.json",
|
|||
|
|
"sampling_rate": 0.25,
|
|||
|
|
"step": "content"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"path": "resource/prompt/Refer/正文范文参考.json",
|
|||
|
|
"sampling_rate": 0.5,
|
|||
|
|
"step": "content"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
"object": {
|
|||
|
|
"paths": [ // 景点对象文件路径
|
|||
|
|
"resource/data/Object/天津冒险湾.txt"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
"product": {
|
|||
|
|
"paths": [ // 产品信息文件路径
|
|||
|
|
"resource/data/Product/天津冒险湾-2大2小套票.txt"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
"output_dir": {
|
|||
|
|
"base_dir": "result" // 输出目录
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3.5 系统配置 (system.json)
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"debug": false, // 是否开启调试模式
|
|||
|
|
"log_level": "INFO", // 日志级别
|
|||
|
|
"parallel_processing": false, // 是否启用并行处理
|
|||
|
|
"max_workers": 4 // 最大工作线程数
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 4. 运行系统
|
|||
|
|
|
|||
|
|
### 4.1 基本运行命令
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
python main.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
这将使用默认配置运行系统。
|
|||
|
|
|
|||
|
|
### 4.2 自定义运行参数
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
python main.py --config_dir custom_config --run_id my_run_20240601
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
参数说明:
|
|||
|
|
- `--config_dir`: 配置文件目录路径,默认为 "config"
|
|||
|
|
- `--run_id`: 运行ID,用于标识本次运行,默认为时间戳格式
|
|||
|
|
|
|||
|
|
## 5. 输出结果
|
|||
|
|
|
|||
|
|
系统运行后,会在 `result/{run_id}` 目录下生成以下文件:
|
|||
|
|
|
|||
|
|
- `topics_generated.json`: 生成的选题列表(JSON格式)
|
|||
|
|
- `topics_generated.txt`: 人类可读的选题列表(文本格式)
|
|||
|
|
- 每个选题的子目录 `topic_{index}`:
|
|||
|
|
- `content_system_prompt.txt`: 内容生成的系统提示
|
|||
|
|
- `content_user_prompt.txt`: 内容生成的用户提示
|
|||
|
|
- `content_raw_response.txt`: AI返回的原始响应
|
|||
|
|
- `article.json`: 生成的文章内容
|
|||
|
|
- `judger_system_prompt.txt`: 审核的系统提示(如果启用审核)
|
|||
|
|
- `judger_user_prompt.txt`: 审核的用户提示(如果启用审核)
|
|||
|
|
- `judger_raw_response.txt`: 审核的原始响应(如果启用审核)
|
|||
|
|
- `article_judged.json`: 审核后的文章内容(如果启用审核)
|
|||
|
|
|
|||
|
|
## 6. 资源文件准备
|
|||
|
|
|
|||
|
|
### 6.1 提示词模板
|
|||
|
|
|
|||
|
|
系统使用以下提示词模板:
|
|||
|
|
|
|||
|
|
- **选题生成**:
|
|||
|
|
- `resource/prompt/generateTopics/system.txt`: 选题生成系统提示
|
|||
|
|
- `resource/prompt/generateTopics/user.txt`: 选题生成用户提示
|
|||
|
|
|
|||
|
|
- **内容生成**:
|
|||
|
|
- `resource/prompt/generateContent/system.txt`: 内容生成系统提示
|
|||
|
|
- `resource/prompt/generateContent/user.txt`: 内容生成用户提示
|
|||
|
|
|
|||
|
|
- **内容审核**:
|
|||
|
|
- `resource/prompt/judgeContent/system.txt`: 内容审核系统提示
|
|||
|
|
- `resource/prompt/judgeContent/user.txt`: 内容审核用户提示
|
|||
|
|
|
|||
|
|
### 6.2 风格和需求文件
|
|||
|
|
|
|||
|
|
- **风格文件** (`resource/prompt/Style/`):
|
|||
|
|
- 每个文件描述一种文案风格
|
|||
|
|
- 例如:`攻略风文案提示词.md`, `极力推荐风文案提示词.md`
|
|||
|
|
|
|||
|
|
- **需求文件** (`resource/prompt/Demand/`):
|
|||
|
|
- 每个文件描述一种用户需求
|
|||
|
|
- 例如:`亲子向文旅需求.md`, `周边游文旅需求.md`
|
|||
|
|
|
|||
|
|
### 6.3 参考资料文件
|
|||
|
|
|
|||
|
|
- **参考资料** (`resource/prompt/Refer/`):
|
|||
|
|
- 节日时间表:`2025各月节日宣传节点时间表.md`
|
|||
|
|
- 标题参考:`标题参考格式.json`
|
|||
|
|
- 正文参考:`正文范文参考.json`
|
|||
|
|
|
|||
|
|
### 6.4 产品和景点数据
|
|||
|
|
|
|||
|
|
- **景点数据** (`resource/data/Object/`):
|
|||
|
|
- 每个文件包含一个景点的详细信息
|
|||
|
|
- 例如:`天津冒险湾.txt`
|
|||
|
|
|
|||
|
|
- **产品数据** (`resource/data/Product/`):
|
|||
|
|
- 每个文件包含一个产品的详细信息
|
|||
|
|
- 例如:`天津冒险湾-2大2小套票.txt`
|
|||
|
|
|
|||
|
|
## 7. 常见问题解答
|
|||
|
|
|
|||
|
|
### 7.1 系统运行失败
|
|||
|
|
|
|||
|
|
**问题**: 系统运行时出现错误或无法生成内容。
|
|||
|
|
|
|||
|
|
**解决方案**:
|
|||
|
|
1. 检查API密钥是否正确配置
|
|||
|
|
2. 检查网络连接是否正常
|
|||
|
|
3. 查看日志输出,定位具体错误
|
|||
|
|
4. 确保所有资源文件路径正确且文件存在
|
|||
|
|
|
|||
|
|
### 7.2 生成内容质量不佳
|
|||
|
|
|
|||
|
|
**问题**: 生成的内容质量不符合预期。
|
|||
|
|
|
|||
|
|
**解决方案**:
|
|||
|
|
1. 调整模型参数(temperature、top_p、presence_penalty)
|
|||
|
|
2. 改进提示词模板
|
|||
|
|
3. 提供更高质量的参考资料
|
|||
|
|
4. 确保产品和景点信息详尽准确
|
|||
|
|
|
|||
|
|
### 7.3 审核功能不生效
|
|||
|
|
|
|||
|
|
**问题**: 内容审核功能似乎没有生效。
|
|||
|
|
|
|||
|
|
**解决方案**:
|
|||
|
|
1. 检查`content_gen.json`中的`enable_content_judge`是否设为`true`
|
|||
|
|
2. 确保审核提示词模板存在且路径正确
|
|||
|
|
3. 检查日志中是否有审核相关的错误信息
|
|||
|
|
|
|||
|
|
### 7.4 如何添加新的景点或产品
|
|||
|
|
|
|||
|
|
**步骤**:
|
|||
|
|
1. 在`resource/data/Object/`目录下创建新的景点文件
|
|||
|
|
2. 在`resource/data/Product/`目录下创建新的产品文件
|
|||
|
|
3. 更新`resource.json`中的`object.paths`和`product.paths`数组
|
|||
|
|
4. 重新运行系统
|
|||
|
|
|
|||
|
|
### 7.5 如何自定义生成内容的风格
|
|||
|
|
|
|||
|
|
**步骤**:
|
|||
|
|
1. 在`resource/prompt/Style/`目录下创建新的风格文件
|
|||
|
|
2. 更新`resource.json`中的`style.paths`数组
|
|||
|
|
3. 在选题生成时,系统会自动考虑新添加的风格
|
|||
|
|
|
|||
|
|
## 8. 高级使用技巧
|
|||
|
|
|
|||
|
|
### 8.1 调整模型参数
|
|||
|
|
|
|||
|
|
不同的内容类型可能需要不同的模型参数:
|
|||
|
|
- 高`temperature`(0.7-1.0):更有创意但可能不够精确
|
|||
|
|
- 低`temperature`(0.1-0.3):更精确但可能缺乏创意
|
|||
|
|
- 高`presence_penalty`:减少重复内容
|
|||
|
|
- 低`top_p`:更保守的输出
|
|||
|
|
|
|||
|
|
### 8.2 参考内容采样率调整
|
|||
|
|
|
|||
|
|
通过调整`sampling_rate`参数,可以控制参考内容的使用量:
|
|||
|
|
- `1.0`:全部使用
|
|||
|
|
- `0.5`:使用约50%
|
|||
|
|
- `0.25`:使用约25%
|
|||
|
|
|
|||
|
|
### 8.3 自定义提示词模板
|
|||
|
|
|
|||
|
|
可以根据需要修改提示词模板,但请确保:
|
|||
|
|
1. 保持JSON输出格式一致
|
|||
|
|
2. 不要改变关键指令
|
|||
|
|
3. 测试修改后的效果
|
|||
|
|
|
|||
|
|
### 8.4 批量生成内容
|
|||
|
|
|
|||
|
|
对于需要批量生成内容的场景,可以:
|
|||
|
|
1. 准备多个景点和产品数据
|
|||
|
|
2. 编写脚本循环调用主程序
|
|||
|
|
3. 为每次运行指定不同的`run_id`
|
|||
|
|
|
|||
|
|
## 9. 联系与支持
|
|||
|
|
|
|||
|
|
如有问题或需要支持,请联系系统管理员或开发团队。
|