

# Amazon Nova 이해 모델 간접 호출
<a name="invoke"></a>

**참고**  
이 설명서는 Amazon Nova 버전 1용입니다. Amazon Nova 2에 요청을 보내는 방법에 대한 자세한 내용은 [코어 추론](https://docs.aws.amazon.com/nova/latest/nova2-userguide/core-inference.html)을 참조하세요.

Amazon Nova 멀티모달 이해 모델은 Invoke API([InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html), [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html))와 Converse API([Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) 및 [ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html))를 통해 추론에 사용할 수 있습니다. 대화형 애플리케이션을 생성하려면 [Carry out a conversation with the converse API operations](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html)를 참조하세요. 두 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 파운데이션 모델에 대한 액세스를 요청](https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started.html#getting-started-model-access)해야 합니다.

**Topics**
+ [Messages API 개요](#messages-api-overview)
+ [시스템 프롬프트 사용](#utilizing-system-prompt)
+ [Converse API 사용](using-converse-api.md)
+ [Invoke API 사용](using-invoke-api.md)
+ [전체 요청 스키마](complete-request-schema.md)

## Messages API 개요
<a name="messages-api-overview"></a>

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 모델용 프롬프트 생성에 대한 자세한 내용은 [텍스트 이해 프롬프팅 모범 사례](prompting-text-understanding.md) 섹션을 참조하세요.

## 시스템 프롬프트 사용
<a name="utilizing-system-prompt"></a>

요청에 시스템 프롬프트를 포함할 수 있습니다. 시스템 프롬프트를 사용하면 특정 목표 또는 역할 지정과 같은 컨텍스트와 지침을 Amazon Nova에 제공할 수 있습니다. 다음 예와 같이 `system` 필드에 시스템 프롬프트를 지정합니다.

```
[
   {"text": "You are an expert SaS analyst......"}
]
```

시스템 프롬프트를 포함하는 방법의 예제는 다음 섹션을 참조하세요.
+ [Converse API 사용](https://docs.aws.amazon.com/nova/latest/userguide/using-converse-api.html)
+ [Invoke API 사용](https://docs.aws.amazon.com/nova/latest/userguide/using-invoke-api.html)
+ [전체 요청 스키마](https://docs.aws.amazon.com/nova/latest/userguide/complete-request-schema.html)