생성형 AI 서비스 개발의 이해-1

Jeonghyeon Park·2025년 3월 10일

SKALA

목록 보기
1/13

PromptTemplate 및 ChatPromptTemplate

템플릿 기반으로 프롬프트를 동적으로 생성할 수 있다. PromptTemplate은 단일 문자열 템플릿을, ChatPromptTemplate은 시스템 메세지와 사용자 메세지를 포함한 대화형 템플릿을 생성한다. 변수(term, review)를 템플릿에 삽입하여 사용자 입력에 따라 맞춤형 프롬프트를 생성할 수 있다. 이후 format 매서드로 완성된 프롬프트를 만들고 LLM에게 전달한다.

FewShotPromptTemplate

FewShotPromptTemplate는 example을 쉽게 추가할 수 있도록 돕는 프롬프트이다. Example에 정의된 질문-답변 쌍을 템플릿에 삽입하고, prefix와 suffix로 추가 지침을 제공한다. 이를 통해 모델이 입력에 대해 유사한 패턴으로 응답하도록 유도할 수 있다.

'|' 연산자를 사용한 LCEL 체인 구성

LCEL를 활용해 프롬프트와 LLM을 파이프(|)로 연결하여 체인을 구성한다. 이를 통해 입력부터 출력까지 일관된 흐름을 생성할 수 있다. 마지막에 StrOutputParser와 JsonOutputParser를 연결하면 결과를 텍스트 또는 JSON 형식으로 변화시킬 수 있다.

RunnableParallel과 RunnablePassthrough를 사용한 데이터 흐름 제어

RunnableParallel은 여러 체인을 병렬로 실행하며, RunnablePassthrough는 이전 단계의 출력을 그대로 다음 단계로 전달한다. 이를 통해 복잡한 데이터 흐름을 제어한다.

So What I Learned

  • PromptTemplate은 프롬프트 설계를 체계적으로 테스트하고 최적화할 수 있게 한다. 생성형 AI는 프롬프트에 따라 성능이 크게 달라지므로, 이 코드는 다양한 프롬프트 전략을 실험하는 데 유용하다.

  • FewShotPromptTemplate은 예시를 통해 모델의 지식 추론 능력을 강화한다. 이는 FAQ 시스템, 고객 지원 챗봇 등에서 특정 도메인 지식을 기반으로 한 응답을 생성하는 데 적합하다. FewShot은 데이터가 부족한 상황에서도 모델을 효과적으로 활용할 수 있기 때문에, 저비용으로 AI를 도입하려는 중소기업이나 교육 기관에 유용할 것 같다는 생각이 들었다.

profile
안녕하세요

0개의 댓글