ChatPromptTemplate란
대화형 AI 모델과의 상호작용을 위한 구조화된 프롬프트 템플릿을 생성하는 도구이다.
주로 대화 이력을 포함한 목잡한 프롬프트를 쉽게 구성할 때 사용된다.
사용 시기와 필요성

- 대화 맥락이 필요한 상황
CS팀의 채팅 상담을 예로 들면 A 고객의 상담내용을 저장해서 다음에 A 고객이 또 상담을 요청할 때 이전에 나눴던 상담 내용을 불러와서 서비스 질을 높이기 위해 사용

- 다중 턴 대화를 시뮬레이션할 때
키오스크와 같은 순차적 시스템이 필요할 때 사용

- 시스템 설정, 사용자 입력, AI 응답을 구조적으로 관리할 때
상담원과의 연결 이전에 AI 응답으로 해결할 수 있는 문제일 경우에 미리 구조화 해놓으면 효율적으로 시스템 운영이 가능

- 템플릿에 변수를 동적으로 주입해야 할 때
같은 ATM 템플릿을 사용하지만, 은행과 고객에 따라 다른 정보를 넣을 수 있다.
기본 구조 및 문법
-
기본 생성 방식

-
메시지 역할(Role) 종류

-
변수 주입 문법

필수 문법과 주의사항
- 변수 선언

- 반드시 중괄호 {} 사용
- 변수명은 영문, 숫자, 언더스코만 사용
- 메시지 구성

- 튜플 형태로 (role, message) 구성
- role은 "system", "human", "ai" 중 하나여야 한다.
- 체인 연결

활용 예시

위의 예시 코드처럼 직접 구성해야하는 것이 아니라
프론트엔드 UI를 통해 자동화 된다.



여기서 format_messages()는 사용자 인터페이스를 통해 입력되는 변수들을 템플릿에 주입하는 역할을 한다.
