Jupyter AI 与 SageMaker 端点#

此演示展示了 Jupyter AI 为 Amazon SageMaker 提供的现成的 IPython 魔法命令。

首先,确保您在启动 JupyterLab 之前,或者在 JupyterLab 内使用 %env 魔法命令时,已设置好 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 环境变量。

然后,加载 IPython 扩展:

[1]:
%load_ext jupyter_ai

Jupyter AI 支持通过使用 JSON API 的 SageMaker 端点托管的语言模型。通过 boto3 SDK 使用 AWS 进行身份验证,并将凭据存储在 default 配置文件中。有关如何进行身份验证的指导,请参见 `boto3 文档 <https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html>`__。

您需要在 SageMaker 中部署一个模型,然后将其作为模型名称提供(格式为 sagemaker-endpoint:my-model-name)。有关如何部署 JumpStart 模型的文档,请参阅 JumpStart 模型部署文档

所有 SageMaker 端点请求都需要您指定 --region-name--request-schema--response-path 选项。

--region-name 参数设置为 AWS 区域代码,例如 us-east-1eu-west-1

--request-schema 参数是端点期望输入的 JSON 对象,其中提示文本会被替换为匹配字符串字面量 "<prompt>" 的任何值。例如,请求模式 {"text_inputs":"<prompt>"} 将提交一个 JSON 对象,其提示存储在 text_inputs 键下。

--response-path 选项是一个 JSONPath 字符串,用于从端点的 JSON 响应中检索语言模型的输出。例如,如果您的端点返回一个包含模式 {"generated_texts":["<output>"]} 的对象,则其响应路径为 generated_texts.[0]

[2]:
%%ai sagemaker-endpoint:jumpstart-dft-hf-text2text-flan-t5-xl --region-name=us-east-1 --request-schema={"text_inputs":"<prompt>"} --response-path=generated_texts.[0]
Generate a question about weather today.

[2]:

What is the weather like in the US today?

[ ]: