195 lines
9.6 KiB
YAML
195 lines
9.6 KiB
YAML
# B站用户的SESSDATA,用于API认证
|
||
SESSDATA: "Cookie里的SESSDATA字段值"
|
||
|
||
# 视频摘要配置
|
||
# CACHE_EMPTY_SUMMARY: 控制是否缓存无摘要内容的视频结果
|
||
# 官方状态码含义:
|
||
# - result_type=0: 没有摘要
|
||
# - result_type=1: 仅存在摘要总结
|
||
# - result_type=2: 存在摘要以及提纲
|
||
#
|
||
# - 设置为true时:缓存所有视频摘要结果,包括无摘要的视频(result_type=0)
|
||
# 优点:减少对B站API的重复请求,提高响应速度,降低被限流风险
|
||
# 缺点:占用更多数据库空间
|
||
# - 设置为false时:只缓存有实际摘要内容的视频结果(result_type=1或2)
|
||
# 优点:节省数据库空间
|
||
# 缺点:对于无摘要的视频,每次都会重新请求B站API
|
||
CACHE_EMPTY_SUMMARY: true
|
||
|
||
# 原始历史记录数据的输入文件夹
|
||
input_folder: "history_by_date"
|
||
|
||
# 清理后的历史记录数据的输出文件夹
|
||
output_folder: "output"
|
||
|
||
# SQLite数据库文件名
|
||
db_file: "bilibili_history.db"
|
||
|
||
# 导入日志文件名,用于记录上次导入的位置
|
||
log_file: "last_import_log.json"
|
||
|
||
# 分类配置文件名
|
||
categories_file: "categories.json"
|
||
|
||
# 每日观看数量统计文件夹
|
||
daily_count_folder: "daily_count"
|
||
|
||
# 热力图模板文件名
|
||
heatmap_template: "template.html"
|
||
|
||
# 清理数据时需要移除的字段列表
|
||
fields_to_remove:
|
||
- long_title # 长标题
|
||
- uri # 统一资源标识符
|
||
- badge # 徽章
|
||
- current # 当前状态
|
||
- total # 总数
|
||
- new_desc # 新描述
|
||
- is_finish # 是否完成
|
||
- live_status # 直播状态
|
||
|
||
# 邮件配置
|
||
email:
|
||
smtp_server: smtp.qq.com
|
||
smtp_port: 587
|
||
sender: "xxxx@qq.com"
|
||
password: "xxxx" # QQ邮箱授权码
|
||
receiver: "xxxx@qq.com"
|
||
|
||
# 日志文件夹
|
||
log_folder: "/www/wwwroot/python/logs"
|
||
|
||
# yutto 下载器配置
|
||
yutto:
|
||
basic:
|
||
# 设置下载目录
|
||
dir: "./output/download_video"
|
||
# 设置临时文件目录
|
||
tmp_dir: "./output/tmp_video"
|
||
# 设置大会员严格校验
|
||
vip_strict: false
|
||
# 设置登录严格校验
|
||
login_strict: false
|
||
|
||
resource:
|
||
# 下载字幕
|
||
require_subtitle: true
|
||
# 默认是否仅下载音频
|
||
only_audio: false
|
||
|
||
danmaku:
|
||
# 设置弹幕字体大小
|
||
font_size: 30
|
||
# 设置弹幕屏蔽关键词
|
||
block_keyword_patterns: [ ]
|
||
|
||
batch:
|
||
# 下载额外剧集
|
||
with_section: true
|
||
|
||
# 服务器配置
|
||
server:
|
||
host: "0.0.0.0" # 允许从任何IP访问
|
||
port: 8899 # 设置你想要的端口号
|
||
# HTTPS配置
|
||
ssl_enabled: false
|
||
ssl_certfile: "你的fullchain.pem"
|
||
ssl_keyfile: "你的privkey.pem"
|
||
# API安全配置已移除
|
||
|
||
# 数据完整性校验配置
|
||
data_integrity:
|
||
check_on_startup: false
|
||
|
||
# 热力图配置
|
||
heatmap:
|
||
# 热力图输出目录
|
||
output_dir: ""
|
||
# 热力图模板文件
|
||
template_file: "template.html"
|
||
# 热力图标题
|
||
title: "Bilibili 每年每日视频观看热力图"
|
||
# 图表尺寸配置
|
||
chart:
|
||
width: "1000px"
|
||
height: "200px"
|
||
# 热力图颜色配置
|
||
colors:
|
||
pieces:
|
||
- min: 1
|
||
max: 10
|
||
color: "#FFECF1"
|
||
- min: 11
|
||
max: 50
|
||
color: "#FFB3CA"
|
||
- min: 51
|
||
max: 100
|
||
color: "#FF8CB0"
|
||
- min: 101
|
||
max: 200
|
||
color: "#FF6699"
|
||
- min: 201
|
||
max: 9999
|
||
color: "#E84B85"
|
||
|
||
# 在配置文件中添加任务超时设置
|
||
scheduler:
|
||
task_timeout: 600 # 任务超时时间(秒)
|
||
retry_delay: 300 # 重试延迟时间(秒)
|
||
max_retries: 3 # 最大重试次数
|
||
|
||
# DeepSeek API配置
|
||
deepseek:
|
||
# API密钥设置 https://platform.deepseek.com/api_keys
|
||
api_key: "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||
|
||
# API基础URL
|
||
api_base: "https://api.deepseek.com/v1"
|
||
|
||
# SSL验证设置
|
||
ssl_verify: false
|
||
|
||
# 默认模型设置
|
||
default_model: "deepseek-reasoner" # 其他可选: "deepseek-chat"
|
||
|
||
# 默认参数设置
|
||
default_settings:
|
||
max_tokens: 8000 # 最大生成标记数
|
||
temperature: 0.7 # 温度设置(0-2.0)
|
||
top_p: 1.0 # 核采样(0-1.0)
|
||
frequency_penalty: 0.0 # 频率惩罚(0-2.0)
|
||
presence_penalty: 0.0 # 存在惩罚(0-2.0)
|
||
|
||
# 不同场景的推荐温度设置
|
||
recommended_temperatures:
|
||
通用对话: 1.3
|
||
创意写作: 1.5
|
||
代码生成: 0.0
|
||
数据抽取: 1.0
|
||
数学推理: 0.0
|
||
|
||
# DeepSeek价格信息(单位:元/百万tokens)
|
||
pricing:
|
||
deepseek-chat:
|
||
input:
|
||
standard: 1.0 # 标准时段(08:30-00:30)
|
||
discount: 0.5 # 优惠时段(00:30-08:30)
|
||
output:
|
||
standard: 8.0 # 标准时段
|
||
discount: 4.0 # 优惠时段
|
||
deepseek-reasoner:
|
||
input:
|
||
standard: 1.0
|
||
discount: 0.25
|
||
output:
|
||
standard: 16.0
|
||
discount: 4.0
|
||
|
||
# 视频摘要提示词配置
|
||
video_summary:
|
||
# 默认提示词(不要修改这个,它用作重置)
|
||
default_prompt: "# 你是一位视频摘要专家\n\n## 定位\n专注视频字幕处理与摘要生成的智能助手,具备文本纠错、语义分析和结构化摘要能力\n\n## 核心能力\n1. 文本清洗:\n - 自动检测时间轴格式(00:00 --> 00:02)\n - 修复同音字/错别字(结合前后段落语义推理)\n - 修正语法错误和断句问题\n - 保留原始时间戳标记\n\n2. 摘要生成:\n - 按时间顺序提炼关键内容节点\n - 自动标注事件发生时间范围\n - 区分主要信息与过渡性内容\n - 保持原文风格(技术讲解/故事叙述/产品演示等)\n\n## 知识储备\n- 自然语言处理技术\n- 常见中文同音字库\n- 跨领域术语库(科技/人文/商业等)\n- 视频内容结构模型(开场-发展-高潮-结尾)\n\n## 处理流程\n1. 接收原始字幕文件\n2. 执行文本预处理:\n a. 验证时间戳连续性\n b. 上下文关联修复(例:\"温馳包碗\"→\"奔驰宝马奥迪\")\n c. 合并碎片化短句\n3. 此要求很重要,这关乎生死:总结的时间戳要分布均匀,不要前面分布的很细,后面由于限制就让时间戳跨度很大,这很不好!正确做法是查看视频最后的时间戳,如果视频超过30分钟,就不建议开始按照秒做总结,而是一开始就是从00:00-xx分钟 这样总结会更均匀\n4. 此要求很重要,这关乎生死:你是总结视频内容,而不是描述每一句话,所以,无论字幕有多少,你必须将总结的小标题限制在11个以内,注意,我说的是最多只能11个,而不是要求你每个视频都要总结到11个,你应该根据视频时长和内容自行判断,且要总结完整,这很重要\n5. 请不要输出清洗后的字幕,用户只需要摘要内容,用户不关心字幕内容\n6. 生成结构化摘要:\n - 时间锚点 00:02\n - 关键事件描述\n - 重要数据/名称标注\n - 必须在每个时间锚点总结的标题前面加入贴切的emoji表情符号,每个标题的emoji不能重复\n7. 最终交付格式:\n 整体总结\n 分段标题\n 00:00-02:30 主题引入\n • 核心事件说明\n • 关键数据支撑 \n 此要求很重要,这关乎生死:你输出的时间锚点必须是原始数据存在的,且最小单位截止到秒即可,注意不要输出md相关的符号,比如 # * 等"
|
||
|
||
# 用户自定义提示词(可以修改这个)
|
||
custom_prompt: "# 你是一位视频摘要专家\n\n## 定位\n专注视频字幕处理与摘要生成的智能助手,具备文本纠错、语义分析和结构化摘要能力\n\n## 核心能力\n1. 文本清洗:\n - 自动检测时间轴格式(00:00 --> 00:02)\n - 修复同音字/错别字(结合前后段落语义推理)\n - 修正语法错误和断句问题\n - 保留原始时间戳标记\n\n2. 摘要生成:\n - 按时间顺序提炼关键内容节点\n - 自动标注事件发生时间范围\n - 区分主要信息与过渡性内容\n - 保持原文风格(技术讲解/故事叙述/产品演示等)\n\n## 知识储备\n- 自然语言处理技术\n- 常见中文同音字库\n- 跨领域术语库(科技/人文/商业等)\n- 视频内容结构模型(开场-发展-高潮-结尾)\n\n## 处理流程\n1. 接收原始字幕文件\n2. 执行文本预处理:\n a. 验证时间戳连续性\n b. 上下文关联修复(例:\"温馳包碗\"→\"奔驰宝马奥迪\")\n c. 合并碎片化短句\n3. 此要求很重要,这关乎生死:总结的时间戳要分布均匀,不要前面分布的很细,后面由于限制就让时间戳跨度很大,这很不好!正确做法是查看视频最后的时间戳,如果视频超过30分钟,就不建议开始按照秒做总结,而是一开始就是从00:00-xx分钟 这样总结会更均匀\n4. 此要求很重要,这关乎生死:你是总结视频内容,而不是描述每一句话,所以,无论字幕有多少,你必须将总结的小标题限制在11个以内,注意,我说的是最多只能11个,而不是要求你每个视频都要总结到11个,你应该根据视频时长和内容自行判断,且要总结完整,这很重要\n5. 请不要输出清洗后的字幕,用户只需要摘要内容,用户不关心字幕内容\n6. 生成结构化摘要:\n - 时间锚点 00:02\n - 关键事件描述\n - 重要数据/名称标注\n - 必须在每个时间锚点总结的标题前面加入贴切的emoji表情符号,每个标题的emoji不能重复\n7. 最终交付格式:\n 整体总结\n 分段标题\n 00:00-02:30 主题引入\n • 核心事件说明\n • 关键数据支撑 \n 此要求很重要,这关乎生死:你输出的时间锚点必须是原始数据存在的,且最小单位截止到秒即可,注意不要输出md相关的符号,比如 # * 等"
|