

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# SageMaker 노트북 환경의 생성형 AI
<a name="jupyterai"></a>

[Jupyter AI](https://github.com/jupyterlab/jupyter-ai)는 생성형 AI 기능을 Jupyter 노트북에 통합하는 JupyterLab의 오픈 소스 확장입니다. Jupyter AI 채팅 인터페이스와 매직 명령을 통해 사용자는 자연어 지침에서 생성된 코드를 실험하고, 기존 코드를 설명하고, 로컬 파일에 대해 질문하고, 전체 노트북을 생성하는 등 다양한 작업을 수행할 수 있습니다. 확장은 Jupyter 노트북을 사용자가 텍스트, 코드 또는 이미지를 생성하고 자신의 데이터에 대해 질문하는 데 사용할 수 있는 대형 언어 모델(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는 JupyterLab 노트북 인스턴스의 기본 이미지로 사용되는 데이터 과학 및 과학 컴퓨팅을 위한 Docker 환경입니다. 다양한 IPython 환경의 사용자는 Jupyter AI를 수동으로 설치할 수 있습니다.

이 섹션에서는 Jupyter AI 기능에 대한 개요를 제공하고 [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) 노트북에서 JumpStart 또는 Amazon Bedrock에서 제공하는 모델을 구성하는 방법을 보여줍니다. Jupyter AI 프로젝트에 대한 자세한 내용은 [설명서](https://jupyter-ai.readthedocs.io/en/latest/) 섹션을 참조하세요. 또는 *[Jupyter의 블로그 게시물 생성형 AI](https://blog.jupyter.org/generative-ai-in-jupyter-3f7174824862)*에서 주요 Jupyter AI 기능의 개요와 예를 참조할 수 있습니다.

Jupyter AI를 사용하고 LLM과 상호 작용하기 전에 다음 사전 조건을 충족하는지 확인하세요.
+ 에서 호스팅하는 모델의 경우 SageMaker AI 엔드포인트의 ARN이 있거나 Amazon Bedrock에 액세스할 수 AWS있어야 합니다. 다른 모델 공급자의 경우 API 키를 사용하여 모델에 대한 요청을 인증하고 승인해야 합니다. Jupyter AI는 다양한 모델 공급자 및 언어 모델을 지원합니다. [지원되는 모델](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers) 목록을 참조하여 사용 가능한 최신 모델에 대한 최신 정보를 확인하세요. JumpStart에서 모델을 배포하는 방법에 대한 자세한 내용은 JumpStart 설명서의 [모델 배포](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 AI 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 배포는 두 개의 패키지로 구성됩니다.
+ `jupyter_ai`: 이 패키지는 JupyterLab 확장과 기본 채팅 사용자 인터페이스(UI)를 제공합니다. 원하는 큰 언어 모델을 사용하여 대화 도우미 역할을 합니다.
+ `jupyter_ai_magics`: 이 패키지는 노트북 셀에서 대형 언어 모델(LLM)을 호출할 수 있는 IPython `%%ai` 및 `%ai` 매직 명령을 제공합니다.

**참고**  
`jupyter_ai`를 설치하면 `jupyter_ai_magics`도 설치됩니다. 그러나 JupyterLab 또는 `jupyter_ai` 없이 독립적으로 `jupyter_ai_magics`을 설치할 수 있습니다. 매직 명령 `%%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 이후 버전을 설치하는 것이 좋습니다. 그러나 JupyterLab 4와 함께 Jupyter AI를 사용하는 것이 좋습니다. JupyterLab 3와 호환되는 `jupyter-ai` 버전은 사용자가 온도, Top-k 및 Top-p 샘플링, 최대 토큰 또는 최대 길이 또는 사용자 수락 라이선스 계약과 같은 추가 모델 파라미터를 설정하도록 허용하지 않을 수 있습니다.

SageMaker 배포를 사용하지 않는 JupyterLab 4 환경 사용자의 경우 `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)의 설치 섹션에서 *설치* 지침을 참조하세요.

# Jupyter AI 기능 액세스
<a name="sagemaker-jupyterai-overview"></a>

채팅 UI를 사용하거나 노트북 내에서 매직 명령을 사용하는 두 가지 방법을 통해 Jupyter AI 기능에 액세스할 수 있습니다.

## 채팅 사용자 인터페이스 AI 어시스턴트에서
<a name="sagemaker-jupyterai-overview-chatui"></a>

채팅 인터페이스는 원하는 언어 모델을 사용하는 대화 에이전트인 Jupyternaut과 연결합니다.

Jupyter AI와 함께 설치된 JupyterLab 애플리케이션을 시작한 후 왼쪽 탐색 패널에서 채팅 아이콘(![\[Icon of a rectangular shape with a curved arrow pointing to the upper right corner.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/studio/icons/jupyterai/jupyterai-chat-ui.png))을 선택하여 채팅 인터페이스에 액세스할 수 있습니다. 처음 사용자에게 모델을 구성하라는 메시지가 표시됩니다. 구성 지침은 [채팅 UI에서 모델 공급자 구성](sagemaker-jupyterai-model-configuration.md#sagemaker-jupyterai-model-configuration-chatui) 섹션을 참조하세요.

**채팅 UI를 사용하여 다음을 수행할 수 있습니다.**
+ **질문 답변**: 예를 들어 Jupyternaut에게 Amazon S3 버킷에 CSV 파일을 추가하는 Python 함수를 생성하도록 요청할 수 있습니다. 그런 다음 함수에 파라미터를 추가하여 파일이 기록되는 경로를 선택하는 등 후속 질문으로 답변을 세분화할 수 있습니다.
+ **JupyterLab의 파일과 상호 작용**: 노트북의 일부를 선택하여 프롬프트에 포함할 수 있습니다. 그런 다음 모델의 제안된 답변으로 바꾸거나 답변을 클립보드에 수동으로 복사할 수 있습니다.
+ 프롬프트에서 **전체 노트북 생성**: `/generate`로 프롬프트를 시작하면 Jupyternaut 사용을 중단하지 않고 백그라운드에서 노트북 생성 프로세스를 트리거합니다. 프로세스가 완료되면 새 파일에 대한 링크가 포함된 메시지가 표시됩니다.
+ **로컬 파일에서 알아보고 이에 대해 질문**: `/learn` 명령을 사용하여 로컬 파일에 대해 선택한 임베딩 모델을 학습한 다음 `/ask` 명령을 사용하여 해당 파일에 대해 질문할 수 있습니다. Jupyter AI는 내장 콘텐츠를 로컬 [FAISS 벡터 데이터베이스](https://github.com/facebookresearch/faiss)에 저장한 다음 RAG(검색 증강 생성)를 사용하여 학습한 내용을 기반으로 답변을 제공합니다. 임베딩 모델에서 이전에 학습한 모든 정보를 지우려면 `/learn -d`를 사용합니다.

**참고**  
Amazon Q 개발자는 노트북을 처음부터 생성할 수 있는 기능이 없습니다.

전체 기능 목록과 사용에 대한 자세한 지침은 [Jupyter AI 채팅 인터페이스](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`는 특정 줄에 지침을 적용합니다.

다음 예제는 검은색 테두리가 있는 흰색 사각형의 이미지가 포함된 HTML 파일을 출력하기 위해 Anthropic Claude 모델을 호출하는 `%%ai` 매직 명령을 보여줍니다.

```
%%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 설명서의 [모델 배포](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 및 임베딩 모델을 구성할 수 있습니다. 그러나 **언어 모델**을 하나 이상 구성해야 합니다.

**채팅 UI를 구성하려면**

1. JupyterLab 에서 왼쪽 탐색 패널에서 채팅 아이콘(![\[Icon of a rectangular shape with a curved arrow pointing to the upper right corner.\]](http://docs.aws.amazon.com/ko_kr/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/ko_kr/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)를 붙여넣습니다.
**참고**  
다음 [예제 노트북](https://github.com/aws/amazon-sagemaker-examples/tree/main/introduction_to_amazon_algorithms/jumpstart-foundation-models)에서 다양한 JumpStart 파운데이션 모델의 요청 및 응답 형식을 찾을 수 있습니다. 각 노트북의 이름은 해당 노트북이 보여주는 모델의 이름을 따서 명명됩니다.
       + 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/ko_kr/sagemaker/latest/dg/images/studio/icons/jupyterai/jupyterai-return-to-chat.png))으로 이동합니다. 그러면 Jupyter AI 채팅 UI가 열립니다. 모델과 상호 작용을 시작할 수 있습니다.
   + **타사 공급자가 호스팅하는 모델의 경우**
     + **언어 모델** 드롭다운 목록에서 공급자 ID를 선택합니다. [모델 공급자](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers)의 Jupyter AI 목록에서 ID를 포함한 각 공급자의 세부 정보를 찾을 수 있습니다.
     + (선택 사항) 액세스할 수 있는 [임베딩 모델](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/ko_kr/sagemaker/latest/dg/images/studio/icons/jupyterai/jupyterai-return-to-chat.png))으로 이동합니다. 그러면 Jupyter AI 채팅 UI가 열립니다. 모델과 상호 작용을 시작할 수 있습니다.

다음 스냅샷은 JumpStart에서 제공하고 SageMaker AI에 배포된 Flan-t5-small 모델을 간접적으로 호출하도록 설정된 채팅 UI 구성 패널의 그림입니다.

![\[JumpStart에서 제공하는 Flan-t5-small 모델을 호출하도록 설정된 채팅 UI 구성 패널입니다.\]](http://docs.aws.amazon.com/ko_kr/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를 생성할 때 Amazon Bedrock에 배포된 [AI21 Labs Jurassic-2 모델](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-jurassic2.html)의 최대 길이를 설정하는 데 사용할 수 있는 JSON 구성 파일의 예입니다. 모델이 생성한 응답의 길이를 늘리면 모델 응답이 체계적으로 잘리지 않을 수 있습니다.

```
#!/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
```

다음 스크립트는 Amazon Bedrock에 배포된 [Anthropic Claude](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-claude.html) 모델의 추가 모델 파라미터를 설정하는 데 사용되는 JupyterLab 애플리케이션 LCC를 생성하기 위한 JSON 구성 파일의 예입니다.

```
#!/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`을 실행합니다. 파일의 콘텐츠는 LCC에 전달된 JSON 파일의 콘텐츠와 일치해야 합니다.

## 노트북에서 모델 공급자 구성
<a name="sagemaker-jupyterai-model-configuration-magic-commands"></a>

**`%%ai` 및 `%ai` 매직 명령을 사용하여 JupyterLab 또는 Studio Classic 노트북 내에서 Jupyter 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>

채팅 UI 또는 노트북 셀에서 언어 모델을 호출하여 JupyterLab 또는 Studio Classic에서 Jupyter AI를 사용할 수 있습니다. 다음 섹션에서는 이 작업을 완료하는 데 필요한 단계에 대한 정보를 제공합니다.

## 채팅 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/ko_kr/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에 배포된 모델을 호출하려면 [JumpStart 또는 Amazon Bedrock에서 호스팅하는 모델 호출을 위한 파라미터](#sagemaker-jupyterai-jumpstart-inference-params) 목록에 정의된 선택적 파라미터가 있는 `%%ai` 매직 명령에 문자열 `bedrock:model-name`을 전달한 다음 다음 줄에 프롬프트를 추가합니다.

    다음 예제에서는 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.
    ```
+ **타사 공급자가 호스팅하는 모델의 경우**

  타사 공급자가 호스팅하는 모델을 호출하려면 선택 사항인 [`Output format`](#sagemaker-jupyterai-output-format-params)를 사용하여 문자열 `provider-id:model-name`을 `%%ai` 매직 명령에 전달한 다음 다음 줄에 프롬프트를 추가합니다. [모델 공급자](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers)의 Jupyter AI 목록에서 ID를 포함한 각 공급자의 세부 정보를 찾을 수 있습니다.

  다음 명령은 Anthropic Claude 모델에 검은색 테두리가 있는 흰색 사각형의 이미지가 포함된 HTML 파일을 출력하도록 요청합니다.

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