工作清單

【教程】Laya 决策模型使用指南:从零跑通第一个决策

逐字稿文字預覽

大家好,我是大叔大,先算笔账,让大模型做判断,它得一个字一个字把答案写出来,几百毫秒就没了,你还得再写正则去解析它写的东西。更要命的是,它哪天换个说法,你整条流程当场崩。今天要聊的Laya正好,反过来33毫秒,一次前向传播,结构化,答案已经递到你手上了。这期我不讲虚的,就带你从零把它跑起来。被环境跑第一个决策制建服务,一步步来,Laya是个非自回归的决策模型。思路其实很简单,把需求写成决策,一次前向传播直接给结构化答案
它在开源社区已经攒了18000多个star,单次决策33毫秒,支持100多种语言,用的是Apache 2.0协议。先搞清楚它和生成式模型差在哪,这点想明白了。后面全通生成式的做法,你肯定熟,提示词发过去,等它生成一段文本再写正则或者Jason解析,最后还得防它答非所问。Mans一方面,不稳才是大问题。Laya完全不同,它把状态和问题一起喂进去,一次前向传播,直接拿到Choice Score Now三种结构化答案,它一共就三个决策原语。Choice是选择从若干选项里挑一个适合部门路由,
分类,主题归类。Score是打分,在有序档位上给个分值,适合紧急度,挫败感,危害程度。No是是非判断,给一个是或否的,校准概率,适合钓鱼,骚扰信息,流失风险。说白了,分类用Choice,程度用Score。真伟用No一次钓用,几个问题一起答,知道它是干什么的了,第一步先把本地环境备好。这块门槛真的低,只要Python 3.10或者更高版本,依赖就是Hugging Face,客户端,Transformers和Pytorch这一套,公开模型第一次拉取,不用账号,具体三步,先建
钢3.11,按MV.win,然后用环境里的Python执行钢MP,installLayer,把Layer装上,最后执行Python钢I钢C导入Layer并答应版本号,有三点要注意,一是用独立的虚拟环境把依赖圈在一起,别污染全局的Python,二是装和跑,必须用同一个解释器,不然会爆找不到Layer,三是第一次会从Hugging Face拉模型,之后就走本地缓存,对了,参数里的钢I会把当前目录从导入境里排除,这样本地随便放的一份代码不会假装你已经装好了,环境通过,
通了第二步,三分钟跑通第一个决策,推荐从旅游模式入手,我们拿一封中文客服邮件当例子,一次调用,回答三个问题,先fromLayerImportRouter,然后Router等于Router,括号里Preload等于处,预加载Checkpoint,让首次旅游就能秒回,接着写State,也就是要分析的那段文本,我这个月的会员被扣了两次钱,请把多扣的马上退给我,不然我就退定了,然后写Questions,用中文描述你要问的决策,一个问题叫部门类型是Choice,问的是这条请求,该交给哪个部门处理,Criteria里列了四个候选
不错,销售对应报价,新合同,其他就是以上都不是,另一个叫紧急度,类型是Score,问这条请求有多紧急,档位从低到高是不及,尽快处理,已经主射业务,还有一个叫流失风险,类型是No,问用户是不是威胁要退订或者离开,最后Rest等于Router点,Predict,把State和Questions传进去,一次调用,拿到全部答案,打印出来看看,部门是账单,紧急度1.84,满分2.0,流失风险0.89,整套动作就三件事,见Router,写State,写Questions,问题选项,说明全用中文�
顺带把三种原语的问法讲透,先看Answers,每个问题一条答案还带着概率和自信度,比如部门这条Choice是账单,Confidence是0.94,Probabilities里把每个选项的概率都列了出来,账单0.94,技术0.03,销售0.02,其他0.01,再看Routing,这是路由原数据,告诉你这次实际用了哪个Checkpoint,以及为什么Model是实际选中的Checkpoint,Repo是对应的权中目录,Reason是选它的理由,也就是脚本和语言判断的结果,三种原语怎么问呢,Choice就给一组带说明的候选,
Criteria里每一项写清含义,让他选,Score就给一条从低到高的单位列表返回期望单位,No只问一件事成不成立,返回0到1之间的校准概率,这里我得单独提一句Confidence真不是摆设,它是用严格适当评分规则训练出来的,可以直接拿来当门控,后面细讲,接下来是个实际问题,到底用Router还是直接加载模型,Router会在推理之前,先用不到0.5毫秒判断一件事,英文Checkpoint能不能读懂这段话,为什么非要提前判断,因为英文模型碰上非拉丁字母会自信的答错,它不会提醒
所以这个判断只能放在推理前,路由模式的常见写法是这样,Router等于Router,Prehead等于True,默认常驻两个checkpoint,非英文流量为主的话,可以设Default等于Multilingual,改掉默认语言,你已经有语言识别模型了,直接用Langloose等于这把结果交给他,想省内存设Maxload等于1,代价是每次切换都要再加载一遍,不用了,就条Router点Unload释放内存,只服务一种语言的话,单模型直连更省心,Agent等于Layer点Load,传ConveyInnovations,斜杠Layer,这是英文版,加载多语言版
加载结构化决策工作流,就换成Subfolder等于Typed-Decisions,三个checkpoint怎么挑,Layer用的是ModernBird-Large,4亿2100万参数,上下文512,适合英文场景,Layer-Multilingual用的是HalmyBearER-Base,3亿2200万参数,上下文1024,支持100多种语言,速度快一倍,Layer-Typed-Decisions,也是ModernBird-Large,4亿2100万参数,上下文1024,适合结构化决策工作流,不想从零设计问题的话,官方还预调好了,
4套schema导入就能用,另外也能把整套能力挂成HTPP接口,4套预设分别是这样,模型路由用Layer.Router-Chack-Stations,判断这条请求该给小模型还是旗舰模型,比如用Ely,注入重构这个服务,就该交给更强的模型,提示词护栏,用Layer.Guard-Chack-Stations,拦住月域,注入和泄露,比如提示词里写忽略之前所有指令,内容安全,用Layer.Moderation-Chack-Stations,识别读信骚扰,威胁类内容,工单分整,用Layer.Tree-Edge-Chack-Stations,一次拿
Layer.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.
A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A
A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A
A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A
A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A

來源:transcript.txt

本次執行流程與問題處理

  1. 下達指令

    指令:videonote https://b23.tv/rCgRwCD --language zh --auto-source-subtitles

    來源:https://b23.tv/rCgRwCD

    辨識語言:zh | 參數:--language zh --auto-source-subtitles

  2. 預期流程

    依指令產生的處理順序:

    1. 自動字幕優先,Whisper 作為備援
    2. 來源選擇與品質檢查
    3. 文字校正與句子單元
    4. 筆記與發布
    5. 公開網頁發布
  3. 1. 下載與語音辨識

    工具:videonote-transcribe-url(主辨識管線:下載、Whisper 辨識與選稿)

    處理:下載音訊、以 Whisper 辨識並選出最佳逐字稿

    產出:yt_dlp_meta.json(影片元資料)、audio_16k_mono.wav(16kHz 單聲道音訊)、transcript.whisper.json(Whisper 辨識結果)、transcript.json(正式逐字稿)、transcript_selection_report.json(來源選擇報告)

    耗時:44.3 秒

    關係:依序執行

    結果:完成

  4. 2. 全文快速校讀

    工具:videonote_rapid_transcript_review.py

    處理:先速讀完整逐字稿,再修正高可信突兀詞句並列出待確認項目

    產出:rapid_transcript_review_report.json(產出檔案)

    耗時:38.7 秒

    關係:依序執行

    結果:完成

  5. 3. 建立句子單元

    工具:videonote-build-sentence-units

    處理:將逐字稿切成帶時間軸的句子單元

    產出:sentence_units.json(句子單元)

    耗時:0.8 秒

    關係:依序執行

    結果:完成

  6. 4. 句子密度平衡

    工具:videonote_balance_sentence_units.py

    處理:平衡句子長度與密度

    產出:sentence_units.json(句子單元)

    耗時:0.8 秒

    關係:依序執行

    結果:完成

  7. 5. 時間軸稽核

    工具:videonote_timeline_audit.py

    處理:檢查時間軸與音訊對齊

    產出:timeline_audit_report.json(時間軸稽核)

    耗時:0.8 秒

    關係:依序執行

    結果:完成

  8. 6. 品質檢查

    工具:videonote_controlled_quality.py(檢查時間軸與品質)

    處理:檢查語言、時間軸與可讀性品質

    產出:controlled_quality_report.json(品質報告)、language_sanity_report.json(語言檢查)

    耗時:0.9 秒

    關係:依序執行

    結果:完成

  9. 7. 播放時間軸回填

    工具:videonote_rebase_display_timeline.py

    處理:將網頁播放時間軸回填為校正字幕時間

    產出:display_timeline_rebase_report.json(時間軸回填報告)

    耗時:0.9 秒

    關係:依序執行

    結果:完成

  10. 8. 逐字稿交叉檢查

    工具:videonote_cross_check_transcript.py

    處理:交叉檢查逐字稿與來源字幕

    產出:transcript_crosscheck_report.json(交叉檢查)

    耗時:0.9 秒

    關係:依序執行

    結果:完成

  11. 9. 來源句整理

    工具:videonote_prepare_source_entries.py

    處理:整理來源句子供時間軸與頁面使用

    產出:sentence_units.json(句子單元)

    耗時:1.0 秒

    關係:依序執行

    結果:完成

  12. 10. 生成筆記摘要

    工具:videonote-generate-note(生成筆記摘要)

    處理:生成筆記摘要與重點

    產出:note.md(筆記 Markdown)、note.html(筆記 HTML)

    耗時:151.4 秒

    關係:依序執行

    結果:完成

  13. 11. 建立筆記頁面

    工具:videonote-render-html(產生筆記 HTML)

    處理:產生可閱讀的筆記 HTML 頁面

    產出:note.html(筆記 HTML)

    耗時:0.5 秒

    關係:依序執行

    結果:完成

  14. 12. 發布公開頁面

    工具:videonote-publish(發布公開頁面)

    處理:發布到公開網站與每日列表

    產出:公開筆記網址、result.json(管線結果)

    耗時:0.6 秒

    關係:依序執行

    結果:完成

手動來源字幕

自動來源字幕

Whisper 字幕

Qwen 字幕

Parakeet 字幕

MOSS 字幕

聲學時間證據(PyAnnote / WhisperX)

校正前後逐字稿

目前待解決問題與初步改善方向

進一步精進字幕與筆記
使用 Workbench 上傳校正字幕、中文參考稿或回饋 SRT,重新產生雙語與學習單元。
開啟 Workbench