Jupyter AI 与 SageMaker 端点#
此演示展示了 Jupyter AI 为 Amazon SageMaker 提供的现成的 IPython 魔法命令。
首先,确保您在启动 JupyterLab 之前,或者在 JupyterLab 内使用 %env
魔法命令时,已设置好 AWS_ACCESS_KEY_ID
和 AWS_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-1
或 eu-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?
[ ]: