Converse API로 대화 추론하기
Converse API로 대화 추론하기
여러 모델을 오가며 채팅 애플리케이션을 만들다 보면, 모델마다 요청 형식이 달라 코드를 계속 다시 쓰게 되는 일이 잦아요. Amazon Bedrock의 Converse API는 이런 수고를 덜기 위해 마련된 통일된 인터페이스예요. 이 페이지에서는 Converse API가 어디서 동작하는지, 기본 호출 방식과 함께 쓸 수 있는 확장 기능을 정리해 드릴게요.
출처: https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html
Converse API의 위치와 역할
Converse API는 bedrock-runtime 엔드포인트에서만 사용할 수 있어요. 메시지 기반(messages)을 지원하는 모든 Amazon Bedrock 모델에서 동일한 요청·응답 형식을 제공하므로, 코드를 한 번만 작성해도 여러 모델에 그대로 활용할 수 있어요. 모델마다 고유한 추론 파라미터가 있다면, Converse API가 그 파라미터를 모델별 구조(model-specific structure)로 따로 전달하는 것도 허용해요.
대화형 애플리케이션을 만들 때는 Converse나 스트리밍용 ConverseStream 연산으로 모델에 메시지를 보내요. 기존의 기본 추론 연산인 InvokeModel, InvokeModelWithResponseStream으로도 대화를 만들 수는 있지만, 여러 모델을 함께 쓴다면 Converse API 쪽이 형식이 일관돼 더 편해요.
함께 쓸 수 있는 기능
Converse API에서는 다음과 같은 기능을 애플리케이션에 적용할 수 있어요.
- 도구 사용(tool use) — 모델이 외부 함수를 호출하도록 정의할 수 있어요.
- 가드레일(guardrails) —
ConverseAPI 경로에서 가드레일을 적용해 응답을 안전하게 제어할 수 있어요.
두 가지 참고할 점이 있어요.
- Mistral AI와 Meta 모델에서는 Converse API가 입력을 모델별 프롬프트 템플릿에 감싸서 대화를 구성해요.
InvokeModel,InvokeModelWithResponseStream,Converse,ConverseStream네 연산에는 일부 제한(API restrictions)이 적용되니, 세부 사항이 필요할 때는 해당 제약 문서를 확인해 보세요.