配置您的模型提供商 - Amazon SageMaker

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

配置您的模型提供商

注意

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

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

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

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

注意

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

配置聊天界面
  1. 在中 JupyterLab,通过选择左侧导航面板中的聊天图标 ( Icon of a rectangular shape with a curved arrow pointing to the upper right corner. ) 来访问聊天界面。

  2. 选择左侧窗格右上角的配置图标 ( Gear or cog icon representing settings or configuration options. )。这将打开 Jupyter AI 配置面板。

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

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

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

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

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

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

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

      • 选择 “保存更改”,然后导航到左侧窗格左上角的向左箭头图标 ( Left-pointing arrow icon, typically used for navigation or returning to a previous page. )。这将打开 Jupyter 人工智能聊天用户界面。您可以开始与您的模型进行交互了。

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

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

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

      • 插入模特的API密钥。

      • 选择 “保存更改”,然后导航到左侧窗格左上角的向左箭头图标 ( Left-pointing arrow icon, typically used for navigation or returning to a previous page. )。这将打开 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 上的 AI21Labs 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

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

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

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

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

    注意

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

    • 对于托管的模特 AWS

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

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

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

      %env provider_API_key=your_API_key