本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置您的模型提供商
注意
在本节中,我们假设您计划使用的语言和嵌入模型已经部署。对于提供的型号 AWS,您应该已经拥有自己的 SageMaker 终端节点或者可以访问 Amazon Bedrock。ARN对于其他模型提供商,您应该使用API密钥来验证和授权向您的模型提出的请求。
Jupyter AI 支持各种模型提供程序和语言模型,请参阅其支持的模型
Jupyter AI 的配置会有所不同,具体取决于你使用的是聊天用户界面还是魔法命令。
在聊天界面中配置您的模型提供商
注意
您可以按照相同的说明配置多个模型LLMs和嵌入模型。但是,您必须配置至少一种语言模型。
配置聊天界面
-
在中 JupyterLab,通过选择左侧导航面板中的聊天图标 ( ) 来访问聊天界面。
-
选择左侧窗格右上角的配置图标 ( )。这将打开 Jupyter AI 配置面板。
-
填写与您的服务提供商相关的字段。
-
适用于 JumpStart 或 Amazon Bedrock 提供的型号
-
在语言模型下拉列表中,选择
sagemaker-endpoint
使用 Amazon Bedrock 部署的模型 JumpStart 或bedrock
由 Amazon Bedrock 管理的模型。 -
根据您的模型部署在 Amazon Bedrock 上还是 Amazon Bedrock,参数会有所不同。 SageMaker
-
对于使用以下设备部署的模型 JumpStart:
-
在终端节点名称中输入您的终端节点的名称,然后 AWS 区域 在区域名称中输入部署模型的名称。要检索 SageMaker 终端节点,请导航至左侧菜单中的推理https://console.aws.amazon.com/sagemaker/
和端点,然后选择该终端节点。ARN -
粘贴为您的模型量身定制JSON的请求架构,以及用于解析模型输出的相应响应路径。
注意
您可以在以下示例笔记本
中找到各种 JumpStart 基础模型的请求和响应格式。每个笔记本都以其演示的模型命名。
-
-
对于由 Amazon Bedrock 管理的模型:在系统上添加存储您的 AWS 凭证的 AWS 配置文件(可选),然后 AWS 区域 在区域名称中添加部署模型的配置文件。
-
-
(可选)选择您有权访问的嵌入模型。嵌入模型用于从本地文档中捕获更多信息,从而使文本生成模型能够在这些文档的上下文中回答问题。
-
选择 “保存更改”,然后导航到左侧窗格左上角的向左箭头图标 ( )。这将打开 Jupyter 人工智能聊天用户界面。您可以开始与您的模型进行交互了。
-
-
适用于由第三方提供商托管的模型
-
在语言模型下拉列表中,选择您的提供商 ID。你可以在 Jupyter AI 的模型提供者列表中找到每个提供者的详细信息,包括他们的
ID。 -
(可选)选择您有权访问的嵌入模型。嵌入模型用于从本地文档中捕获更多信息,从而使文本生成模型能够在这些文档的上下文中回答问题。
-
插入模特的API密钥。
-
选择 “保存更改”,然后导航到左侧窗格左上角的向左箭头图标 ( )。这将打开 Jupyter 人工智能聊天用户界面。您可以开始与您的模型进行交互了。
-
-
以下快照显示了聊天界面配置面板,该面板设置为调用由 JumpStart 提供并在中部署的 Flan-t5-Small 模型。 SageMaker
将额外的模型参数和自定义参数传递给您的请求
您的模型可能需要额外的参数,例如用于用户协议批准的自定义属性或调整其他模型参数(例如温度或响应长度)。我们建议使用生命周期配置将这些设置配置为 JupyterLab应用程序的启动选项。有关如何创建生命周期配置并将其附加到您的域或从SageMaker 控制台
使用以下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
-
在您的笔记本环境中安装特定于您的模型提供商的客户端库。例如,在使用 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
-