在 Spanner 部署模式下,RAG 引擎使用 RagManagedDb,这是一个适合企业的全托管式 Google Cloud Spanner 实例,供 Gemini Enterprise Agent Platform 上的 RAG 引擎用于资源存储。您可以选择将其用作 RAG 语料库的向量数据库。
通过 Spanner,RAG 引擎提供一致、高可用且高度可伸缩的专用数据库来支持您的应用。如需详细了解 Google Cloud Spanner,请参阅 Spanner。
数据存储和向量搜索
无论您选择哪个向量数据库,RAG 引擎都会将 RAG 语料库和 RAG 文件资源元数据存储在 RagManagedDb 中。向量数据库仅用于存储和检索嵌入。除了资源存储之外,RagManagedDb 还可用于存储和管理文档的向量表示形式。然后,向量数据库会根据文档与给定查询的语义相似度检索相关文档。
可用层级
RAG 引擎允许您根据用量和性能要求,使用两个层级中的一个来扩缩 RagManagedDb 实例。您还可以使用第三个层级来删除 RAG 引擎数据。
层级是 RagEngineConfig 资源中提供的项目级设置,会影响使用 RagManagedDb 的 RAG 语料库。RagEngineConfig 中提供以下层级:
扩缩层级: 此层级提供生产规模的性能以及自动扩缩功能。它适用于处理大量数据或对性能要求较高的工作负载的客户。在内部,此层级会将 Spanner 实例设置为自动扩缩配置,最少 1 个节点(1,000 个处理单元),最多 10 个节点(10,000 个处理单元)。
基本层级(默认): 此层级具有成本效益,计算层级较低,可能适用于以下某些情况:
- 试用
RagManagedDb - 数据量较小
- 对延迟不敏感的工作负载
- 仅将 RAG 引擎与其他向量数据库搭配使用
- 试用
为了提供基本层级,RagManagedDb 将底层 Spanner 实例设置为 100 个处理单元的固定配置,相当于 0.1 个节点。
- 未预配层级: 此层级会删除
RagManagedDb及其底层 Spanner 实例。未预配层级会停用 RAG 引擎服务,并删除此服务中保存的数据,无论RagCorpora使用哪个向量数据库。这样会停止该服务的结算。如需详细了解结算,请参阅 Gemini Enterprise Agent Platform 上的 RAG 引擎结算。
数据删除后无法恢复。如需再次开始使用 RAG 引擎,您必须调用 UpdateRagEngineConfig API 更新层级,或将模式切换为无服务器模式。
管理层级
如需读取和更新层级,请使用 GetRagEngineConfig 和 UpdateRagEngineConfig API。如需查看有关如何使用这些 API 的代码示例,请参阅在模式之间切换页面。