Code&Data Insights

[LangChain] 챗 프롬프트 템플릿 (ChatPromptTemplate) | LLM 모델 파라미터 설정 | 추가 바인딩(bind) 본문

Artificial Intelligence/Prompt Engineering

[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 

https://wikidocs.net/231328

https://wikidocs.net/231351

 

Comments