选择合适数据库的重要考虑因素
关键要点
在选择适合生成性人工智能AI应用的数据库时,需考虑多个关键因素,如熟悉度、易实现性、可扩展性和性能。在云计算的快速发展背景下,向您推荐具有向量存储和搜索功能的数据库,以实现最佳性能和灵活性。
在这篇文章中,我们将深入探讨在 AWS 上选择适合生成性 AI 应用的数据库时需要考虑的高层次因素,以及如何根据具体需求做出明智的决策。
检索增强生成RAG
检索增强生成Retrieval Augmented Generation (RAG)是一种优化大型语言模型LLM生成输出的过程,该过程在生成响应之前会参考外部权威知识库。通过数据库的支持,LLM 可以扩展到特定领域或组织的内部知识库,而无需重新训练模型,这种方法在多种上下文中显得高效且实用。
RAG 流程的关键步骤如下:1 处理数据源以创建文档块,使用嵌入模型例如 Amazon Titan Text Embeddings V2将文本转换为称为“嵌入”embeddings的数值表示。这些嵌入捕捉文本的语义意义,并存储在使用向量搜索优化的数据库中。2 用户输入被转换为嵌入,通过 semantic search 在数据库中进行检索,获取与查询向量相近的 topk 文档块,这些块作为后续生成步骤的上下文。3 经过增强的提示引入 FM如 Anthropic Claude 3生成更具信息性和上下文适切性的响应。
在选择用于 RAG 的数据库时,首先要考虑的是该数据库是否适合您的用例。本文将简化讨论,专注于具有向量搜索功能的数据库选择决策过程。
AWS上的向量搜索
截至目前,AWS 提供了以下数据库,这些数据库具备完整的向量功能,包括向量存储、检索、索引和搜索: 数据库 描述 Amazon Aurora PostgreSQLCompatible Edition 完全托管的关系数据库,支持 pgvector 扩展。 Amazon OpenSearch Service 完全托管的服务,提供 OpenSearch 支持的向量搜索。 Amazon Neptune Analytics 分析图数据库引擎,支持向量搜索与图结合。 Amazon DocumentDB MongoDB 兼容的文档数据库,支持向量搜索。 Amazon MemoryDB 内存数据库,提供快速的向量搜索性能。 Amazon DynamoDB 惠及零 ETL 集成与 OpenSearch 服务的高级搜索能力。
一元加速器网址接下来的部分详述了选择适用于生成性 AI 应用的数据库时需要考虑的一些关键因素。
熟悉度
选择熟悉的技术将节省开发时间并降低复杂性。如果您的开发团队已经熟悉某种数据库引擎,可以利用现有知识实现向量搜索,而无需学习新技能。例如,一个在 Aurora PostgreSQL 上管理多达 100 个关系数据库的团队,可以首先评估 pgvector 扩展。
相似地,如果团队处理图数据,也可以考虑使用 Neptune Analytics,它与现有 AWS 基础设施无缝集成。而在处理 JSON 文档且需要可扩展的全托管文档数据库的情况下,Amazon DocumentDB 提供了兼容且熟悉的MongoDB体验。
对于需要实时应用场景的经验丰富的 Redis OSS 团队,MemoryDB 也许是理想的选择。它允许团队在熟悉的接口上运作,同时享受 MemoryDB 的托管和可扩展能力。
实现的简易性
除了熟悉度之外,实际实施数据库的预期过程同样重要。流畅的集成过程能够减少干扰,加速数据库的价值实现。在这一部分,我们探讨如何在向量化、管理、访问控制、合规性和接口等核心实施重点领域评估数据库。

向量化: 实现的首要考虑因素是向数据库填充向量嵌入的过程。
管理: 日常管理也是整体实施中的重要考虑。如果选择会增加现有团队的工作负担,则应谨慎选择。
访问控制: 在集成向量搜索时,访问控制至关重要,需要评估潜在数据库的访问控制机制,以确保符合当前安全要求。
合规性: 确认所选数据库符合您应用的合规性需求非常重要。如果不满足则不应选择该数据库。
接口: 生成性 AI 应用如何与数据库交互是另一个实施考虑因素,用户友好的接口将极大提高可用性。
可扩展性
可扩展性是评估数据库的重要因素,确保生产应用高效运行而不间断。不同数据库的可扩展性体现在支持高维向量和大量嵌入的能力上。例如,Amazon Aurora Global Database 可为金融公司提供全球应用访问,确保高可用性。
性能
性能是另一个关键考虑因素。企业在处理大量高维向量数据时,能够以规模运行复杂的向量搜索显得至关重要。以下是评估数据库性能时需关注的几个特性: 吞吐量 每秒处理的查询数量 召回率 检索向量的相关性与完整性 索引构建时间 构建向量索引所需的时间 延迟 最大延迟应低于设定预算
结论
选择适合生成性 AI 应用的数据库至关重要。我们建议如果您已经在使用 OpenSearch Service、Aurora PostgreSQL、RDS for PostgreSQL、DocumentDB 或 MemoryDB,可以利用它们的向量搜索能力进行现有数据处理。生成性 AI 的发展速率很快,鼓励您测试不同的数据库服务,并根据数据未来的增长进行调整。
如有进一步的问题或需要帮助设计生成性 AI 的最佳解决计划,欢迎随时联系团队专家。
发表评论