Code&Data Insights
[LangChain] 챗 프롬프트 템플릿 (ChatPromptTemplate) | LLM 모델 파라미터 설정 | 추가 바인딩(bind) 본문
[LangChain] 챗 프롬프트 템플릿 (ChatPromptTemplate) | LLM 모델 파라미터 설정 | 추가 바인딩(bind)
paka_corn 2024. 5. 20. 17:13
Chat Prompt Template 이란?
: 대화형 상황에서 여러 메세지 입력을 기반으로 단일 메세지 응답을 생성하는 데 사용됨
=> 대화형 모델이나 챗봇 개발에 주로 사용
Message 유형
- SystemMessage : 시스템의 기능
- HumanMessage: 사용자의 질문
- AIMessage : AI 모델의 응답
- FunctionMessage : 특정 함수 호출의 결과
- ToolMessage : 도구 호출의 결과
튜플 형태의 메세지 리스트
: ChatPromptTemplate 인스턴스를 생성하는 방식 -> 대화형 프롬프트를 생성
=> 2-tuple 형태의 메세지 리스트를 입력받아 메세지의 역할(type)과 내용(content)를 기반으로 프롬프트를 구성
LangChain - LLM 모델 파라미터 설정
- Temperature : 생성된 텍스트의 다양성 조정, 값이 클수록 다양하고 예측하기 어려운 출력 생성
- Max Tokens : 생성할 최대 토큰 수 지정, 생성할 텍스트의 길이 제한
- Top P(Top Probability) : 생성 과정에서 특정 확률 분포 내에서 상위 P% 토큰만을 고려, 출력의 다양성을 조정
- Frequency Penalty (0 to 1) : 값이 클 수록 반복적인 단어나 구절의 등장 확률을 낮춤
- Presence Penalty (0 to 1) : 값이 클 수록 아직 등장하지 않은 새로운 단어의 사용 확률을 높임
- Stop Sequences : 특정 단어나 구절이 등장할 경우 생성을 멈추도록 설정, 출력을 특정 포인트에서 종료하고자 할 때 사용
=> 모델 생성 시 기본 파라미터
params = { }
=> 모델 생성 시 선택 파라미터
kwargs = { }
파라미터 추가 바인딩(bind method)
: 특수한 상황에서 일부 파라미터를 다르게 적용하고 싶을 때
=> 기본적으로 일관된 파라미터 설정을 유지하면서 상황에 맞춰 유연한 대응이 가능!
reference