mirror of
https://github.com/JefferyHcool/BiliNote.git
synced 2026-09-07 00:27:37 +08:00
first commit
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import Optional
|
||||
|
||||
|
||||
@dataclass
|
||||
class AudioDownloadResult:
|
||||
file_path: str # 本地音频路径
|
||||
title: str # 视频标题
|
||||
duration: float # 视频时长(秒)
|
||||
cover_url: Optional[str] # 视频封面图
|
||||
platform: str # 平台,如 "bilibili"
|
||||
video_id: str # 唯一视频ID
|
||||
raw_info: dict # yt-dlp 的原始 info 字典
|
||||
video_path: Optional[str] = None # ✅ 新增字段:可选视频文件路径
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import List, Union, Optional
|
||||
|
||||
from app.models.transcriber_model import TranscriptSegment
|
||||
|
||||
|
||||
@dataclass
|
||||
class GPTSource:
|
||||
segment: Union[List[TranscriptSegment], List]
|
||||
title: str
|
||||
tags:str
|
||||
screenshot: Optional[bool] = False
|
||||
link: Optional[bool] = False
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import Optional
|
||||
|
||||
from app.models.audio_model import AudioDownloadResult
|
||||
from app.models.transcriber_model import TranscriptResult
|
||||
|
||||
|
||||
@dataclass
|
||||
class NoteResult:
|
||||
markdown: str # GPT 总结的 Markdown 内容
|
||||
transcript: TranscriptResult # Whisper 转写结果
|
||||
audio_meta: AudioDownloadResult # 音频下载的元信息(title、duration、封面等)
|
||||
@@ -0,0 +1,16 @@
|
||||
|
||||
from dataclasses import dataclass
|
||||
from typing import List, Optional
|
||||
|
||||
@dataclass
|
||||
class TranscriptSegment:
|
||||
start: float # 开始时间(秒)
|
||||
end: float # 结束时间(秒)
|
||||
text: str # 该段文字
|
||||
|
||||
@dataclass
|
||||
class TranscriptResult:
|
||||
language: Optional[str] # 检测语言(如 "zh"、"en")
|
||||
full_text: str # 完整合并后的文本(用于摘要)
|
||||
segments: List[TranscriptSegment] # 分段结构,适合前端显示时间轴字幕等
|
||||
raw: Optional[dict] = None # 原始响应数据,便于调试或平台特性处理
|
||||
Reference in New Issue
Block a user