配置您的模型提供商 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置您的模型提供商

注意

在本节中,我们假设您计划使用的语言和嵌入模型已经部署。对于提供的型号 Amazon,您应该已经拥有 SageMaker 终端节点的 ARN 或者可以访问 Amazon Bedrock。对于其他模型提供商,您应该使用 API 密钥来验证和授权向您的模型提出的请求。

Jupyter AI 支持各种模型提供程序和语言模型,请参阅其支持的模型列表以了解最新的可用模型。有关如何部署提供的模型的信息 JumpStart,请参阅 JumpStart 文档中的部署模型。您需要申请访问 Amazon Bedrock 才能将其用作您的模型提供商。

Jupyter AI 的配置会有所不同,具体取决于你使用的是聊天用户界面还是魔法命令。

在聊天界面中配置您的模型提供商

注意

您可以按照相同的说明配置多个 LLM 和嵌入模型。但是,您必须配置至少一种语言模型

配置聊天界面
  1. 在中 JupyterLab,通过选择左侧导航面板 中的聊天图标来访问聊天界面。

  2. 选择左侧窗格右上角的配置图标 。这将打开 Jupyter AI 配置面板。

  3. 填写与您的服务提供商相关的字段。

    • 适用于 JumpStart 或 Amazon Bedrock 提供的型号

      • 语言模型下拉列表中,选择sagemaker-endpoint使用 Amazon Bedrock 部署的模型 JumpStart 或bedrock由 Amazon Bedrock 管理的模型。

      • 根据您的模型部署在 Amazon Bedrock 上还是 Amazon Bedrock,参数会有所不同。 SageMaker

        • 对于使用以下设备部署的模型 JumpStart:

        • 对于由 Amazon Bedrock 管理的模型:在系统上添加存储您的 Amazon 凭证的 Amazon 配置文件(可选),然后 Amazon Web Services 区域 在区域名称中添加部署模型的配置文件。

      • (可选)选择您有权访问的嵌入模型。嵌入模型用于从本地文档中捕获更多信息,从而使文本生成模型能够在这些文档的上下文中回答问题。

      • 选择 “保存更改”,然后导航到左侧窗格左上角的向左箭头图标 。这将打开 Jupyter 人工智能聊天用户界面。您可以开始与您的模型进行交互了。

    • 适用于由第三方提供商托管的模型

      • 语言模型下拉列表中,选择您的提供商 ID。你可以在 Jupyter AI 的模型提供者列表中找到每个提供者的详细信息,包括他们的 ID。

      • (可选)选择您有权访问的嵌入模型。嵌入模型用于从本地文档中捕获更多信息,从而使文本生成模型能够在这些文档的上下文中回答问题。

      • 插入模型的 API 密钥。

      • 选择 “保存更改”,然后导航到左侧窗格左上角的向左箭头图标 。这将打开 Jupyter 人工智能聊天用户界面。您可以开始与您的模型进行交互了。

以下快照显示了聊天界面配置面板,该面板设置为调用由 JumpStart 提供并在中部署的 Flan-t5-Small 模型。 SageMaker

聊天界面配置面板设置为调用由提供的 Flan-t5-Small 模型。 JumpStart

将额外的模型参数和自定义参数传递给您的请求

您的模型可能需要额外的参数,例如用于用户协议批准的自定义属性或调整其他模型参数(例如温度或响应长度)。我们建议使用生命周期配置将这些设置配置为 JupyterLab应用程序的启动选项。有关如何创建生命周期配置并将其附加到您的域或从SageMaker 控制台附加到用户配置文件的信息,请参阅创建和关联生命周期配置。在为 JupyterLab 应用程序创建空间时,您可以选择 LCC 脚本。

使用以下 JSON 架构来配置您的额外参数

{ "AiExtension": { "model_parameters": { "<provider_id>:<model_id>": { Dictionary of model parameters which is unpacked and passed as-is to the provider.} } } } }

以下脚本是 JSON 配置文件的示例,您可以在创建 JupyterLab 应用程序 LCC 时使用该文件来设置部署在 Amazon Bedrock 上的 AI21 Labs Jurassic-2 模型的最大长度。增加模型生成的响应的长度可以防止模型的响应被系统地截断。

#!/bin/bash set -eux mkdir -p /home/sagemaker-user/.jupyter json='{"AiExtension": {"model_parameters": {"bedrock:ai21.j2-mid-v1": {"model_kwargs": {"maxTokens": 200}}}}}' # equivalent to %%ai bedrock:ai21.j2-mid-v1 -m {"model_kwargs":{"maxTokens":200}} # File path file_path="/home/sagemaker-user/.jupyter/jupyter_jupyter_ai_config.json" #jupyter --paths # Write JSON to file echo "$json" > "$file_path" # Confirmation message echo "JSON written to $file_path" restart-jupyter-server # Waiting for 30 seconds to make sure the Jupyter Server is up and running sleep 30

以下脚本是一个用于创建 JupyterLab 应用程序 LCC 的 JSON 配置文件示例,该文件用于为部署在 Amazon Bed rock 上的 Anthropic Claude 模型设置其他模型参数。

#!/bin/bash set -eux mkdir -p /home/sagemaker-user/.jupyter json='{"AiExtension": {"model_parameters": {"bedrock:anthropic.claude-v2":{"model_kwargs":{"temperature":0.1,"top_p":0.5,"top_k":25 0,"max_tokens_to_sample":2}}}}}' # equivalent to %%ai bedrock:anthropic.claude-v2 -m {"model_kwargs":{"temperature":0.1,"top_p":0.5,"top_k":250,"max_tokens_to_sample":2000}} # File path file_path="/home/sagemaker-user/.jupyter/jupyter_jupyter_ai_config.json" #jupyter --paths # Write JSON to file echo "$json" > "$file_path" # Confirmation message echo "JSON written to $file_path" restart-jupyter-server # Waiting for 30 seconds to make sure the Jupyter Server is up and running sleep 30

将 LCC 附加到域名或用户个人资料后,请在启动应用程序时将您的 LCC 添加到您的 JupyterLab 空间。要确保 LCC 更新您的配置文件,请在终端more ~/.jupyter/jupyter_jupyter_ai_config.json中运行。该文件的内容应与传递给 LCC 的 JSON 文件的内容相对应。

在笔记本电脑中配置您的模型提供商

使用和魔法命令通过 Studio Classic 笔记本电脑 JupyterLab 中的 Jupyter AI 调用模型 %%ai%ai
  1. 在您的笔记本环境中安装特定于您的模型提供商的客户端库。例如,在使用 OpenAI 模型时,您需要安装openai客户端库。你可以在 Jupyter AI 模型提供程序列表的 Python 包列中找到每个提供者所需的客户端库列表。

    注意

    对于托管的模型 Amazon,boto3已安装在使用的 SageMaker分发映像中 JupyterLab,或者安装在 Studio Classic 中使用的任何数据科学映像中。

    • 对于托管的模特 Amazon

      确保您的执行角色有权为提供的模型调用您的 SageMaker 终端节点, JumpStart 或者您有权访问 Amazon Bedrock。

    • 适用于由第三方提供商托管的模型

      使用环境变量在笔记本环境中导出提供商的 API 密钥。你可以使用以下魔法命令。将命令provider_API_key中的替换为提供程序的 Jupyter AI 模型提供程序列表环境变量列中的环境变量。

      %env provider_API_key=your_API_key