모델 공급자 구성 - Amazon SageMaker

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

모델 공급자 구성

참고

이 섹션에서는 사용하려는 언어 및 임베딩 모델이 이미 배포된 것으로 가정합니다. 에서 제공하는 모델의 경우 SageMaker 엔드포인트ARN의 또는 Amazon Bedrock에 대한 액세스 권한이 이미 있어야 AWS합니다. 다른 모델 공급자의 경우 API 키를 사용하여 모델에 대한 요청을 인증하고 승인해야 합니다.

Jupyter AI는 광범위한 모델 공급자 및 언어 모델을 지원합니다. 지원되는 모델 목록을 참조하여 사용 가능한 최신 모델에 대한 최신 정보를 확인하세요. 에서 제공하는 모델을 배포하는 방법에 대한 자세한 내용은 JumpStart 설명서의 모델 배포를 JumpStart참조하세요. 모델 공급자로 사용하려면 Amazon Bedrock에 대한 액세스를 요청해야 합니다.

Jupyter AI의 구성은 채팅 UI 또는 매직 명령을 사용하는지 여부에 따라 달라집니다.

채팅 UI에서 모델 공급자 구성

참고

동일한 지침에 따라 여러 LLMs 및 임베딩 모델을 구성할 수 있습니다. 그러나 언어 모델 를 하나 이상 구성해야 합니다.

채팅 UI를 구성하려면
  1. 의 왼쪽 탐색 패널에서 채팅 아이콘( Icon of a rectangular shape with a curved arrow pointing to the upper right corner. )을 선택하여 채팅 인터페이스에 JupyterLab액세스합니다.

  2. 왼쪽 창의 오른쪽 상단 모서리에서 구성 아이콘( Gear or cog icon representing settings or configuration options. )을 선택합니다. 그러면 Jupyter AI 구성 패널이 열립니다.

  3. 서비스 공급자와 관련된 필드를 작성합니다.

    • JumpStart 또는 Amazon Bedrock에서 제공하는 모델의 경우

      • 언어 모델 드롭다운 목록에서 Amazon Bedrocksagemaker-endpoint에서 관리하는 모델 JumpStart 또는 와 함께 배포된 모델에 bedrock 대해 를 선택합니다.

      • 파라미터는 모델이 SageMaker 또는 Amazon Bedrock에 배포되었는지 여부에 따라 다릅니다.

        • 와 함께 배포된 모델의 경우 JumpStart:

        • Amazon Bedrock에서 관리하는 모델의 경우: 보안 인증 정보를 시스템에 저장하는 AWS AWS 프로필을 추가한 다음(선택 사항) 모델이 리전 이름 AWS 리전 에 배포되는 를 추가합니다.

      • (선택 사항) 액세스할 수 있는 임베딩 모델을 선택합니다. 포함 모델은 로컬 문서에서 추가 정보를 캡처하는 데 사용되며, 텍스트 생성 모델은 해당 문서의 컨텍스트 내에서 질문에 응답할 수 있습니다.

      • 변경 사항 저장을 선택하고 왼쪽 창의 왼쪽 상단 모서리에 있는 왼쪽 화살표 아이콘( Left-pointing arrow icon, typically used for navigation or returning to a previous page. )으로 이동합니다. 그러면 Jupyter AI 채팅 UI가 열립니다. 모델과 상호 작용을 시작할 수 있습니다.

    • 타사 공급자가 호스팅하는 모델의 경우

      • 언어 모델 드롭다운 목록에서 공급자 ID를 선택합니다. 모델 공급자의 Jupyter AI 목록 에서 ID를 포함한 각 공급자의 세부 정보를 찾을 수 있습니다.

      • (선택 사항) 액세스 권한이 있는 임베딩 모델을 선택합니다. 포함 모델은 로컬 문서에서 추가 정보를 캡처하는 데 사용되며, 텍스트 생성 모델은 해당 문서의 컨텍스트 내에서 질문에 응답할 수 있습니다.

      • 모델 API 키를 삽입합니다.

      • 변경 사항 저장을 선택하고 왼쪽 창의 왼쪽 상단 모서리에 있는 왼쪽 화살표 아이콘( Left-pointing arrow icon, typically used for navigation or returning to a previous page. )으로 이동합니다. 그러면 Jupyter AI 채팅 UI가 열립니다. 모델과 상호 작용을 시작할 수 있습니다.

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

에서 제공하는 Flan-t5-small 모델을 호출하도록 설정된 채팅 UI 구성 패널입니다 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.} } } } }

다음 스크립트는 JupyterLab 애플리케이션을 생성할 때 Amazon Bedrock에 배포된 AI21 Labs Jurassic-2 모델의 최대 길이를 설정하는 LCC 데 사용할 수 있는 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 모델에 대한 추가 모델 파라미터를 설정하는 데 LCC 사용되는 JupyterLab 애플리케이션을 생성하는 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를 공간에 추가합니다. 에서 구성 파일을 업데이트하려면 터미널more ~/.jupyter/jupyter_jupyter_ai_config.json에서 를 LCC실행합니다. 파일의 콘텐츠는 에 전달된 JSON 파일의 콘텐츠와 일치해야 합니다LCC.

노트북에서 모델 공급자 구성

%%ai%ai 매직 명령을 사용하여 JupyterLab 또는 Studio Classic 노트북 내에서 Jupyter AI를 통해 모델을 호출하려면
  1. 노트북 환경에서 모델 공급자와 관련된 클라이언트 라이브러리를 설치합니다. 예를 들어 OpenAI 모델을 사용하는 경우 openai 클라이언트 라이브러리를 설치해야 합니다. Jupyter AI 모델 공급자 목록의 Python 패키지(들) 열에서 공급자당 필요한 클라이언트 라이브러리 목록을 찾을 수 있습니다. https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers

    참고

    에서 호스팅하는 모델의 경우 AWSboto3는 에서 SageMaker 사용하는 배포 이미지 JupyterLab또는 Studio Classic에서 사용하는 모든 데이터 사이언스 이미지에 이미 설치되어 있습니다.

    • 에서 호스팅하는 모델의 경우 AWS

      실행 역할에 에서 제공하는 모델에 대해 SageMaker 엔드포인트를 호출할 수 있는 권한이 JumpStart 있는지 또는 Amazon Bedrock에 액세스할 수 있는지 확인합니다.

    • 타사 공급자가 호스팅하는 모델의 경우

      환경 변수를 사용하여 노트북 환경에서 공급자의 API 키를 내보냅니다. 다음 매직 명령을 사용할 수 있습니다. 명령provider_API_key의 를 공급자에 대한 Jupyter AI 모델 공급자 목록의 환경 변수 열에 있는 환경 변수로 바꿉니다.

      %env provider_API_key=your_API_key