用户之声——提建议·赢好礼> HOT

功能介绍

基于相似度匹配的查询方式,/ai/documentSet/search 接口用于在指定的文件中,查找与给定文本信息相似的 Top K 条文本信息。
支持指定文件名称检索最相似的文本信息。
支持文件名搭配文件元数据的标量字段的 Filter 表达式检索最相似的文本信息。
支持仅使用文件元数据的标量字段的 Filter 表达式检索最相似的文本信息。

请求示例

注意:
如下示例可直接复制,在 CVM 运行之前,您需在文本编辑器将 api_key=A5VOgsMpGWJhUI0WmUbY******************** 与 10.0.X.X 依据实际情况进行替换。
如下示例,在文件名为腾讯云向量数据库.md,且满足 Filter 表达式的文件中,检索与什么是向量数据库相似的文本信息。
curl -i -X POST \\
-H 'Content-Type: application/json' \\
-H 'Authorization: Bearer account=root&api_key=A5VOgsMpGWJhUI0WmUbY********************' \\
http://10.0.X.X:80/ai/documentSet/search \\
-d '{
"database": "db-test-ai",
"collectionView": "coll-ai-files",
"search":{
"content": "什么是向量数据库",
"documentSetName": ["腾讯云向量数据库.md"],
"options": {
"chunkExpand": [
1,
1
]
},
"filter": "author in (\\"Tencent\\", \\"tencent\\") and tags include (\\"AI\\", \\"Embedding\\")",
"limit": 3
}
}'
参数名称
参数含义
子参数
子参数
是否必选
配置方法及要求
database
指定要查询的Database 名称。
-
-
使用/database/list 获取集群中的数据库列表,复制数据库名。
collectionView
指定要查询的CollectionView 名称。
-
-
使用/ai/collectionView/list 获取指定数据库名下的 CollectionView 列表,复制集合名。
search
设置检索数据的条件。
content
-
以 String 类型输入检索的文本信息。
documentSetName
-
检索的文件名。
options
chunkExpand
以数组形式配置检索的目标信息所需向前扩展的段落数量以及向后扩展的段落数。例如,输入[2,3],指所检索到的 Chunk 返回时,同时返回其之前的 2个段落与之后的3个段落。
段落指文件在上传存储时,自动向量化拆分的段落。
默认值:[1,1]。
filter
-
使用创建 CollectionView 指定的 Filter 索引的字段设置查询过滤表达式。
Filter 表达式格式为 <field_name><operator><value>,多个表达式之间支持 and(与)、or(或)、not(非)关系。具体信息,请参见 混合检索。其中:
<field_name>:表示要过滤的字段名。
<operator>:表示要使用的运算符。
string :匹配单个字符串值(=)、排除单个字符串值(!=)、匹配任意一个字符串值(in)、排除所有字符串值(not in)。其对应的 Value 必须使用英文双引号括起来。
uint64:大于(>)、大于等于(>=)、等于(=)、小于(<)、小于等于(<=)。例如:expired_time > 1623388524。
array:数组类型,包含数组元素之一(include)、排除数组元素之一(exclude)、全包含数组元素(include all)。例如,name include (\\"Bob\\", \\"Jack\\")。
<value>:表示要匹配的值。
示例:Filter('author="jerry"').And('page>20')
limit
-
指定返回最相似的 Top K 的 K 的值。

返回消息

{
"code": 0,
"msg": "Operation success",
"requestId": "85f094becf3ba517bdbec4**********",
"documents": [
{
"score": 0.8924504518508911,
"data": {
"text": "### 什么是向量检索?\\n向量检索是一种基于向量空间模型的信息检索方法。将非结构化的数据表示为向量存入向量数据库,向量检索通过计算查询向量与数据库中存储的向量的相似度来找到目标向量。\\n",
"startPos": 784,
"endPos": 876,
"pre": [
"### 什么是 AI 中的向量表示?\\n当我们处理非结构化数据时,需要将其转换为计算机可以理解和处理的形式。向量表示是一种将非结构化数据转换为嵌入向量的技术,通过多维度向量数值表述某个对象或事物的属性或者特征。腾讯云向量数据库提供的模型能力,目前在开发调试中。\\n"
],
"next": [
"## 为什么是腾讯云向量数据库?\\n腾讯云向量数据库作为一种专门存储和检索向量数据的服务提供给用户, 在高性能、高可用、大规模、低成本、简单易用、稳定可靠、智能运维等方面体现出显著优势。 \\n"
]
},
"documentSet": {
"documentSetId": "1179321629693181952",
"documentSetName": "腾讯云向量数据库.md",
"author": "Tencent"
}
},
{
"score": 0.890502393245697,
"data": {
"text": "## 腾讯云向量数据库是什么?\\n腾讯云向量数据库是一款全托管的自研企业级分布式数据库服务,专用于存储、检索、分析多维向量数据。该数据库支持多种索引类型和相似度计算方法,单索引支持10亿级向量规模,可支持百万级 QPS 及毫秒级查询延迟。腾讯云向量数据库不仅能为大模型提供外部知识库,提高大模型回答的准确性,还可广泛应用于推荐系统、NLP 服务、计算机视觉、智能客服等 AI 领域。\\n",
"startPos": 122,
"endPos": 313,
"pre": [
"本页面旨在通过回答几个问题来让您大致了解腾讯云向量数据库(Tencent Cloud VectorDB)。读完本页后,您将了解腾讯云向量数据库是什么、它是如何工作的、关键概念、为什么使用腾讯云向量数据库、支持的索引和指标、架构和相关连接方式。\\n"
],
"next": [
"## 关键概念\\n如果您不熟悉向量数据库和相似性搜索领域,请优先阅读以下基本概念,便于您对向量数据库有一个初步的了解。\\n"
]
},
"documentSet": {
"documentSetId": "1179321629693181952",
"documentSetName": "腾讯云向量数据库.md",
"author": "Tencent"
}
},
{
"score": 0.8756946921348572,
"data": {
"text": "本页面旨在通过回答几个问题来让您大致了解腾讯云向量数据库(Tencent Cloud VectorDB)。读完本页后,您将了解腾讯云向量数据库是什么、它是如何工作的、关键概念、为什么使用腾讯云向量数据库、支持的索引和指标、架构和相关连接方式。\\n",
"startPos": 0,
"endPos": 122,
"pre": [
],
"next": [
"## 腾讯云向量数据库是什么?\\n腾讯云向量数据库是一款全托管的自研企业级分布式数据库服务,专用于存储、检索、分析多维向量数据。该数据库支持多种索引类型和相似度计算方法,单索引支持10亿级向量规模,可支持百万级 QPS 及毫秒级查询延迟。腾讯云向量数据库不仅能为大模型提供外部知识库,提高大模型回答的准确性,还可广泛应用于推荐系统、NLP 服务、计算机视觉、智能客服等 AI 领域。\\n"
]
},
"documentSet": {
"documentSetId": "1179321629693181952",
"documentSetName": "腾讯云向量数据库.md",
"author": "Tencent"
}
}
]
}
参数名
子参数
参数含义
score
-
表示查询向量与检索结果向量之间的相似性计算分数。
data
text
检索的结果。
endPos
检索结果在文件中偏移的结束位置。
startPos
检索结果在文件中偏移的起始位置。
next
根据检索时,设置的参数 chunkExpand,返回检索结果向后扩展的段落。
pre
根据检索时,设置的参数 chunkExpand,返回检索结果向前扩展的段落。
documentSet
documentSetId
文件 ID。
documentSetName
文件名。
other_scalar_field
自定义的文件 Meta 信息的标量字段。例如:author、bookName、page 等。
说明:
显示创建 CollectionView 时设置为 Filter 索引的字段,同时显示上传文件时或使用 update 新增的字段,但新增的字段不会构建索引。