向量接口合集

更新时间:

本文介绍云原生数据仓库 AnalyticDB PostgreSQL 版中向量相关接口。

初始化向量数据库

在使用AnalyticDB for PostgreSQL向量数据库前,需要初始化向量数据库,每个实例仅需执行一次,执行后将完成以下操作。

  • 创建名为knowledgebase的数据库,用于存储所有向量数据。

  • 在该数据库中创建与全文检索相关的中文分词及检索功能的函数。

支持的接口:InitVectorDatabase - 初始化向量数据库

管理命名空间

命名空间(Namespace)在数据库中映射为Schema。创建Namespace,用于后续创建文档库。创建Namespace时,需要指定NamespacePassword参数。AnalyticDB for PostgreSQL服务将基于该密码自动创建一个与Namespace同名的用户,并限制该用户只能访问该Namespace下的数据。

您可以利用Namespace实现数据的租户隔离,建议使用非public的命名空间以确保更好的安全性和管理灵活性。

以下是命名空间的相关接口。

LowLevel相关接口

当您已集成自有向量模型,并可直接使用现有向量数据与API交互时,建议使用 LowLevel 接口以获得更高的灵活性和控制能力。

管理向量集

向量集(Collection)是属于Namespace下的对象,用于存储向量数据。在数据库中,向量集映射为一张表,其中用于存储ID、向量数据和全文检索数据的列名已预定义。其他表结构字段可通过Metadata参数定义。

在创建向量集时,可以通过参数同步创建向量索引、全文索引和标量索引。也可以在向量集创建完成后,通过索引管理功能接口单独创建这些索引。

以下是向量集的相关接口。

上传向量数据

在创建向量集后,可以将向量数据上传至该向量集。

检索向量

在完成向量数据上传后,即可通过以下接口实现多种检索方式,包括向量检索、全文检索、双路召回以及融合查询等。

QueryCollectionData - 召回向量数据

管理向量数据

当上传向量数据后,如需对其更改,可以通过以下接口操作。

HighLevel相关接口

当您仅拥有原始文档或文本,并需要利用AnalyticDB for PostgreSQL的文档理解、分块(Chunk)、嵌入(Embedding)、重排序(Rerank)等相关能力时,可以选择使用HighLevel 接口。

管理文档库

文档库类似向量集(Collection),在数据库中映射为表。创建一个文档库(DocumentCollection)用于存储Chunks文本和向量数据。相比于向量集,在创建时不是指定向量维度,而是指定向量模型。

以下是文档库的相关接口。

上传文档

在创建了文档库后,就可以上传文档或Chunk。

检索文档

完成文档数据上传后,可以调用以下接口检索文档内容。

QueryContent - 查询文档内容

管理文档

对于已经完成上传的文档,可以通过以下接口管理。

Embedding

调用TextEmbeding模型,对请求文本进行向量化处理,并直接返回生成的向量数据,无需存储到数据库中。

TextEmbedding - 文本向量化

Rerank

调用Rerank模型,对请求的多个Chunks进行语义排序打分,以解决向量或全文检索的排序不够准确问题。

Rerank - 精排

索引管理

创建向量集后,可以通过以下接口创建或删除向量索引、全文索引、标量索引。