返回资讯列表

AWS推出Amazon OpenSearch无服务器向量数据库,简化AI应用开发

亚马逊云科技发布OpenSearch无服务器向量数据库服务,提供全托管、自动扩展的向量搜索能力,加速生成式AI和机器学习应用开发

2024/6/10
2035 浏览量
数据库
AWS推出Amazon OpenSearch无服务器向量数据库,简化AI应用开发
#数据库 #向量搜索 #生成式AI #无服务器 #OpenSearch

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无服务器向量数据库交互的代码示例:

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定价页面查看。

可用区域

Amazon OpenSearch无服务器向量数据库现已在以下AWS区域推出:

  • 美国东部(弗吉尼亚北部、俄亥俄)
  • 美国西部(俄勒冈、加利福尼亚北部)
  • 欧洲(爱尔兰、法兰克福、伦敦、巴黎)
  • 亚太地区(东京、新加坡、悉尼)

更多区域将在未来几个月内陆续支持。

开始使用

开发者可以通过以下步骤开始使用Amazon OpenSearch无服务器向量数据库:

  1. 登录AWS管理控制台
  2. 导航至Amazon OpenSearch Service
  3. 选择"创建无服务器集合"
  4. 指定集合名称和向量索引配置
  5. 使用AWS SDK或API开始存储和查询向量数据

AWS还提供了全面的文档示例应用程序,帮助开发者快速上手。

结论

Amazon OpenSearch无服务器向量数据库代表了向量搜索技术的重大进步,为企业构建生成式AI应用提供了一个可扩展、高性能且经济实惠的解决方案。通过消除基础设施管理的复杂性,该服务使开发团队能够更快地构建和部署创新的AI应用,加速组织的AI转型之旅。

分享: