aippt
# 自动生成 PPT 演示文稿技能
- **接口文档:** [aippt 文档](scripts/README.md)
- **AIPPT_ACCESS_TOKEN**:从[官方网站](https://www.jcppt.com/),个人中心中获取。
- **文件解析**:需要用户安装阅读文件技能(该技能无需单独安装),用来解析用户指定的文件内容。
## 环境变量设置
**AIPPT_ACCESS_TOKEN**
1. 当下面的 `AIPPT_ACCESS_TOKEN` 为空时,需要从官方网站,个人中心中获取。
2. 当下面的 `AIPPT_ACCESS_TOKEN` 是 "your-actual-access-token" 时,需要用户从官方网站,个人中心中获取。
3. 当下面的 `AIPPT_ACCESS_TOKEN` 是其他值时,直接使用该值。
```bash
export AIPPT_ACCESS_TOKEN="your-actual-access-token"
```
## 生成流程
### Step 1: 根据用户的输入,优化提示词
- **角色设定**:演讲家。
- **场景设定**:会议宣讲。
- **语气设定**:专业、正式。
- **语言设定**: 根据用户的输入语言,默认值为中文。
- **篇幅**:当用户输入中有“篇幅”、“页数”或其他相关关键词时,需要根据用户的输入,调整生成的 PPT 演示文稿的篇幅。
#### 注意事项
- 当用户指定了具体的文件时,内容需要覆盖文件的全部内容,不能只覆盖文件的部分内容。
- 当用户未指定具体文件时,根据用户的输入,总结一个标题。
### Step 2:生成Markdown内容
1. 对用户的内容仔细分析,并根据第一步的优化提示词成最终的Markdown内容。
2. Markdown结构如下:
```
# 标题
> 标题说明
## 章节标题
> 章节标题说明
### 小节标题
> 小节标题说明
- 内容项标题:内容项内容
###### 总结
```
3. **用户确认Markdown内容**:需要用户确认生成的Markdown内容是否符合要求。
#### 大纲要求
- **{# 标题}** 不能为空。
- **{> 标题说明}** 可以为空。
- **{## 章节标题}** 不能超过 8 个。
- **{> 章节标题说明}** 可以为空。
- **{### 小节标题}** 不能为空。
- **{> 小节标题说明}** 可以为空。
- **{内容项标题}**不能为空。
- **{内容项内容}** 不能为空。
- **{内容项标题:内容项内容}个数限制**:每个小节下最少有 1 个内容项,最多可以有 5 个内容项,但不能超过 6 个。
- **{###### 总结}** 全文只能有 1 个总结,字数在 100-200 个字之间。
总结示例:
```markdown
###### 福布斯 AI50 榜单展现了全球 AI 产业的核心格局。从融资规模看,OpenAI 是全球最大的 AI 公司,融资规模超过 100 亿美元......
```
#### 注意事项
- 当用户指定的具体文件内容过多 并且 8个章节无法满足要求时,可以规划处更多的 小节 来满足内容覆盖全文的要求。
- **{内容项标题:内容项内容}** :当{内容项内容}有具体的数字是,内容项标题需要对数字进行整理,并输出一个显眼的{内容项标题},例如:"项目完成达100%"。
- **{内容项内容}** :
1. 当用户指定了具体文件时,每项{内容项内容}不能超过 30 个字,内容字数在20-30字为最佳长度(字数不包含{内容项标题}的字数)。
2. 当用户未指定具体文件时,内容字数不少于 20 字,不超过30字(字数不包含{内容项标题}的字数)。
- **{###### 总结}** :开头以 {######} 开头,不能有 "总结" 两个字,6个 "#",不能多也不能少。
## Step 3:选择一个模板
**模板规则**:模板每页数量为 10 个,可以通过 `--page` 参数指定页码,默认值为 1。
**调用脚本:** `get_tpl_list.py` 获取可用的 PPT 模板。
```bash
python3 get_tpl_list.py --page=$page --num=10
```
### 列表展示
- **展示字段**:序号、模板名称、热度、预览图片。
- **预览图片**:使用 picture 字段,示例:[预览](https://ppt-img.7niuai.com/73542801a25c926cf226c6634d664006/ab762d5f49b8a3386f032dcbfd9043d_picture.jpg)。
- **图片链接**:保证图片链接的完整性。
- **点击预览**:点击预览图片,会在浏览器中打开预览页面。
| 序号 | 模板名称 |热度| 预览 |
| --- | --- | --- | --- |
| 1 | 模板1 | 100 | [预览](https://ppt-img.7niuai.com/73542801a25c926cf226c6634d664006/ab762d5f49b8a3386f032dcbfd9043d_picture.jpg) |
### 注意事项
- **模板ID**:长度32位,保持模板ID的完整性。
- **图片链接**:保证图片链接的完整性,避免链接失效导致预览失败。
- **图片链接格式**:图片链接格式为 `https://ppt-img.7niuai.com/{32位字符串}/{32位字符串}_picture.jpg`。
## Step 4:获取PPT的下载链接
**调用脚本:** `generate_by_content.py` 获取PPT的下载链接。
```bash
python3 generate_by_content.py --tpl_id=$tpl_id --markdown_content="Markdown内容"
```
### 注意事项
- **链接的根域名**:链接的根域名是 https://jcppt.com/。
- **检查Markdown内容是否符合要求**:确保Markdown内容符合要求,否则会导致生成失败。
- **{tpl_id}** 是模版ID,不能为空。
- **链接:** 需要对链接进行URLENCODE编码。
- **不要为用户直接打开浏览器**:用户需要手动点击链接,打开浏览器。
- **链接显示:** 链接以Markdown格式呈现,用户需要手动点击链接。
- **链接完整性**:
1. 链接示例:https://jcppt.com/preview-in-ai/ed4d5e71ff632cfef4e6e5d97807e7e6?title=%E8%84%91%E6%9C%BA%E6%8E%A5%E5%8F%A3%E6%8A%80%E6%9C%AF&tplid=b308ae8fa5550166065b695782c3a5da
2. 链接中的 preview-in-ai/ed4d5e71ff632cfef4e6e5d97807e7e6 中的 ed4d5e71ff632cfef4e6e5d97807e7e6 是一个32位的字符串。
3. 链接中的 tplid=b308ae8fa5550166065b695782c3a5da 中的 b308ae8fa5550166065b695782c3a5da 是一个32位的字符串。
标签
skill
ai