AI21 Labs잠바-인스트럭트 모델 - Amazon Bedrock

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

AI21 Labs잠바-인스트럭트 모델

이 섹션에서는 모델 사용을 위한 추론 파라미터와 코드 예제를 제공합니다. AI21 Jamba-Instruct

필수 필드

AI21 Labs Jamba-Instruct 모델은 다음과 같은 필수 필드를 지원합니다.

  • 메시지 (messages) — 가장 오래된 메시지 (인덱스 0) 부터 최신 메시지까지 이 채팅의 이전 메시지입니다. 목록에 사용자 또는 어시스턴트 메시지가 하나 이상 있어야 합니다. 사용자 입력과 시스템 응답을 모두 포함하세요. 목록의 최대 총 크기는 약 256K 토큰입니다. 각 메시지에는 다음 구성원이 포함됩니다.

  • 역할 (role) — 메시지 작성자의 역할. 다음 값 중 하나입니다.

    • 사용자 (user) — 사용자가 제공한 입력입니다. 여기에 제공된 지침 중 프롬프트에 제공된 지침과 충돌하는 모든 지침은 system 프롬프트 지침보다 우선합니다system.

    • 어시스턴트 (assistant) — 모델에서 생성된 응답입니다.

    • 시스템 (system) — 생성된 메시지의 어조와 음성에 대한 일반적인 지침을 제공하기 위해 시스템에 제공되는 초기 지침입니다. 초기 시스템 메시지는 선택 사항이지만 채팅 분위기에 대한 지침을 제공하는 것이 좋습니다. 예를 들어, “당신은 지구 과학을 전공하고 매력적인 프랑스 억양을 가진 유용한 챗봇입니다.”

  • 콘텐츠 (content) — 메시지의 내용입니다.

추론 파라미터

AI21 Labs Jamba-Instruct 모델은 다음과 같은 추론 파라미터를 지원합니다.

무작위성과 다양성

AI21 Labs Jamba-Instruct 모델은 응답의 임의성과 다양성을 제어하기 위해 다음 파라미터를 지원합니다.

  • 온도 (temperature) — 각 답에 어느 정도의 변동을 제공해야 하는지 나타냅니다. 이 값을 0으로 설정하면 매번 같은 질문에 대해 동일한 응답이 보장됩니다. 값을 높게 설정하면 변형이 더 많아집니다. 샘플링되는 토큰의 분포를 수정합니다. 기본값: 1.0, 범위: 0.0 — 2.0

  • 상위 P (top_p) — 각 단계의 다음 토큰 풀을 가능한 토큰의 상위 N개 백분위수로 제한합니다. 여기서 1.0은 가능한 모든 토큰의 풀을 의미하고 0.01은 다음 토큰의 풀만 의미합니다.

길이

AI21 Labs Jamba Instruct 모델은 다음과 같은 매개변수를 지원하여 생성된 응답의 길이를 제어합니다.

  • 최대 완료 길이 (max_tokens) — 생성된 각 응답 메시지에 허용되는 최대 토큰 수입니다. 일반적으로 출력 길이를 제한하는 가장 좋은 방법은 시스템 프롬프트에 길이 제한을 제공하는 것입니다 (예: “답변을 세 문장으로 제한”). 기본값: 4096, 범위: 0 — 4096.

  • 시퀀스 중지 (stop) - 모델이 이러한 문자열 중 하나를 생성하면 메시지를 종료합니다. 중지 시퀀스는 생성된 메시지에 포함되지 않습니다. 각 시퀀스의 길이는 최대 64K일 수 있으며\ n 문자로 줄 바꿈을 포함할 수 있습니다.

    예:

    • 단어와 마침표가 포함된 단일 스톱 문자열: “원숭이”

    • 여러 개의 중지 문자열과 줄바꿈: ["cat”, “dog”,” . “, “####”, "\n“]

  • 응답 수 (n) — 생성할 채팅 응답 수입니다. 스트리밍 응답의 경우 노트 n은 1이어야 합니다. n을 1보다 크게 설정하면 모든 temperature=0 답변이 중복될 수 있으므로 설정이 항상 실패합니다. 기본값:1, 범위: 1 — 16

반복

AI21 Labs Jamba-Instruct 모델은 생성된 응답의 반복을 제어하기 위해 다음 매개변수를 지원합니다.

  • 주파수 패널티 (frequency_penalty) — 이 숫자를 늘려 단일 응답 메시지 내에서 반복되는 단어의 빈도를 줄입니다. 이 패널티는 응답 생성 중에 단어가 나타나는 횟수가 많을수록 점차 증가합니다. 2.0으로 설정하면 반복되는 단어가 거의 없는 문자열이 생성됩니다.

  • Presence Penalty (presence_penalty) — 이 숫자를 늘려 단일 메시지 내에서 반복되는 단어의 빈도를 줄이십시오. 빈도 패널티와 달리, 프레즌스 페널티는 단어가 몇 번 나오든 동일합니다.

모델 간접 호출 요청 본문 필드

AI21 Labs모델을 사용하여 InvokeModel또는 InvokeModelWithResponseStream호출을 할 때는 아래 항목을 준수하는 JSON 객체로 body 필드를 채우십시오. prompt 필드에 프롬프트를 입력합니다.

{ "messages": [ { "role":"system", // Non-printing contextual information for the model "content":"You are a helpful history teacher. You are kind and you respond with helpful content in a professional manner. Limit your answers to three sentences. Your listener is a high school student." }, { "role":"user", // The question we want answered. "content":"Who was the first emperor of rome?" } ], "n":1 // Limit response to one answer }

모델 호출 응답 본문 필드

응답의 body 필드 형식에 대한 자세한 내용은 https://docs.ai21.com/reference/ jamba-instruct-api #response -details를 참조하십시오.

코드 예제

이 예제는 AI21 Labs Jamba-Instruct 모델을 호출하는 방법을 보여줍니다.

invoke_model

import boto3 import json bedrock = session.client('bedrock-runtime', 'us-east-1') response = bedrock.invoke_model( modelId='ai21.jamba-instruct-v1:0', body=json.dumps({ 'messages': [ { 'role': 'user', 'content': 'which llm are you?' } ], }) ) print(json.dumps(json.loads(response['body']), indent=4))

컨버스

import boto3 import json bedrock = session.client('bedrock-runtime', 'us-east-1') response = bedrock.converse( modelId='ai21.jamba-instruct-v1:0', messages=[ { 'role': 'user', 'content': [ { 'text': 'which llm are you?' } ] } ] ) print(json.dumps(json.loads(response['body']), indent=4))