Amazon Nova 이해 모델 간접 호출
Amazon Nova 멀티모달 이해 모델은 Invoke API(InvokeModel, InvokeModelWithResponseStream)와 Converse API(Converse 및 ConverseStream)를 통해 추론에 사용할 수 있습니다. 대화형 애플리케이션을 생성하려면 Carry out a conversation with the converse API operations를 참조하세요. 두 API 메서드(Invoke 및 Converse) 모두 아래에 자세히 설명된 대로 매우 유사한 요청 패턴을 따릅니다.
다음은 Invoke API와 Converse API의 주요 차이점입니다.
-
topK와 같은 추론 파라미터는
additionalModelRequestFields
에서 지원되지 않으며 추가ModelRequestFields에 전달해야 하는 반면, Invoke API에서는 추론 파라미터에 직접 전달할 수 있습니다. -
문서 지원은 Converse API로만 제한되며 Invoke API에서는 지원되지 않습니다.
-
응답 구문 분석 형식은 Invoke API와 Converse API 구문 간에 다릅니다.
-
응답 스트리밍은
ConverseStream
과InvokeModelWithStreaming
간에 다릅니다.
Amazon Nova 모델을 호출하려면 모델을 사용할 모든 리전에서 Amazon Bedrock 파운데이션 모델에 대한 액세스를 요청해야 합니다.
Messages API 개요
Amazon Nova 이해 모델은 텍스트, 이미지, 비디오, 문서가 포함된 구조화된 입력 메시지 목록을 제출할 수 있는 Messages API를 활용합니다. 그러면 모델이 대화에서 다음 메시지를 생성합니다. Messages API는 단일 쿼리와 상태 비저장 멀티턴 대화를 모두 지원하므로 챗봇과 가상 어시스턴트 애플리케이션을 생성할 수 있습니다. API는 사용자와 Amazon Nova 모델(어시스턴트) 간의 대화형 교환을 관리합니다.
Amazon Nova 모델은 사용자와 어시스턴트가 번갈아 가며 대화하도록 훈련되어 있습니다. 새 메시지를 만들 때 메시지 파라미터로 이전 대화 턴을 지정합니다. 그러면 모델이 대화에서 다음 메시지를 생성합니다.
각 입력 메시지는 역할 및 콘텐츠를 포함하는 객체여야 합니다. 사용자는 사용자 역할로 단일 메시지를 지정하거나, 사용자 역할과 어시스턴트 역할로 여러 메시지를 포함할 수 있습니다. 그러나 첫 번째 메시지는 항상 사용자 역할을 사용해야 합니다. 어시스턴트 역할로 최종 메시지를 포함하여 Amazon Nova의 응답을 미리 채우는 기술을 사용하면 모델은 제공된 콘텐츠의 응답을 계속합니다. 이 접근 방식은 여전히 어시스턴트 역할로 응답을 받게 됩니다.
다음은 단일 사용자 메시지를 나타냅니다.
[{ "role": "user", "content": [{"text":"Hello, Nova"}] }]
다음은 여러 대화 턴이 있는 예제입니다.
[ {"role": "user", "content": [{"text": "Hello there."}]}, {"role": "assistant", "content": [{"text": "Hi, I'm Chatbot trained to answer your questions. How can I help you?"}]}, {"role": "user", "content": [{"text": "Can you explain LLMs in plain English?"}]} ]
다음은 Amazon Nova의 부분적으로 채워진 응답이 있는 예제입니다.
[ {"role": "user", "content": [{"text":"Please describe yourself using only JSON"}]}, {"role": "assistant", "content": [{"text":"Here is my JSON description:\n{"}]} ]
Amazon Nova 모델용 프롬프트 생성에 대한 자세한 내용은 텍스트 이해 프롬프팅 모범 사례 섹션을 참조하세요.
시스템 프롬프트 사용
요청에 시스템 프롬프트를 포함할 수 있습니다. 시스템 프롬프트를 사용하면 특정 목표 또는 역할 지정과 같은 컨텍스트와 지침을 Amazon Nova에 제공할 수 있습니다. 다음 예와 같이 system
필드에 시스템 프롬프트를 지정합니다.
[ {"text": "You are an expert SaS analyst......"} ]
시스템 프롬프트를 포함하는 방법의 예제는 다음 섹션을 참조하세요.