ML_DL/MUJAKJUNG (무작정 시리즈)

[LangChain] 모델 파라미터 설정

swwho 2025. 4. 9. 00:44
728x90
반응형

모델의 파라미터

  • temperature :  0과 1사이의 값, 낮을수록 예측 가능한 답, 높을수록 창의적인 답
  • max_tokens : 출력하는 token의 수를 지정
  • top_p : 누적 확률 분포에 따라서, 다음 토큰의 후보를 선택 (0.8이면 확률의 합이 80%이 되도록 후보 선택)
  • stop : 출력이 멈추는 특정 단어나 구절 설정

파라미터 지정 방법

모델 정의 시 설정

from langchain_openai import OpenAI

params = {
    "temperature": 0.8,
    "top_p": 1.0,
    "max_tokens": 300,
}

kwargs = {
    "stop": ["있다."]
}

llm = OpenAI(model="gpt-3.5-turbo-instruct", **params, model_kwargs=kwargs)

answer = llm.invoke("비행기에 대해 설명해줘.")
print(answer.strip())
비행기는 공중에서 비행할 수 있는 항공 운송 수단이다. 일반적으로 날개, 몸통, 엔진, 창문 등으로 구성되어 있으며, 여러 가지 크기와 모양으로 만들어진다. 비행기는 공항에서 이륙하여 공 중으로 올라가며, 고도가 일정 수준에 도달하면 비행을 시작한다. 비행기의 속도는 속력으로 측정되며, 속력에 따라 공기의 저항을 이겨내어 공중에서 움직인다. 비행기는 기체의 움직임을 조 절하여 방향과 고도를 조절할 수 있다. 비행기는 여러 목적에 따라 여러 종류가 있으며, 여러 가지 기술적 발전으로 인해 더욱 발전하고 발전하고 있다.

bind를 통한 추가 설정

  • 모델의 기본 설정을 유지하면서, 특정한 상황에서 파라미터를 조정할 수 있다.
from langchain_openai import OpenAI

params = {
    "temperature": 0.1,
    "top_p": 1.0,
}

kwargs = {
    "stop": ["있다."]
}

llm = OpenAI(model="gpt-3.5-turbo-instruct", **params, model_kwargs=kwargs)

answer = llm.bind(max_tokens=20).invoke("비행기에 대해 설명해줘.")
print(answer.strip())
비행기는 공중에서 날아다니는 수송