--- title: AWS推出Amazon OpenSearch无服务器向量数据库,简化AI应用开发 description: 亚马逊云科技发布OpenSearch无服务器向量数据库服务,提供全托管、自动扩展的向量搜索能力,加速生成式AI和机器学习应用开发 category: database date: 2024-06-10 tags: ['数据库', '向量搜索', '生成式AI', '无服务器', 'OpenSearch'] author: AWS数据库服务团队 image: /images/awsnews/opensearch-vectordb.jpg views: 2035 trending: true featured: true --- # AWS推出Amazon OpenSearch无服务器向量数据库,简化AI应用开发 亚马逊云科技(AWS)今日宣布推出Amazon OpenSearch无服务器向量数据库服务,这是一项全托管的无服务器向量搜索解决方案,旨在简化生成式AI和机器学习应用程序的开发。该服务使开发者能够轻松存储、搜索和检索向量嵌入,无需管理底层基础设施。 ## 向量数据库的关键作用 向量数据库在现代AI应用开发中扮演着关键角色: - 提供高效存储和检索向量嵌入的能力 - 支持语义搜索和相似性匹配 - 为大型语言模型(LLMs)提供知识检索基础 - 实现RAG(检索增强生成)架构的核心组件 随着生成式AI应用的普及,向量数据库需求激增,但传统解决方案通常需要复杂的集群管理和性能调优。Amazon OpenSearch无服务器向量数据库消除了这些障碍,使团队能够专注于应用程序逻辑而非基础设施管理。 ## 服务亮点与优势 Amazon OpenSearch无服务器向量数据库提供多项关键优势: 1. **零基础设施管理** - 完全托管服务,无需预置或管理服务器 2. **自动扩展** - 根据工作负载自动调整容量 3. **高性能** - 针对向量搜索优化的索引和查询性能 4. **成本效益** - 仅为实际使用的资源付费 5. **无缝集成** - 与AWS AI/ML服务生态系统集成 6. **企业级安全** - 内置加密、访问控制和审计功能 ## 技术特性 该服务包含多项专为向量搜索优化的技术特性: - **多种相似性算法** - 支持欧几里得距离、内积、余弦相似度等 - **高维向量支持** - 处理最多16,384维的向量嵌入 - **混合查询** - 结合向量搜索和传统文本搜索 - **KNN(k最近邻)和ANN(近似最近邻)算法** - **过滤器和元数据支持** - 高级查询细化功能 - **多种访问方式** - REST API、SDK和SQL支持 ## 应用场景 Amazon OpenSearch无服务器向量数据库适用于多种AI应用场景: - **智能文档搜索** - 语义理解文档内容并提供相关搜索结果 - **知识管理系统** - 构建能理解查询意图的企业知识库 - **推荐系统** - 基于语义相似性提供个性化推荐 - **聊天机器人知识库** - 为AI助手提供上下文相关的回答 - **多模态搜索** - 文本、图像等跨模态数据的相似性搜索 - **欺诈检测** - 识别异常交易模式 ## 客户案例:医疗信息检索 某领先医疗保健提供商使用Amazon OpenSearch无服务器向量数据库重新设计了其信息检索系统: > "我们的医疗AI助手需要快速访问数百万份医学文献和临床指南。使用Amazon OpenSearch无服务器向量数据库后,我们不仅能提供更准确的医学信息检索,还将查询延迟减少了60%。最重要的是,我们的团队不再需要管理复杂的搜索基础设施,可以专注于改进医疗AI应用体验。" > — 某医疗科技公司首席技术官 ## 代码示例:向量搜索实现 以下是使用Python SDK与Amazon OpenSearch无服务器向量数据库交互的代码示例: ```python 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无服务器向量数据库采用真正的按使用量付费模式: 1. **OCU小时** - OpenSearch计算单元的使用时间 2. **存储成本** - 向量数据和索引存储量 3. **数据传输** - 进出服务的数据流量 无最低费用或预先承诺,使企业能够灵活扩展使用量。详细价格信息可在[Amazon OpenSearch Service定价页面](https://aws.amazon.com/opensearch-service/pricing/)查看。 ## 可用区域 Amazon OpenSearch无服务器向量数据库现已在以下AWS区域推出: - 美国东部(弗吉尼亚北部、俄亥俄) - 美国西部(俄勒冈、加利福尼亚北部) - 欧洲(爱尔兰、法兰克福、伦敦、巴黎) - 亚太地区(东京、新加坡、悉尼) 更多区域将在未来几个月内陆续支持。 ## 开始使用 开发者可以通过以下步骤开始使用Amazon OpenSearch无服务器向量数据库: 1. 登录AWS管理控制台 2. 导航至Amazon OpenSearch Service 3. 选择"创建无服务器集合" 4. 指定集合名称和向量索引配置 5. 使用AWS SDK或API开始存储和查询向量数据 AWS还提供了全面的[文档](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vector-search.html)和[示例应用程序](https://github.com/aws-samples/opensearch-serverless-vector-search),帮助开发者快速上手。 ## 结论 Amazon OpenSearch无服务器向量数据库代表了向量搜索技术的重大进步,为企业构建生成式AI应用提供了一个可扩展、高性能且经济实惠的解决方案。通过消除基础设施管理的复杂性,该服务使开发团队能够更快地构建和部署创新的AI应用,加速组织的AI转型之旅。