一、Skill 整体概述
整套体系包含三套独立 AI Skill,分层生成词汇配套素材,完全依据单词难度自动匹配生成规则:
- 例句生成 SKILL(SKILL_EXAMPLE)区分 primary /junior/senior /cet4 四套生成标准,根据单词 category 生成对应难度英文例句;小学词汇强制校园场景、短句,四级偏向学术长句。
- 文生图提示词 SKILL(SKILL_IMAGE)接收上一步例句,提取画面元素生成绘图提示词,适配 z-image-turbo 绘图模型。
- 视频提示词 SKILL(SKILL_VIDEO)结合例句 + 图片提示词,生成 LTX2.3 动态视频生成指令。
配套流水线:读取数据库单词 → 调用例句 Skill → 调用图片 Skill → 调用视频 Skill → 全部素材写入 PostgreSQL 词汇表。
二、前置准备
1. 环境依赖
bash
运行
pip install requests psycopg2-binary2. 统一配置文件 config.py
所有 Skill 文本、大模型地址、数据库信息统一存放,核心配置项:
- LLM 接口地址、模型名称、最大 token、温度等推理参数
- 数据库连接信息(vocabulary 词汇表库)
- 批量单次处理数量、接口休眠间隔
- 三段 Skill 完整系统提示文本(SKILL_EXAMPLE / SKILL_IMAGE / SKILL_VIDEO)
3. 数据库表基础要求
数据表vocabulary必备字段,用于读取单词、存储 Skill 产出内容:
表格
| 字段 | 用途 |
|---|---|
| id | 单词唯一主键 |
| word | 英文单词 |
| chinese_definition | 单词中文释义 |
| category | 难度标识 PRIMARY/JUNIOR/SENIOR/CET4 |
| example | 例句 Skill 输出结果 |
| qwen_image_prompt | 绘图 Skill 输出结果 |
| ltx23_prompt | 视频 Skill 输出结果 |
| status | 素材生成完成标记 |
三、Skill 标准使用完整流程
流程总链路
读取指定难度单词 → Step1 执行例句 SKILL → Step2 执行图片 SKILL → Step3 执行视频 SKILL → 合并所有 Skill 输出入库
步骤 1:读取待处理单词
从 PostgreSQL 词汇表批量筛选指定难度词汇,获取字段:单词、中文释义、难度分类 category。 自动兼容数据库大写难度标识(PRIMARY 会统一转为 primary 匹配 Skill 规则)。
步骤 2:调用例句生成 SKILL(核心 SKILL)
- 入参:单词、中文释义、标准化小写难度标识
- 组装对话:系统提示 = SKILL_EXAMPLE,用户输入 = 单词 + 释义 + 难度
- 向 LLM 接口发起请求,内置 2 次自动重试(网络超时、JSON 错误、token 截断自动重试)
- 清洗模型返回内容:剔除 ```json 等 markdown 代码标记
- 解析 JSON,提取当前难度专属例句
- 输出结果:仅携带 word、chinese_meaning、example 三个字段,无其他难度冗余数据
约束规则由 SKILL_EXAMPLE 文本控制:
- primary:4-10 词短句、小学课堂场景、仅简单时态
- junior:8-15 词基础复合句
- senior:长复合句、从句、非谓语
- cet4:25-45 词学术复杂句式
步骤 3:调用文生图 SKILL
触发前置校验:如果 Step1 例句为空,直接跳过,节省模型调用资源。
- 入参:Step1 完整返回数据、单词难度
- 组装对话:系统提示 = SKILL_IMAGE,用户输入 = 当前生成的英文例句
- 发起 LLM 请求,内置重试逻辑,清洗返回 JSON
- 提取绘图提示词 qwen_image_prompt
步骤 4:调用视频生成 SKILL
触发前置校验:无例句直接跳过。
- 入参:Step1 例句数据、Step2 图片提示词、单词难度
- 组装对话:系统提示 = SKILL_VIDEO,用户输入 = 例句 + 图片提示词
- 请求大模型,解析得到 LTX2.3 视频提示词 ltx23_prompt
步骤 5:合并三套 Skill 产出数据
统一整合所有输出字段,组装入库结构:
- 基础单词信息
- example(例句 SKILL 结果)
- qwen_image_prompt(绘图 SKILL 结果)
- ltx23_prompt(视频 SKILL 结果)
- skill:原始数据库难度标识(大写 PRIMARY/JUNIOR 等)
步骤 6:数据库更新入库
将合并后的完整素材更新至对应单词行,填充 example、两类提示词,修改 status 为完成标识。
四、两种业务调用模式
模式 1:离线批量生成(脚本模式)
适用场景:后台批量补全词汇库素材
- 定义目标难度(PRIMARY / JUNIOR / SENIOR / CET4)
- 循环读取批次单词,逐条执行完整 Skill 流水线
- 单条单词生成失败自动回滚数据库,不影响其他单词
- 全部单词处理完毕自动退出
模式 2:Web 接口按需生成(API 模式)
适用场景:前端动态新增单词,实时生成配套素材
- 提供 HTTP 接口,入参:word、中文释义、难度 category
- 内部串行执行三段 Skill,直接返回整合后的全套素材 JSON
- 可按需扩展自动写入数据库逻辑
五、Skill 自定义修改方法
- 修改例句难度规则 直接编辑 config 中
SKILL_EXAMPLE文本,调整各难度句子长度、句式、场景、词汇约束。 - 修改图片 / 视频提示词风格 编辑
SKILL_IMAGE、SKILL_VIDEO系统提示,调整画风、镜头、时长、渲染风格。 - 新增难度档位(如 CET6)
- 配置文件难度列表新增标识
- 在 SKILL_EXAMPLE 补充对应难度生成规则段落
- 数据库 category 字段存入新标识即可自动适配 Skill
六、使用注意事项 & 排错
- 难度大小写不匹配 流程内置自动转小写逻辑,数据库存 PRIMARY 也能匹配 primary 规则,无需手动转换。
- 图片提示词为空 检查图片 SKILL 函数返回逻辑,确保解析到的 prompt 正常返回,不要硬编码空字符串。
- 模型返回带 markdown 代码块 流水线内置文本清洗逻辑,自动去除
json、标记,无需额外处理。 - token 截断无有效例句 调高 config 中 LLAMA_STEP1_MAX_TOKENS 数值,重试机制会自动重新生成。
- 无例句仍调用图文模型 流程自带前置判断,example 为空直接跳过图片、视频 SKILL,减少无效请求。