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

使用TxtAI执行SQL查询遇json_extract函数不存在错误求助

解决txtai在CentOS上执行SQL查询时的json_extract函数不存在错误

问题原因

Windows系统中Python自带的SQLite版本通常较新(json_extract函数需要SQLite 3.9.0及以上版本支持),而CentOS默认预装的SQLite版本偏低(比如CentOS 7自带3.7.x版本),不支持JSON相关函数,导致txtai执行SQL查询时触发no such function: json_extract错误。

解决方案

方案1:升级CentOS系统的SQLite版本

通过编译安装新版SQLite,步骤如下:

  • 安装编译依赖:
    sudo yum install -y gcc make wget
    
  • 下载并编译安装新版SQLite(以3.44.0为例,可替换为最新稳定版):
    wget https://www.sqlite.org/2023/sqlite-autoconf-3440000.tar.gz
    tar xzf sqlite-autoconf-3440000.tar.gz
    cd sqlite-autoconf-3440000
    ./configure --prefix=/usr/local
    make
    sudo make install
    
  • 更新系统库缓存:
    sudo ldconfig
    
  • 验证版本:执行sqlite3 --version确认版本≥3.9.0;在Python环境中执行以下代码确认:
    import sqlite3
    print(sqlite3.sqlite_version)
    
  • 注意:若使用虚拟环境,需重新创建虚拟环境并安装requirements.txt中的依赖,确保Python链接到新版SQLite。

方案2:修改查询逻辑规避json_extract调用

如果无法升级系统SQLite,可调整txtai的使用方式:

  • 避免在SQL查询中直接使用json_extract,改用txtai提供的非SQL查询API实现动态搜索需求;
  • 提前预处理数据,将需要提取的JSON字段内容存储为普通列,减少SQL中对JSON函数的依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 03:10:12