You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TFJS QNA/BERT模型时触发gpgpu_util.bindVertexProgramAttributeStreams错误

解决TensorFlow.js QnA模型运行报错及返回空数组的思路

可能的原因及对应解决方法

1. 版本兼容性问题

  • 问题:当前加载的@tensorflow/tfjs与@tensorflow-models/qna版本不匹配,导致底层GPU绑定逻辑出错。
  • 解决:锁定兼容的版本号加载脚本,比如选择经过验证的版本组合:
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@3.21.0"></script>
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/qna@1.0.1"></script>
    
    注:qna 1.0.1与tfjs 3.x系列版本兼容,可规避部分版本冲突引发的GPU相关错误

2. GPU加速适配问题

  • 问题:浏览器GPU环境不支持当前模型的运算逻辑,导致绑定失败。
  • 解决:强制使用CPU模式运行,在代码开头添加CPU后端设置:
    tf.setBackend('cpu');
    
    修改后的完整代码:
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/qna"></script>
    <script>
      /* global qna, tf */
      tf.setBackend('cpu');
      const searchText = 'We believe cats are the real stars of YouTube.'
      const question = 'What is important to YouTube?'
        
      qna.load().then(model => {
        model.findAnswers(question, searchText).then(answers => {
                console.log('Answers:', answers)
            })
      })
    </script>
    

3. 输入文本长度限制

  • 问题:QnA模型对输入上下文的长度有要求,过短的文本可能无法生成有效答案,同时底层处理时可能触发异常。
  • 解决:扩展上下文文本,确保包含足够支撑问题的信息,比如:
    const searchText = 'At YouTube, we prioritize content that drives user engagement. We believe cats are the real stars of YouTube—cat videos consistently earn millions of views and keep users coming back to the platform.'
    

4. 浏览器环境限制

  • 问题:部分旧版本浏览器对WebGL的支持不完善,导致GPU绑定流程失败。
  • 解决:将浏览器升级到最新稳定版,或更换Chrome、Edge等主流浏览器测试。

内容的提问来源于stack exchange,提问作者Nick Briz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 15:39:20