监控亚马逊 SageMaker 人工智能
亚马逊 SageMaker AI提供基于基础模型构建、训练和部署生成式人工智能应用程序的能力。 本指南将向您展示如何使用Amazon SageMaker AI端点与 OpenLLMetry 对应用程序进行监控,并将遥测数据发送至 Instana。
先决条件
确保满足下列先决条件:
- Python 3.8 或之后
- Amazon Web Services ( AWS ) 凭据,具有 SageMaker 访问权限
- 已部署的 SageMaker 人工智能端点
- 启用了生成式人工智能可观测性的 Instana 后端账户
- 代理模式与无代理模式入门指南评审
为您的亚马逊 SageMaker 人工智能应用程序添加监控工具
安装必需的软件包。
pip install boto3 pandas numpy traceloop-sdk导出您的 AWS 凭据。
export AWS_ACCESS_KEY_ID="<your-access-key-id>" export AWS_SECRET_ACCESS_KEY="<your-secret-access-key>"要创建或管理 AWS 访问密钥,请参阅 Amazon IAM 文档。
创建一个名为 Python 的文件,内容如下:
import boto3 from traceloop.sdk import Traceloop from traceloop.sdk.decorators import workflow import pandas as pd # Initialize OpenLLMetry Traceloop.init(app_name="sagemaker_example", disable_batch=True) # Initialize SageMaker Runtime client runtime = boto3.Session().client('sagemaker-runtime', region_name="us-east-1") @workflow(name="sagemaker_example") def invoke_sagemaker_endpoint(endpoint): # Sample input data (1 row with 12 features) X_test = [[1, 8.2, 10.5, 1.5, 9.6, 1.3, 11.2, 2.9, 100, 11, 12.0, 13]] # Convert data to CSV format df = pd.DataFrame(X_test) csv_input = df.to_csv(index=False, header=False) csv_bytes = csv_input.encode('utf-8') # Invoke the SageMaker endpoint response = runtime.invoke_endpoint( EndpointName=endpoint, ContentType='text/csv', Body=csv_bytes ) # Read and decode the prediction result return response['Body'].read().decode('utf-8') # Replace with your SageMaker endpoint name invoke_sagemaker_endpoint('<sagemaker-endpoint>')注意: 输入数据格式取决于您部署的模型要求。 根据您的具体模型调整数据结构。运行您的亚马逊 SageMaker 人工智能应用程序。
python3 sagemaker_app.py该应用程序将向您的 SageMaker AI端点发送数据,并显示预测结果。 OpenLLMetry 自动捕获每个端点调用的跟踪信息,并将其发送至 Instana。
查看 Instana 上的数据。
运行应用程序后,数据将显示在 Instana 生成式AI可观测性仪表板中,呈现以下内容:
- 端点名称
- 请求和响应负载
- 推理延迟
- 错误信息(如有)
故障诊断
对于常见问题(如轨迹未显示或连接错误),请参阅故障排除指南。
认证错误数
若遇到身份验证错误:
- 检查您的 AWS 凭据是否设置正确
- 检查您的IAM用户是否具备必要的 SageMaker 权限
- 请确保您的凭证未过期
- 请确认 AWS 区域与您的端点所在区域一致
未找到端点错误
若遇到端点未找到的错误:
- 验证端点名称是否正确
- 检查端点是否已部署且处于 "InService" 状态
- 请确保该端点与您的客户端配置位于同一区域
- 请确认您的IAM策略
sagemaker:InvokeEndpoint包含相应权限
模型输入错误
若遇到模型输入错误:
- 验证输入数据格式是否符合模型的预期
- 检查内容类型是否符合您的模型要求
- 确保数据类型和维度正确
- 在 SageMaker 控制台中检查模型的输入模式
后续步骤
- 探索由 Instana 支持的LLM供应商
- 了解您的人工智能使用成本计算
- 为您的亚马逊 SageMaker 人工智能端点调用设置警报
- 查看亚马逊 SageMaker 人工智能文档