【RAG】【embeddings42】Amazon SageMaker 嵌入端点集成案例

张开发
2026/4/6 11:31:20 15 分钟阅读

分享文章

【RAG】【embeddings42】Amazon SageMaker 嵌入端点集成案例
案例目标本案例展示如何通过 LlamaIndex 与 Amazon SageMaker 嵌入端点进行交互实现文本向量化功能。Amazon SageMaker 端点是一种完全托管的资源支持部署机器学习模型对新数据进行预测。通过本案例您将学习如何配置和连接到 Amazon SageMaker 嵌入端点使用 SageMakerEmbedding 类生成文本嵌入向量处理单个和批量文本的向量化请求验证嵌入向量的维度和数值技术栈与核心依赖llama-index-embeddings-sagemaker-endpoint Amazon SageMaker AWS SDK (boto3) Python 3.7核心组件说明SageMakerEmbedding- LlamaIndex 中用于与 Amazon SageMaker 嵌入端点交互的类SageMaker Endpoint- Amazon 提供的完全托管的机器学习模型部署服务AWS Credentials- 用于访问 AWS 服务的身份验证信息环境配置1. 安装依赖pip install llama-index-embeddings-sagemaker-endpointpip install llama-index2. 准备 SageMaker 嵌入端点在使用本案例之前您需要在 AWS 控制台中创建一个 SageMaker 嵌入端点获取端点名称和区域信息配置适当的 AWS 访问凭证3. 配置 AWS 凭证您可以通过以下两种方式配置 AWS 凭证方式一使用 AWS 配置文件from llama_index.embeddings.sagemaker_endpoint import SageMakerEmbeddingENDPOINT_NAME -YOUR-ENDPOINT-NAME-PROFILE_NAME -YOUR-PROFILE-NAME-embed_model SageMakerEmbedding(endpoint_nameENDPOINT_NAME, profile_namePROFILE_NAME)方式二直接传递凭证参数from llama_index.embeddings.sagemaker_endpoint import SageMakerEmbeddingENDPOINT_NAME -YOUR-ENDPOINT-NAME-AWS_ACCESS_KEY_ID -YOUR-AWS-ACCESS-KEY-ID-AWS_SECRET_ACCESS_KEY -YOUR-AWS-SECRET-ACCESS-KEY-AWS_SESSION_TOKEN -YOUR-AWS-SESSION-TOKEN-REGION_NAME -YOUR-ENDPOINT-REGION-NAME-embed_model SageMakerEmbedding(endpoint_nameENDPOINT_NAME,aws_access_key_idAWS_ACCESS_KEY_ID,aws_secret_access_keyAWS_SECRET_ACCESS_KEY,aws_session_tokenAWS_SESSION_TOKEN,region_nameREGION_NAME,)案例实现1. 导入必要模块from llama_index.embeddings.sagemaker_endpoint import SageMakerEmbedding2. 初始化 SageMaker 嵌入模型# 使用凭证参数初始化embed_model SageMakerEmbedding(endpoint_nameENDPOINT_NAME,aws_access_key_idAWS_ACCESS_KEY_ID,aws_secret_access_keyAWS_SECRET_ACCESS_KEY,aws_session_tokenAWS_SESSION_TOKEN,region_nameREGION_NAME,)注意请将 ENDPOINT_NAME、AWS_ACCESS_KEY_ID 等占位符替换为您的实际值。3. 生成单个文本的嵌入embeddings embed_model.get_text_embedding(An Amazon SageMaker endpoint is a fully managed resource that enables the deployment of machine learning models, specifically LLM (Large Language Models), for making predictions on new data.)4. 检查嵌入结果# 查看嵌入向量的前5个值embeddings[:5]# 输出示例: [0.021565623581409454, 0.019147753715515137, -0.056700449436903, -0.022435730323195457, -0.03930153697729111]5. 生成批量文本的嵌入embeddings embed_model.get_text_embedding_batch([An Amazon SageMaker endpoint is a fully managed resource that enables the deployment of machine learning models,Sagemaker is integrated with llamaIndex,])# 检查结果数量len(embeddings)# 输出: 2案例效果本案例成功实现了以下功能成功连接到 Amazon SageMaker 嵌入端点生成了高质量的文本嵌入向量展示了单个和批量文本的向量化处理验证了嵌入向量的维度和数值范围输出示例# 单个文本嵌入向量的前5个值[0.021565623581409454, 0.019147753715515137, -0.056700449436903, -0.022435730323195457, -0.03930153697729111]# 批量文本嵌入结果数量2案例实现思路本案例的实现遵循以下思路环境准备安装必要的依赖库配置 AWS 凭证模型初始化使用 SageMakerEmbedding 类初始化嵌入模型指定端点名称和凭证单文本处理使用 get_text_embedding 方法对单个文本进行向量化批量文本处理使用 get_text_embedding_batch 方法对多个文本进行批量向量化结果验证检查嵌入向量的维度和数值确保结果正确关键点Amazon SageMaker 提供完全托管的机器学习模型部署服务简化了模型部署和扩展支持两种凭证配置方式AWS 配置文件和直接传递凭证参数API 设计简洁与 LlamaIndex 框架无缝集成支持单个和批量文本处理提高处理效率扩展建议基于本案例您可以进行以下扩展向量存储将生成的嵌入向量存储到向量数据库如 Amazon OpenSearch Service中构建语义搜索系统相似度计算使用生成的向量计算文本之间的相似度实现文档聚类或推荐系统异步处理对于大规模文本处理可以使用异步方法提高处理效率缓存机制实现嵌入向量缓存避免重复计算相同文本的向量模型优化根据特定需求使用 SageMaker 模型优化功能如模型量化、蒸馏提高性能端点扩展使用 SageMaker 多模型端点功能在一个端点部署多个嵌入模型监控与日志集成 Amazon CloudWatch 监控端点性能使用 SageMaker 模型监控跟踪模型质量总结本案例成功展示了如何使用 LlamaIndex 集成 Amazon SageMaker 嵌入端点实现文本向量化功能。Amazon SageMaker 端点作为一种完全托管的资源使机器学习模型的部署和扩展变得更加简单。通过本案例您学会了如何配置和连接到 Amazon SageMaker 嵌入端点如何使用 SageMakerEmbedding 类初始化嵌入模型如何对单个和批量文本进行向量化处理如何验证嵌入向量的维度和数值这些技能为构建更复杂的 AI 应用程序如语义搜索、问答系统、文档检索等奠定了基础同时充分利用了 Amazon SageMaker 的托管服务优势。

更多文章