安徽省交通运输厅门户网站,邯郸做网站代理,百度手机助手app安卓版官方下载,嘉兴模板建站代理为了尽量保证使用者通过统一的SQL标准访问各类型数据库#xff0c;我们这里开启了“疯狂SQL转换系列”。转换的语法效果不一定是最好的#xff0c;更多是为用户提供一个统一的数据库交互体验。转换数据库目标的确认更多是内生的。基于我们对业务发展的需要。该向量库SQL转换的… 为了尽量保证使用者通过统一的SQL标准访问各类型数据库我们这里开启了“疯狂SQL转换系列”。转换的语法效果不一定是最好的更多是为用户提供一个统一的数据库交互体验。转换数据库目标的确认更多是内生的。基于我们对业务发展的需要。该向量库SQL转换的源码参见https://github.com/colorknight/moql-transx。 对腾讯云向量数据库的支持主要是为了给LLM的RAG(检索增强生成)提供更多向量库选择。使用者可通过该接口输入SQL语句获得结构化的数据结果如下列代码示例
// 构建TcVector客户端
ConnectParam connectParam ConnectParam.newBuilder().withUrl(向量数据库url).withUsername(root).withKey(访问key).withTimeout(30).build();
vectorDBClient new VectorDBClient(connectParam,
// 使用TcVector客户端创建TcVector查询器
TcVectorQuerier querier new TcVectorQuerier(vectorDBClient);
/* 查询语句含义从book集合中筛选数据并返回全部列。筛选条件为向量字段值为[[0.3123, 0.43, 0.213], [0.5123, 0.63, 0.413]]。取前2条命中记录。*/
String sql select * from datayoo.book where withVectors([[0.3123, 0.43, 0.213], [0.5123, 0.63, 0.413]]) limit 2;
// 使用查询器执行sql语句并返回查询结果
RecordSet recordSet querier.query(sql); TcVector提供的检索接口与SQL语法有一定差异其SearchParam提供的部分参数可以直接映射为SQL语法的等同语义子句。如expr参数其语义与SQL中Where子句语义基本兼容其OutFields参数为输出结果集的列结构与SQL语句的Select子句语义相同。但其也有其特殊的查询参数接口如针对向量字段匹配的参数接口withVectors等。由于这些概念在SQL中没有对应语义的子句为不增加语法概念MOQL Transx将这类接口都以Where子句中的函数形式进行表达。这种表达方式可能不是最佳表达方式如果有人有更好的建议可以到项目中给我们留言。 下表将给出TcVector查询接口的参数与SQL语法的对照关系
TcVector查询参数接口SQL语法collection(table)from tablewithOutputFields(outFields)select outFieldswithDocumentIdswhere id withFilterwhere exprwithParamswithParamswithVectorswithVectorswithLimit()limit offset, k
模块的maven坐标
dependencygroupIdorg.datayoo.moql/groupIdartifactIdmoql-querier-tcvector/artifactIdversion1.0.0/version
/dependency