LLM API를 사용할 때 모델에게 페르소나를 부여하는 System Message와 모델의 생성 성향을 조절하는 **하이퍼파라미터(Hyperparameter)**를 설정할 수 있습니다.
1. 대화 역할 3가지 (Roles)
system: AI의 성격, 규칙, 한계, 행동 방식을 지정하는 개발자 지시문.user: 실제 사용자가 입력하는 질문 및 지시.assistant: AI 모델이 이전에 생성한 답변 내용.
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "너는 코딩 지식을 상냥하게 가르쳐주는 친절한 튜터야."},
{"role": "user", "content": "C 언어 포인터가 뭐야?"}
]
)
2. LLM 핵심 하이퍼파라미터 조절
1) Temperature (온도: 0.0 ~ 2.0)
- 낮은 값 (0.0 ~ 0.2): 예측 가능하고 일관되며 정밀한 답변 (수학 계산, 코딩, 번역, 사실 요약에 적합).
- 높은 값 (0.8 ~ 1.2): 창의적이고 다양한 단어 선택 (소설 작성, 아이디어 브레인스토밍에 적합).
2) Top_P (Nucleus Sampling: 0.0 ~ 1.0)
- 확률 누적 상위 P%의 단어 후보군 내에서만 단어를 선택합니다. (
temperature와top_p둘 중 하나만 조절하는 것을 권장).
3) Max Tokens
- AI 모델이 응답으로 생성할 수 있는 최대 토큰(글자 단위) 수를 제한합니다.
3. 자주 묻는 질문 (Q&A)
Q. 코딩 자동화나 JSON 출력에는 Temperature를 몇으로 설정해야 하나요?
A. 문법 오차 없이 일관된 정답 출력이 중요하므로 temperature=0.0 또는 0.1로 바짝 낮춰 설정하는 것이 정석입니다.