

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

# SageMaker ノートブック環境の生成 AI
<a name="jupyterai"></a>

[Jupyter AI](https://github.com/jupyterlab/jupyter-ai) は生成 AI 機能を Jupyter Notebook に統合する JupyterLab のオープンソース拡張機能です。Jupyter AI のチャットインターフェイスとマジックコマンドを使用して、自然言語での指示によって生成されたコードを試したり、既存のコードを説明したり、ローカルファイルについて質問したり、ノートブック全体を生成したりできます。この拡張機能により Jupyter Notebook が大規模言語モデル (LLM) に接続され、テキスト、コード、またはイメージの生成や、独自のデータに関する質問などを、LLM を使用して行うことができます。Jupyter AI は、AI21、Anthropic、 AWS (JumpStart と Amazon Bedrock)、Cohere、OpenAI などの生成モデルプロバイダーをサポートしています。

すぐに使用したい場合は Amazon Q Developer を使用します。Amazon Q Developer であれば、モデルへの接続を手動で設定する必要がなく、最小限の設定で使用を開始できます。Amazon Q Developer が使用可能になると、それが Jupyter AI 内のデフォルトソリューションプロバイダーになります。Amazon Q Developer の使用について詳しくは、「[SageMaker JupyterLab](studio-updated-jl.md)」を参照してください。

拡張機能のパッケージは、[Amazon SageMaker Distribution](https://github.com/aws/sagemaker-distribution) [バージョン 1.2 以降](https://github.com/aws/sagemaker-distribution/tree/main/build_artifacts/v1)に含まれています。Amazon SageMaker Distribution はデータサイエンスおよび科学コンピューティング用の Docker 環境であり、JupyterLab ノートブックインスタンスのデフォルトイメージとして使用されます。さまざまな IPython 環境に、Jupyter AI を手動でインストールできます。

このセクションでは Jupyter AI 機能の概要を説明し、JumpStart または Amazon Bedrock によって [JupyterLab](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-jl.html) または [Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html) ノートブックから提供されるモデルを設定する方法を示します。Jupyter AI プロジェクトの詳細については、[ドキュメント](https://jupyter-ai.readthedocs.io/en/latest/)を参照してください。または、Jupyter AI の主要な機能について概要と例を紹介したブログ記事、「*[Generative AI in Jupyter](https://blog.jupyter.org/generative-ai-in-jupyter-3f7174824862)*」をお読みください。

Jupyter AI を使用して LLMを操作する前に、次の前提条件を満たしていることを確認してください。
+ がホストするモデルの場合 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 ライブラリが環境に存在することを確認します。存在しない場合は、「[Jupyter AI のインストール](sagemaker-jupyterai-installation.md)」の指示に従って必要なパッケージをインストールしてください。
+ 「[Jupyter AI の機能の使用](sagemaker-jupyterai-overview.md)」で、Jupyter AI の機能を詳しく理解してください。
+ 「[モデルプロバイダーの設定](sagemaker-jupyterai-model-configuration.md)」の手順に従って、使用するターゲットモデルを設定してください。

前提条件のステップが完了したら、「[JupyterLab または Studio Classic で Jupyter AI を使用する](sagemaker-jupyterai-use.md)」に進んでください。

**Topics**
+ [Jupyter AI のインストール](sagemaker-jupyterai-installation.md)
+ [Jupyter AI の機能の使用](sagemaker-jupyterai-overview.md)
+ [モデルプロバイダーの設定](sagemaker-jupyterai-model-configuration.md)
+ [JupyterLab または Studio Classic で Jupyter AI を使用する](sagemaker-jupyterai-use.md)

# Jupyter AI のインストール
<a name="sagemaker-jupyterai-installation"></a>

Jupyter AI を使用するには、まず Jupyter AI パッケージをインストールする必要があります。[Amazon SageMaker Distribution](https://github.com/aws/sagemaker-distribution/tree/main/build_artifacts/v1) を使用する場合は、SageMaker Distribution イメージバージョン 1.2 以降を選択することをお勧めします。このほかにインストールが必要なものはありません。Studio の JupyterLab のユーザーは、スペースを作成する際に Amazon SageMaker Distribution のバージョンを選択できます。

他の IPython 環境のユーザーの場合、推奨される Jupyter AI パッケージのバージョンは、使用している JupyterLab のバージョンによって異なります。

Jupyter AI ディストリビューションは 2 つのパッケージで構成されています。
+ `jupyter_ai`: このパッケージには、JupyterLab 拡張機能とネイティブチャットユーザーインターフェイス (UI) が含まれています。これは任意の大規模言語モデルを使用した会話アシスタントとして機能します。
+ `jupyter_ai_magics`: このパッケージには、ノートブックセルから大規模言語モデル (LLM) を呼び出すための IPython `%%ai` および `%ai` のマジックコマンドが含まれています。

**注記**  
`jupyter_ai` をインストールすると、`jupyter_ai_magics` もインストールされます。ただし、`jupyter_ai_magics` は JupyterLab や `jupyter_ai` なしでもインストールできます。マジックコマンド `%%ai` と `%ai` は、任意の IPython カーネル環境で動作します。`jupyter_ai_magics` のみをインストールする場合は、チャット UI を使用できません。

JupyterLab 3 のユーザー、特に Studio Classic ユーザーには、`jupyter-ai` [バージョン 1.5.x](https://pypi.org/project/jupyter-ai/#history) 以降、またはバージョン 1.x 以降をインストールすることをお勧めします。ただし、Jupyter AI を JupyterLab 4 で使用することを強くお勧めします。JupyterLab 3 と互換性のあるバージョンの `jupyter-ai` では、温度、top-k と top-p のサンプリング、最大トークンや最大長、ユーザー承諾ライセンス契約などのモデルパラメータを追加設定できない場合があります。

JupyterLab 4 環境を使用するが、SageMaker Distribution は使用しないという場合は、`jupyter-ai` [バージョン 2.5.x](https://pypi.org/project/jupyter-ai/#history) 以降またはバージョン 2.x 以降をイをインストールすることをお勧めします。

[Jupyter AI ドキュメント](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#installation-via-pip)の *Installation* セクションで、インストール手順を参照してください。

# Jupyter AI の機能の使用
<a name="sagemaker-jupyterai-overview"></a>

Jupyter AI の機能を使用するには、チャット UI を使用する方法と、ノートブック内でマジックコマンドを使用する方法の 2 つがあります。

## チャットユーザーインターフェイスの AI アシスタントから使用する
<a name="sagemaker-jupyterai-overview-chatui"></a>

チャットインターフェイスから Jupyternaut に接続します。Jupyternaut は任意の言語モデルを使用する会話エージェントです。

Jupyter AI でインストールされた 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)) を選択して、チャットインターフェイスに移動します。初めて使用する際に、モデルの設定を要求するプロンプトが表示されます。設定手順については、「[チャット UI でモデルプロバイダーを設定する](sagemaker-jupyterai-model-configuration.md#sagemaker-jupyterai-model-configuration-chatui)」を参照してください。

**チャット UI を使用すると、次のことができます:**
+ **質問に答える**: 例えば、Amazon S3 バケットに CSV ファイルを追加する Python 関数の作成を Jupyternaut に要求できます。回答後にも要求を続けて (パラメータを関数に追加してファイルへのパス選択を可能にするなど)、回答を調整できます。
+ **JupyterLab のファイルを操作する**: ノートブックの一部を選択してプロンプトに含めます。その後、モデルが提案する回答に置き換えるか、回答を手動でクリップボードにコピーします。
+ プロンプトから**ノートブック全体を生成する**: プロンプトを `/generate` で開始すると、Jupyternaut の使用を中断することなく、バックグラウンドでノートブック生成プロセスをトリガーできます。処理が完了すると、新しいファイルへのリンクが記載されたメッセージが表示されます。
+ **ローカルファイルについて説明してから質問する**: `/learn` コマンドを使用し、ローカルファイルについて、埋め込みモデルに何を使用しているかを説明します。その後、それらのファイルについて `/ask` コマンドを使用して質問します。Jupyter AI は埋め込みコンテンツをローカルの [FAISS ベクトルデータベース ](https://github.com/facebookresearch/faiss)に保存します。そして検索拡張生成 (RAG) を使用し、学習した内容に基づいて回答を提示します。それまでに学習したすべての情報を埋め込みモデルから消去するには、`/learn -d` を使用します。

**注記**  
Amazon Q Developer には、ノートブックをゼロから生成する機能はありません。

機能の一覧と各使用方法の詳細については、[「Jupyter AI chat interface」](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#the-chat-interface)のドキュメントを参照してください。Jupyternaut でのモデルの使用を設定する方法については、「[チャット UI でモデルプロバイダーを設定する](sagemaker-jupyterai-model-configuration.md#sagemaker-jupyterai-model-configuration-chatui)」を参照してください。

## ノートブックセルから使用する
<a name="sagemaker-jupyterai-overview-magic-commands"></a>

`%%ai` および `%ai` のマジックコマンドを使用すると、ノートブックセルまたは IPython コマンドラインインターフェイスから、任意の言語モデルを操作できます。`%%ai` コマンドでは指示がセル全体に適用されますが、`%ai` では特定の行だけに適用されます。

次のコードは、`%%ai` マジックコマンドを使用して Anthropic Claude モデルを呼び出し、色が白で枠線が黒の四角形の画像を含む HTML ファイルを出力する例を示しています。

```
%%ai anthropic:claude-v1.2 -f html
Create a square using SVG with a black border and white fill.
```

各コマンドの構文を見るには、`%ai help` を使用します。拡張機能でサポートされているプロバイダーとモデルの一覧を表示するには、`%ai list` を実行します。

機能の一覧と各使用方法の詳細については、Jupyter AI の[マジックコマンド](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#the-ai-and-ai-magic-commands)のドキュメントを参照してください。特に、`-f` または `--format` パラメータを使用してモデルの出力形式をカスタマイズする機能や、プロンプトに `In` や `Out` の変数を使用して変数補間を行う機能を確認してください。

モデルの使用を設定する方法については、「[ノートブックでモデルプロバイダーを設定する](sagemaker-jupyterai-model-configuration.md#sagemaker-jupyterai-model-configuration-magic-commands)」を参照してください。

# モデルプロバイダーの設定
<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
     ```

# JupyterLab または Studio Classic で Jupyter AI を使用する
<a name="sagemaker-jupyterai-use"></a>

JupyterLab または Studio Classic で Jupyter AI を使用するには、チャット UI またはノートブックセルから言語モデルを呼び出します。そのために必要な手順について、以下のセクションで説明します。

## チャット UI から言語モデルを使用する
<a name="sagemaker-jupyterai-use-chatui"></a>

チャット UI のテキストボックスにメッセージを作成し、モデルの操作を開始します。メッセージ履歴をクリアするには、`/clear` コマンドを使用します。

**注記**  
メッセージ履歴をクリアしても、モデルプロバイダーとのチャットコンテキストは消去されません。

## ノートブックセルから言語モデルを使用する
<a name="sagemaker-jupyterai-use-magic-commands"></a>

`%%ai` および `%ai` コマンドを使用して言語モデルを呼び出す前に、次のコマンドを JupyterLab または Studio Classic ノートブックセルで実行して IPython 拡張機能を読み込みます。

```
%load_ext jupyter_ai_magics
```
+ **がホストするモデルの場合 AWS:**
  + SageMaker AI にデプロイされたモデルを呼び出すには、`sagemaker-endpoint:endpoint-name` の文字列を `%%ai` マジックコマンドに渡し、下の表にある必須パラメータを指定します。その後、後続の行にプロンプトを追加します。

    SageMaker AI または Amazon Bedrock がホストするモデルを呼び出す際の、必須およびオプションのパラメータは、以下の表のとおりです。<a name="sagemaker-jupyterai-jumpstart-inference-params"></a>    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/sagemaker-jupyterai-use.html)

    次のコマンドは、SageMaker AI がホストする [Llama2-7b](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html) モデルを呼び出します。

    ```
    %%ai sagemaker-endpoint:jumpstart-dft-meta-textgeneration-llama-2-7b -q {"inputs":"<prompt>","parameters":{"max_new_tokens":64,"top_p":0.9,"temperature":0.6,"return_full_text":false}} -n us-east-2 -p [0].generation -m {"endpoint_kwargs":{"CustomAttributes":"accept_eula=true"}} -f text
    Translate English to French:
    sea otter => loutre de mer
    peppermint => menthe poivrée
    plush girafe => girafe peluche
    cheese =>
    ```

    次の例では、SageMaker AI がホストする Flan-t5-small モデルを呼び出します。

    ```
    %%ai sagemaker-endpoint:hf-text2text-flan-t5-small --request-schema={"inputs":"<prompt>","parameters":{"num_return_sequences":4}} --region-name=us-west-2 --response-path=[0]["generated_text"] -f text
    What is the atomic number of Hydrogen?
    ```
  + Amazon Bedrock にデプロイされたモデルを呼び出すには、文字列 `bedrock:model-name` を `%%ai` マジックコマンドに渡し、「[JumpStart または Amazon Bedrock によりホストされるモデルを呼び出すためのパラメータ](#sagemaker-jupyterai-jumpstart-inference-params)」のリストに記載されたオプションパラメーターを指定してから、後続の行にプロンプトを追加します。

    次の例は、Amazon Bedrock によりホストされる [AI21 Labs Jurassic-2 モデル](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-jurassic2.html)を呼び出します。

    ```
    %%ai bedrock:ai21.j2-mid-v1 -m {"model_kwargs":{"maxTokens":256}} -f code
    Write a function in python implementing a bubbble sort.
    ```
+ **サードパーティープロバイダーによりホストされるモデルの場合**

  サードパーティープロバイダーによりホストされるモデルを呼び出すには、文字列 `provider-id:model-name` を `%%ai` マジックコマンドに渡し、オプションで [`Output format`](#sagemaker-jupyterai-output-format-params) を指定してから、後続の行にプロンプトを追加します。各プロバイダーの情報 (ID など) を、Jupyter AI の[モデルプロバイダーの一覧](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers)で確認してください。

  次のコマンドは、色が白で枠線が黒の四角形の画像を含む HTML ファイルの出力を、Anthropic Claude モデルに要求しています。

  ```
  %%ai anthropic:claude-v1.2 -f html
  Create a square using SVG with a black border and white fill.
  ```