AWS推出Amazon OpenSearch无服务器向量数据库,简化AI应用开发
亚马逊云科技(AWS)今日宣布推出Amazon OpenSearch无服务器向量数据库服务,这是一项全托管的无服务器向量搜索解决方案,旨在简化生成式AI和机器学习应用程序的开发。该服务使开发者能够轻松存储、搜索和检索向量嵌入,无需管理底层基础设施。
向量数据库的关键作用
向量数据库在现代AI应用开发中扮演着关键角色:
- 提供高效存储和检索向量嵌入的能力
- 支持语义搜索和相似性匹配
- 为大型语言模型(LLMs)提供知识检索基础
- 实现RAG(检索增强生成)架构的核心组件
随着生成式AI应用的普及,向量数据库需求激增,但传统解决方案通常需要复杂的集群管理和性能调优。Amazon OpenSearch无服务器向量数据库消除了这些障碍,使团队能够专注于应用程序逻辑而非基础设施管理。
服务亮点与优势
Amazon OpenSearch无服务器向量数据库提供多项关键优势:
- 零基础设施管理 - 完全托管服务,无需预置或管理服务器
- 自动扩展 - 根据工作负载自动调整容量
- 高性能 - 针对向量搜索优化的索引和查询性能
- 成本效益 - 仅为实际使用的资源付费
- 无缝集成 - 与AWS AI/ML服务生态系统集成
- 企业级安全 - 内置加密、访问控制和审计功能
技术特性
该服务包含多项专为向量搜索优化的技术特性:
- 多种相似性算法 - 支持欧几里得距离、内积、余弦相似度等
- 高维向量支持 - 处理最多16,384维的向量嵌入
- 混合查询 - 结合向量搜索和传统文本搜索
- KNN(k最近邻)和ANN(近似最近邻)算法
- 过滤器和元数据支持 - 高级查询细化功能
- 多种访问方式 - REST API、SDK和SQL支持
应用场景
Amazon OpenSearch无服务器向量数据库适用于多种AI应用场景:
- 智能文档搜索 - 语义理解文档内容并提供相关搜索结果
- 知识管理系统 - 构建能理解查询意图的企业知识库
- 推荐系统 - 基于语义相似性提供个性化推荐
- 聊天机器人知识库 - 为AI助手提供上下文相关的回答
- 多模态搜索 - 文本、图像等跨模态数据的相似性搜索
- 欺诈检测 - 识别异常交易模式
客户案例:医疗信息检索
某领先医疗保健提供商使用Amazon OpenSearch无服务器向量数据库重新设计了其信息检索系统:
"我们的医疗AI助手需要快速访问数百万份医学文献和临床指南。使用Amazon OpenSearch无服务器向量数据库后,我们不仅能提供更准确的医学信息检索,还将查询延迟减少了60%。最重要的是,我们的团队不再需要管理复杂的搜索基础设施,可以专注于改进医疗AI应用体验。"
— 某医疗科技公司首席技术官
代码示例:向量搜索实现
以下是使用Python SDK与Amazon OpenSearch无服务器向量数据库交互的代码示例:
import boto3
import numpy as np
from opensearchpy import OpenSearch, RequestsHttpConnection
from requests_aws4auth import AWS4Auth
# 连接到Amazon OpenSearch无服务器向量数据库
region = 'us-east-1'
service = 'aoss'
credentials = boto3.Session().get_credentials()
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key,
region, service, session_token=credentials.token)
host = 'your-collection-endpoint.us-east-1.aoss.amazonaws.com'
client = OpenSearch(
hosts = [{'host': host, 'port': 443}],
http_auth = awsauth,
use_ssl = True,
verify_certs = True,
connection_class = RequestsHttpConnection
)
# 创建向量索引
index_name = 'product-embeddings'
index_body = {
'settings': {
'index.knn': True
},
'mappings': {
'properties': {
'product_name': {'type': 'text'},
'description': {'type': 'text'},
'category': {'type': 'keyword'},
'price': {'type': 'float'},
'embedding': {
'type': 'knn_vector',
'dimension': 768,
'method': {
'name': 'hnsw',
'space_type': 'cosinesimil',
'engine': 'nmslib'
}
}
}
}
}
client.indices.create(index=index_name, body=index_body)
# 存储文档和向量嵌入
doc = {
'product_name': '高性能笔记本电脑',
'description': '最新一代处理器,16GB内存,512GB SSD存储',
'category': '电子产品',
'price': 1299.99,
'embedding': np.random.random(768).tolist() # 实际应用中应该是从嵌入模型获取的向量
}
client.index(index=index_name, body=doc, id='1')
# 执行向量搜索查询
query_vector = np.random.random(768).tolist() # 实际应用中是查询文本的向量表示
search_query = {
'size': 5,
'query': {
'knn': {
'embedding': {
'vector': query_vector,
'k': 5
}
}
}
}
response = client.search(index=index_name, body=search_query)
print(response['hits']['hits'])
与其他AWS服务集成
Amazon OpenSearch无服务器向量数据库与AWS生态系统无缝集成:
- Amazon Bedrock - 与基础模型服务协同工作
- Amazon SageMaker - 处理向量嵌入生成和模型训练
- AWS Lambda - 构建无服务器AI应用程序
- Amazon Kendra - 增强企业搜索功能
- Amazon Comprehend - 提取文本见解和实体
- AWS Glue - 数据提取和向量转换
定价模式
Amazon OpenSearch无服务器向量数据库采用真正的按使用量付费模式:
- OCU小时 - OpenSearch计算单元的使用时间
- 存储成本 - 向量数据和索引存储量
- 数据传输 - 进出服务的数据流量
无最低费用或预先承诺,使企业能够灵活扩展使用量。详细价格信息可在Amazon OpenSearch Service定价页面查看。
可用区域
Amazon OpenSearch无服务器向量数据库现已在以下AWS区域推出:
- 美国东部(弗吉尼亚北部、俄亥俄)
- 美国西部(俄勒冈、加利福尼亚北部)
- 欧洲(爱尔兰、法兰克福、伦敦、巴黎)
- 亚太地区(东京、新加坡、悉尼)
更多区域将在未来几个月内陆续支持。
开始使用
开发者可以通过以下步骤开始使用Amazon OpenSearch无服务器向量数据库:
- 登录AWS管理控制台
- 导航至Amazon OpenSearch Service
- 选择"创建无服务器集合"
- 指定集合名称和向量索引配置
- 使用AWS SDK或API开始存储和查询向量数据
AWS还提供了全面的文档和示例应用程序,帮助开发者快速上手。
结论
Amazon OpenSearch无服务器向量数据库代表了向量搜索技术的重大进步,为企业构建生成式AI应用提供了一个可扩展、高性能且经济实惠的解决方案。通过消除基础设施管理的复杂性,该服务使开发团队能够更快地构建和部署创新的AI应用,加速组织的AI转型之旅。