我的数据存储在我的 DynamoDB 中,这些数据经常通过后端服务进行更新。现在我想创建一个基于 PG 向量的 AuroraDB 矢量数据库 用于存储 embeddings,我希望每当 DynamoDB 发生变化时自动更新。
我考虑过使用 EventBridge 但需要更多建议。
我的目标是每次 DynamoDB 中发生更改(Upsert)时创建新的嵌入并将它们存储在 PG 矢量数据库中。这样我就可以在最新嵌入上执行 RAG,因此 LLM 的答案必须是上下文感知的。
处于该功能的架构设计和构思阶段。
我不确定你的要求是否严格依赖于 pg_vector。
对我来说,我会使用 ZeroETL 和 OpenSearch(AOS),它会自动将数据的突变复制到 AOS 域中。然后,AOS 可以与 SageMaker 或 Bedrock 集成,在您想要嵌入的字段上生成嵌入。
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/OpenSearchIngestionForDynamoDB.html
如果您确实想使用 pg_vector,那么您可以将 DynamoDB 流与 Lambda 使用者一起使用,Lambda 将联系 SageMaker 或 Bedrock 并生成嵌入,然后将这些更改推送到 Aurora/RDS。