引言
在当今高度重视可持续发展的时代,亚马逊通过其 Bedrock 模型,展示了公司在运营和增长方面的战略愿景。同时,Amazon SageMaker 为机器学习领域的专业人士提供了强大的工具,加速了模型的开发和部署。
探索亚马逊的 Bedrock 模型
Bedrock 模型是亚马逊制定的一套战略框架,旨在引领公司的运营和未来发展。该模型体现了亚马逊对环境责任的承诺,包括:
- 实现碳中和:致力于在运营中达到零碳排放。
- 转向可再生能源:积极采用可再生能源,以减少对化石燃料的依赖。
- 参与气候宣言:加入全球性的气候行动倡议,共同应对环境挑战。
- 全面的可持续发展举措:在各个业务层面实施可持续发展的策略。
- 投资创新与合作:通过技术创新和合作伙伴关系,推动可持续性的进步。
了解 Amazon SageMaker
Amazon SageMaker 是一项全托管的机器学习服务,旨在简化模型的构建、训练和部署过程。对于开发者和数据科学家而言,SageMaker 提供了以下优势:
- 快速构建和训练模型:提供预配置的环境和工具,加速模型开发。
- 无缝部署到生产环境:模型可以迅速部署到托管的生产环境,缩短产品上市时间。
- 简化复杂流程:消除了机器学习流程中的繁琐步骤,使开发高质量模型变得更加容易。
- 全天候可用性:作为全托管服务,SageMaker 无需担心维护窗口或计划停机。
- 安全的存储和保护:代码存储在受安全组保护的机器学习存储卷中,并在静态时进行加密。
- 数据隐私保障:SageMaker 不会使用或共享客户的模型、训练数据和算法,确保数据的安全和隐私。
通过结合亚马逊的 Bedrock 模型和 Amazon SageMaker,企业可以在追求可持续发展的同时,加速人工智能和机器学习领域的创新。
架构图
确认您对 Bedrock 模型的访问权限
为了确保您能够顺利使用 Bedrock 模型,请按照以下步骤进行验证:
-
进入 Amazon Bedrock 服务:在 AWS 控制台顶部,点击“服务”菜单。在展开的选项中,找到“机器学习”部分,选择其中的“Amazon Bedrock”。
-
设置正确的区域:请确保您的区域已设置为“美国东部(弗吉尼亚北部)us-east-1”,这是 Bedrock 服务可用的区域。
-
访问模型权限设置:在控制台左侧的导航面板中,展开菜单选项,点击“模型访问”。
-
检查 Anthropic Claude 模型:向下滚动页面,找到名为“Anthropic Claude”的模型,确认您已被授予该模型的访问权限。
通过以上步骤,您就能验证自己是否具有使用 Bedrock 模型的必要权限。
创建 Amazon SageMaker Notebook 实例
要在 Amazon SageMaker 中创建一个 Notebook 实例,请按照以下步骤操作:
-
访问 Amazon SageMaker 服务:登录 AWS 控制台后,点击顶部的“服务”菜单。在“机器学习”类别中,选择 Amazon SageMaker。
-
设置区域:确保您的 AWS 区域已设置为 美国东部(弗吉尼亚北部)us-east-1,这是 SageMaker 服务可用的区域。
-
导航到 Notebook 实例:在左侧导航栏中,展开 “Notebook” 部分,然后点击 “Notebook 实例”。
-
开始创建实例:点击页面上的 “创建 Notebook 实例” 按钮,进入实例配置页面。
-
配置实例设置:
- 实例名称:在 “Notebook 实例名称” 字段中输入
whiz-sagemaker-instance
。 - 实例类型:从下拉菜单中选择
ml.t2.medium
。 - 其他选项:保持默认设置,无需修改。
- 实例名称:在 “Notebook 实例名称” 字段中输入
-
设置权限和加密:
- IAM 角色:在 “权限和加密” 部分,选择 “使用现有角色”,然后从下拉列表中选择
SageMakerRole
。 - 其他选项:继续使用默认值。
- IAM 角色:在 “权限和加密” 部分,选择 “使用现有角色”,然后从下拉列表中选择
-
完成创建:确认所有配置无误后,点击页面底部的 “创建 Notebook 实例” 按钮。
-
等待实例启动:创建请求提交后,新的 Notebook 实例会显示为 “pending”(等待中) 状态。大约需要 5 分钟,状态会更新为 “InService”(服务中),表示实例已成功启动。
完成以上步骤后,您的 Amazon SageMaker Notebook 实例就已准备就绪,您可以开始使用它来开发和运行机器学习模型。
启动并使用 Jupyter Notebook 实例
为了在 Amazon SageMaker 中使用 Jupyter Notebook,请按照以下步骤操作:
-
访问 Jupyter 界面:在您的 Notebook 实例列表中,找到 “操作” 列,然后点击其中的 “Open Jupyter” 链接。
-
进入 Notebook 环境:点击链接后,系统会在新的浏览器标签页中将您带入 Jupyter Notebook 的工作环境。
-
准备运行 Python 代码:进入 Jupyter 后,您需要在 Notebook 中执行 Python 代码,这是接下来的主要任务。
-
创建新 Notebook:在 Jupyter 界面中,点击右侧的 “New” 按钮。在下拉菜单中,选择 “Conda_python3”,以创建一个新的 Python 3 Notebook 环境。
通过以上步骤,您已经成功打开并设置了 Jupyter Notebook 实例,现在可以开始编写和运行您的 Python 代码。
使用 Amazon Bedrock 生成 SQL 代码
接下来,我们将通过 Amazon Bedrock 服务,利用 Antropic Claude V2 模型来生成 SQL 查询。请按照以下步骤操作:
步骤一:在 Jupyter Notebook 中执行初始代码
-
粘贴并运行第一段代码:在 Jupyter Notebook 的第一个单元格中,粘贴提供的代码,然后执行。
import json import os import sys import boto3 import botocore boto3_bedrock = boto3.client('bedrock-runtime')
-
观察执行状态:点击运行后,如果单元格左侧显示星号(
*
),表示代码正在运行。 -
确认代码执行完成:当星号变为数字(如
[1]
)时,说明代码已成功执行。
步骤二:准备 Amazon Bedrock 的输入
-
配置输入参数:在下一个单元格中,粘贴新的代码。这段代码将为 Amazon Bedrock 服务准备输入,以便根据您的用例生成 SQL 查询。
# create the prompt to generate SQL query prompt_data = """ Human: AnyCompany has a database with a table named sales_data containing sales records. The table has following columns: - date (YYYY-MM-DD) - product_id - price - units_sold Can you generate SQL queries for the below: - Identify the top 5 best selling products by total sales for the year 2023 - Calculate the monthly average sales for the year 2023 Assistant: """
-
运行配置代码:执行该单元格,确保输入参数已正确设置。
步骤三:初始化 Antropic Claude V2 模型
-
加载模型代码:在新的单元格中,粘贴用于启动 Antropic Claude V2 模型的代码。
# Claude - Body Syntax body = json.dumps({ "prompt": prompt_data, "max_tokens_to_sample": 4096, "temperature": 0.5, "top_k": 250, "top_p": 0.5, "stop_sequences": ["\n\nHuman:"] })
-
执行模型初始化:运行该单元格,模型将开始加载并准备就绪。
步骤四:生成 SQL 查询语句
-
调用生成代码:在下一个单元格中,粘贴最后一段代码,用于调用模型生成 SQL。
modelId = 'anthropic.claude-v2' # Change this to use a different version from the model provider accept = 'application/json' contentType = 'application/json' response = boto3_bedrock.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType) response_body = json.loads(response.get('body').read()) print(response_body.get('completion'))
-
执行并获取结果:运行该单元格,模型将根据您提供的任务和数据库模式生成相应的 SQL 语句。
-
查看生成的 SQL:执行完成后,您将在输出区域看到生成的 SQL 查询语句,可直接用于您的项目。
通过以上步骤,您已成功使用 Amazon Bedrock 服务和 Antropic Claude V2 模型生成了所需的 SQL 代码。这种方法简化了 SQL 查询的编写过程,提高了开发效率。
总结
本文讲述了如何使用亚马逊的 Bedrock 模型和 Amazon SageMaker 服务来自动生成 SQL 查询。通过验证对 Bedrock 模型的访问权限、创建 SageMaker Notebook 实例并启动 Jupyter Notebook,用户可以运行 Python 代码,设置输入参数,初始化 Antropic Claude V2 模型。最终,利用该模型生成了所需的 SQL 语句,实现了开发流程的自动化和高效化。