템플릿 기반으로 프롬프트를 동적으로 생성할 수 있다. PromptTemplate은 단일 문자열 템플릿을, ChatPromptTemplate은 시스템 메세지와 사용자 메세지를 포함한 대화형 템플릿을 생성한다. 변수(term, review)를 템플릿에 삽입하여 사용자 입력에 따라 맞춤형 프롬프트를 생성할 수 있다. 이후 format 매서드로 완성된 프롬프트를 만들고 LLM에게 전달한다.
FewShotPromptTemplate는 example을 쉽게 추가할 수 있도록 돕는 프롬프트이다. Example에 정의된 질문-답변 쌍을 템플릿에 삽입하고, prefix와 suffix로 추가 지침을 제공한다. 이를 통해 모델이 입력에 대해 유사한 패턴으로 응답하도록 유도할 수 있다.
LCEL를 활용해 프롬프트와 LLM을 파이프(|)로 연결하여 체인을 구성한다. 이를 통해 입력부터 출력까지 일관된 흐름을 생성할 수 있다. 마지막에 StrOutputParser와 JsonOutputParser를 연결하면 결과를 텍스트 또는 JSON 형식으로 변화시킬 수 있다.
RunnableParallel은 여러 체인을 병렬로 실행하며, RunnablePassthrough는 이전 단계의 출력을 그대로 다음 단계로 전달한다. 이를 통해 복잡한 데이터 흐름을 제어한다.