恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Duix.Avatar 新增模特失败?SQLite3 布尔值报错三步修好

  • 首页
  • 资讯中心
  • /
  • Duix.Avatar 新增模特失败?SQLite3 布尔值报错三步修好

相关资讯

e稿智能降重创新能力解析 学术工具选型参考指南 2026/9/11 10:02:44
WinForm高DPI清晰渲染与响应式布局实战 2026/9/11 10:02:44
2026电子围栏定位系统推荐,企业落地使用干货分享 2026/9/11 10:02:44

最新资讯

PSO-BP神经网络风电功率预测实战指南
Umi-OCR 离线图片转文字工具:3 步从扫描文档里提取文字
WorkBuddy开放平台实战:从零搭建个人Agent应用全指南
Golang gRPC开发环境搭建与最佳实践
数据中心扩容成本与融资逻辑:从万国数据3亿美元配售说起
42. Trapping Rain Water 接雨水

今日推荐

YOLO烟盒数据集目标检测训练全流程:标注校验、格式转换与模型复现
HuffPost新闻数据集解析:JSONL加载与时间感知分类实战
Budibase 本地开发环境搭建与运行指南:从全新克隆到 dev 栈启动的完整实践

本周热门

超人会飞不算本事:系统稳定依赖清晰规则与边界设计
超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论
基于CNN的调制信号识别:MATLAB实现时频图分类实战

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

Duix.Avatar 新增模特失败?SQLite3 布尔值报错三步修好

发布时间:2026/9/11 10:07:44
Duix.Avatar 新增模特失败?SQLite3 布尔值报错三步修好 Duix.Avatar 新增模特失败SQLite3 布尔值报错三步修好【免费下载链接】Duix-Avatar Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar在 Duix.Avatar 里新增一个定制模特视频传完、点击提交后客户端日志里抛出这个错误模特完全加不进去。原文是Error invoking remote method model/addModel: TypeError: SQLite3 can only bind numbers, strings, bigints, buffers, and null这条报错看着吓人其实只是最后一公里的问题一个布尔值被原样传进了 SQLite。一条 INSERT 到底卡在哪报错发生在往f2f_model表写模特记录这一步实际执行的 SQL 是取自客户端日志INSERT INTO f2f_model (name, video_path, audio_path, voice_id, created_at) VALUES (aaa, 20250405012435008.mp4, origin_audio/20250405012435008.wav, false, 1743787484937)⚠️ 肇事参数就一个第四个字段 voice_id 被绑定了false。better-sqlite3 的参数绑定白名单非常窄一张表说清楚参数类型能否绑定number、string、bigint、buffer能null能布尔值true / false不能直接抛上面这条 TypeErrorundefined、对象、数组不能同样 TypeError为什么 false 不是合法值类型不匹配SQLite 绑定不认布尔现象建表语句里 voice_id 明明是整数列写进去的却是布尔值。 证据日志显示该语句绑定的值为布尔 false而建表脚本src/main/db/sql.js中 voice_id 定义为INTEGER。 结论SQLite 没有原生布尔类型better-sqlite3 只接受 number/string/bigint/buffer/null 五类布尔值直接越界报错。上游断链训练失败被 false 吞掉现象模特视频已经复制、音频也已分离唯独 voice_id 这一环空了。 证据日志里有train ~ res: { code: -1, msg: NoneType object has no attribute send }说明 TTS 服务端的预处理接口调用失败返回了 -1。 结论语音训练入口 的train()在res.code ! 0时return false上层 addModel 不校验直接把 false 当 voiceId 递给了数据库——断链被静默吞到了数据库层才炸。校验缺位参数入库前没人把关现象用户最终只看到一句 SQLite3 can only bind...完全不知道是哪一个环节坏了。 证据DAO 层 的insert()把五个参数原样交给stmt.run(...)执行前没有任何类型检查。 结论voiceId不是数字也不是 null 就插不进去整条 addModel 流程中断而报错信息里甚至提不到 voiceId。先止血再根治第 1 步·立即止血把布尔值转成 null在service/model.js的 insert 调用前改一行即可// 布尔 false 不落库按无语音模型处理 voiceId: typeof voiceId boolean ? null : voiceId改完这步SQLite 绑定报错消失模特能正常入库voice_id 为 null。第 2 步·堵断链训练失败改成直接抛错病根在语音训练入口吞失败TTS 服务预处理返回非 0 码最常见的是 asr 连接被拒时它不抛错而是return false。把这一行换成if (res.code ! 0) throw new Error(Voice training failed: res.msg)改完这步报错会从SQLite 不能绑定变成可读的 Voice training failed: NoneType object has no attribute send一眼看出是服务端 asr 没就绪而不是去读数据库堆栈。第 3 步·加保险数据库层补一道类型检查在 数据库连接层 的 run 包装里补最后防线任一参数为布尔或 undefined 时带出参数名直接抛错。改完这步以后任何业务再误传布尔报错信息会直接指到出问题的字段排查不用翻三个文件。下次怎么少踩坑数据入库前统一过一遍数字/字符串/整数/bigint/null 五类之一不是就带字段名报错上游 API 失败必须抛错不要用 false 当哨兵值它太容易被误读成数据不存在新增模特前先校验视频有音轨且有人在说话无声视频会让语音训练直接失败排查客户端报错时优先看服务端 docker 日志很多数据库错误本质是服务端返回了 -1先改第 1 步那一行恢复模特新增第 2、3 步的抛错改造排进下个版本跟进即可。【免费下载链接】Duix-Avatar Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号