You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Azure SQL Database执行向量插入时遇ntext转vector显式转换不允许错误的求助

Azure SQL Database执行向量插入时遇ntext转vector显式转换不允许错误的求助

我现在正在尝试用Azure SQL Database实现混合搜索功能,运行相关Python脚本的时候遇到了一个报错,卡在这里了。

pyodbc.DataError: ('22018', '[22018] [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Explicit conversion from data type ntext to vector is not allowed. (529) (SQLExecDirectW); [22018] [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Statement(s) could not be prepared. (8180)')

出错的是这条简单的INSERT语句:

INSERT INTO dbo.documents (id, content, embedding) VALUES (?, ?, CAST(? AS VECTOR(384)));

看起来问题出在嵌入向量被识别成了ntext类型,而当前的环境似乎不支持把ntext直接转成vector类型,导致向量操作的SQL语句执行失败。

我的环境信息如下:

  • Python版本:3.11.x
  • ODBC驱动:Microsoft ODBC Driver 18 for SQL Server
  • 数据库:Azure SQL Database

我已经做了这些排查步骤:

  • 确认了数据库表结构里,存储向量的embedding列确实用了正确的向量数据类型
  • 确认Python环境用的是最新的18版ODBC驱动
  • 确认Azure SQL Database实例本身是支持向量数据类型和相关操作的

备注:内容来源于stack exchange,提问作者UVData

火山引擎 最新活动