对向量进行存储、索引编制和查询
原生 pgvector
PostgreSQL 扩展程序是针对 AlloyDB 自定义的,称为 vector
。它支持将生成的嵌入存储在向量列中。该扩展程序还添加了对标量量化功能的支持,以创建 IVF
索引。您还可以创建 IVFFlat
索引或 HSNW
索引,这些索引可与原生 pgvector
搭配使用。
如需详细了解如何存储向量,请参阅存储向量。
除了自定义的 vector
扩展程序之外,AlloyDB 还包含 alloydb_scann
扩展程序,该扩展程序可实现由 ScaNN 算法提供支持的高效最近邻索引。
如需详细了解如何创建索引和查询向量,请参阅创建索引和查询向量。
调优向量查询性能
您可以调优索引,以在每秒查询次数 (QPS) 与查询召回率之间取得平衡。如需详细了解如何调优索引,请参阅调优向量查询性能。
生成嵌入和文本预测
AlloyDB AI 使用 google_ml_integration
扩展程序通过两个函数扩展 PostgreSQL 语法,用于查询模型:
调用预测以在事务中使用 SQL 调用模型。
生成嵌入以使 LLM 将文本提示转换为数值向量。
您可以使用
embedding()
函数查询 Vertex AI 模型,而google_ml.embedding()
函数可用于查询已注册的 Vertex AI 模型、托管模型和第三方模型。然后,您可以将这些向量嵌入作为输入应用于
pgvector
函数。其中包括根据文本样本的相对语义距离对其进行比较和排序的方法。
将云端模型与 Vertex AI 搭配使用
您可以将 AlloyDB Omni 配置为与 Vertex AI 搭配使用。
这会为您的应用带来以下优势:
您的应用可以使用 Vertex AI Model Garden 中存储的任何可访问的模型来调用预测。
您的应用可以使用
textembedding-gecko
英语模型 LLM 生成嵌入。