

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# モデルプロバイダーの設定
<a name="sagemaker-jupyterai-model-configuration"></a>

**注記**  
このセクションは、使用を予定している言語モデルおよび埋め込みモデルがすでにデプロイされていることを前提としています。が提供するモデルの場合 AWS、SageMaker AI エンドポイントの ARN または Amazon Bedrock へのアクセスが既に必要です。他のモデルプロバイダーを使用する場合は、モデルへのリクエストを認証および承認するための API キーが必要になります。  
Jupyter AI は幅広いモデルプロバイダーと言語モデルをサポートしています。[サポートされるモデル](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers)の一覧を参照し、モデルの最新情報を確認してください。JumpStart が提供するモデルをデプロイする方法については、JumpStart のドキュメントで「[Deploy a Model](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-deploy.html)」を参照してください。モデルプロバイダーとして使用するために、[Amazon Bedrock](https://aws.amazon.com/bedrock/) へのアクセス許可を要求する必要があります。

Jupyter AI の設定は、チャット UI とマジックコマンドのどちらを使用するかによって異なります。

## チャット UI でモデルプロバイダーを設定する
<a name="sagemaker-jupyterai-model-configuration-chatui"></a>

**注記**  
同じ手順で多数の LLM と埋め込みモデルを設定できます。ただし、**言語モデル**を少なくとも 1 つは設定する必要があります。

**チャット UI を設定するには**

1. JupyterLab で、左側のナビゲーションパネルのチャットアイコン (![\[Icon of a rectangular shape with a curved arrow pointing to the upper right corner.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/icons/jupyterai/jupyterai-chat-ui.png)) を選択して、チャットインターフェイスに移動します。

1. 左ペインの右上隅にある設定アイコン (![\[Gear or cog icon representing settings or configuration options.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/icons/jupyterai/jupyterai-configure-models.png)) を選択します。Jupyter AI の設定パネルが開きます。

1. サービスプロバイダーの各フィールドを入力します。
   + **JumpStart または Amazon Bedrock が提供するモデルの場合**
     + **言語モデル**ドロップダウンリストで、JumpStart でデプロイされるモデルの場合は `sagemaker-endpoint` を、Amazon Bedrock で管理されるモデルの場合は `bedrock` を選択します。
     + パラメータはモデルが SageMaker AI と Amazon Bedrock のどちらにデプロイされているかによって異なります。
       + JumpStart でデプロイされたモデルの場合:
         + エンドポイント名に**エンドポイントの名前**を入力し、次にモデルが[**リージョン名**](sagemaker-jupyterai-use.md#sagemaker-jupyterai-region-name)にデプロイ AWS リージョン される を入力します。SageMaker AI エンドポイントの ARN を取得するには、[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) に移動し、左側のメニューで **[推論]**、**[エンドポイント]** の順に選択します。
         + 使用するモデルの[**リクエストスキーマ**](sagemaker-jupyterai-use.md#sagemaker-jupyterai-request-schema)の JSON と、モデルの出力を解析するための[**レスポンスパス**](sagemaker-jupyterai-use.md#sagemaker-jupyterai-response-path)を貼り付けます。
**注記**  
さまざまな JumpStart 基盤モデルのリクエストとレスポンスの形式を、[ノートブックのサンプル](https://github.com/aws/amazon-sagemaker-examples/tree/main/introduction_to_amazon_algorithms/jumpstart-foundation-models)で確認できます。各ノートブックの名前に、サンプルで紹介するモデルの名前が使用されます。
       + Amazon Bedrock によって管理されるモデルの場合: システムに認証情報を保存する AWS AWS プロファイルを追加し (オプション）、次にモデルが[**リージョン名**](sagemaker-jupyterai-use.md#sagemaker-jupyterai-region-name)にデプロイされる AWS リージョン を追加します。
     + (オプション) アクセス可能な[埋め込みモデル](sagemaker-jupyterai-overview.md#sagemaker-jupyterai-embedding-model)を選択します。埋め込みモデルは、テキスト生成モデルがローカルドキュメントのコンテキスト内で質問に回答するために必要な追加情報をローカルドキュメントから取得するために使用します。
     + **[変更を保存]** を選択し、左ペインの左上隅にある左矢印アイコン (![\[Left-pointing arrow icon, typically used for navigation or returning to a previous page.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/icons/jupyterai/jupyterai-return-to-chat.png)) に移動します。Jupyter AI チャット UI が開きます。モデルの操作を開始できます。
   + **サードパーティープロバイダーによりホストされるモデルの場合**
     + **[言語モデル]** ドロップダウンリストで、プロバイダー ID を選択します。各プロバイダーの情報 (ID など) を、Jupyter AI の[モデルプロバイダーの一覧](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers)で確認してください。
     + (オプション) アクセス可能な[埋め込みモデル](sagemaker-jupyterai-overview.md#sagemaker-jupyterai-embedding-model)を選択します。埋め込みモデルは、テキスト生成モデルがローカルドキュメントのコンテキスト内で質問に回答するために必要な追加情報をローカルドキュメントから取得するために使用します。
     + モデルの API キーを挿入します。
     + **[変更を保存]** を選択し、左ペインの左上隅にある左矢印アイコン (![\[Left-pointing arrow icon, typically used for navigation or returning to a previous page.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/icons/jupyterai/jupyterai-return-to-chat.png)) に移動します。Jupyter AI チャット UI が開きます。モデルの操作を開始できます。

次の画像はチャット UI 設定パネルのスナップショットです。JumpStart が提供し SageMaker AI にデプロイされる Flan-t5-small モデルを呼び出すように設定されています。

![\[JumpStart が提供する Flan-t5-small モデルを呼び出すように設定されたチャット UI 設定パネル。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/jupyterai/jupyterai-chatui-configuration.png)


### 追加のモデルパラメータとカスタムパラメータをリクエストに渡す
<a name="sagemaker-jupyterai-configuration-model-parameters"></a>

例えば、ユーザー契約の承認のためにカスタマイズされた属性を使用する、他のモデルのパラメータ (温度やレスポンスの長さなど) の調整に使用するなど、モデルに追加のパラメータが必要になる場合があります。これらは JupyterLab アプリケーションの最初の設定オプションとして、ライフサイクル設定を使用して設定することをお勧めします。ライフサイクル設定を作成してドメインにアタッチする方法、または [SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/) からユーザープロファイルにアタッチする方法については、「[ライフサイクル設定を作成して関連付ける](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html)」を参照してください。JupyterLab アプリケーションにスペースを作成する際に、LCC スクリプトを選択でき　ます。

次の JSON スキーマを使用して、[追加のパラメータ](sagemaker-jupyterai-use.md#sagemaker-jupyterai-extra-model-params) を設定します:

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

次のスクリプトは、JupyterLab アプリケーションの LCC を作成する際に使用する JSON 設定ファイルの例です。Amazon Bedrock にデプロイされた [AI21 Labs Jurassic-2 モデル](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-jurassic2.html)の最大長を設定しています。モデルが生成するレスポンスの長さを大きくすると、モデルのレスポンスがシステムによって切り捨てられるのを防ぐことができます。

```
#!/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 Bedrock にデプロイされる [Anthropic Claude モデル](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-claude.html)に追加のモデルパラメータを設定しています。

```
#!/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 ファイルの内容に一致している必要があります。

## ノートブックでモデルプロバイダーを設定する
<a name="sagemaker-jupyterai-model-configuration-magic-commands"></a>

**JupyterLab または Studio Classic ノートブックで Jupyter AI を経由し、`%%ai` および `%ai` のマジックコマンドを使用してモデルを呼び出すには**

1. モデルプロバイダーに固有のクライアントライブラリを、ノートブック環境にインストールします。例えば、OpenAI モデルを使用する場合は、`openai` クライアントライブラリをインストールします。各プロバイダーで必要となるクライアントライブラリのリストについては、Jupyter AI の[モデルプロバイダーのリスト](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers)で、*Python パッケージ*の列を参照してください。
**注記**  
がホストするモデルの場合 AWS、 `boto3`は JupyterLab で使用される SageMaker AI ディストリビューションイメージ、または Studio Classic で使用されるデータサイエンスイメージに既にインストールされています。

1. 
   + **によってホストされるモデルの場合 AWS**

     JumpStart が提供するモデルの SageMaker AI エンドポイントを呼び出すためのアクセス許可が実行ロールに含まれること、または Amazon Bedrock へのアクセス許可があることを確認してください。
   + **サードパーティープロバイダーによりホストされるモデルの場合**

     ノートブック環境で環境変数を使用し、プロバイダーの API キーをエクスポートします。以下のマジックコマンドを使用できます。コマンドの `provider_API_key` を環境変数に置き換えてください。環境変数については、プロバイダーの Jupyter AI の[モデルプロバイダーのリスト](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers)で、*環境変数*の列を参照してください。

     ```
     %env provider_API_key=your_API_key
     ```