모델 파라미터

모델 파라미터 (Model Parameters)

고르는 모델·제공자에 따라 수많은 파라미터를 조정할 수 있어요. 이 파라미터는 크게 두 갈래로 나뉘어요. 하나는 모델의 출력을 결정하는 것(생성 콘텐츠의 창의성·결정적 정도, 생성되는 콘텐츠 양 등)이고, 다른 하나는 연결(base URL, 인증 키, 타임아웃, 재시도, 로깅 등)을 결정하는 거예요.

출처: 공식문서 - Model Parameters

보통 모든 파라미터와 그 의미는 모델 제공자 웹사이트에서 찾을 수 있어요. 예를 들어 OpenAI API 파라미터는 https://platform.openai.com/docs/api-reference/chat 에서 볼 수 있고(가장 최신 버전), 그중 일부는 다음과 같아요.

Parameter Description Type
modelName 사용할 모델의 이름 (예: gpt-4o, gpt-4o-mini 등) String
temperature 사용할 샘플링 온도, 0~2 사이. 0.8처럼 높은 값은 출력을 더 무작위로 만들고, 0.2처럼 낮은 값은 더 집중되고 결정적으로 만들어요. Double
maxTokens 채팅 완성에서 생성할 수 있는 최대 토큰 수. Integer
frequencyPenalty -2.0~2.0 사이의 숫자. 양수 값은 지금까지의 텍스트에서의 기존 빈도에 따라 새 토큰을 페널티해, 모델이 같은 줄을 그대로 반복할 가능성을 낮춰요. Double
... ... ...

OpenAI LLM의 전체 파라미터 목록은 OpenAI Language Model 페이지를, 모델별 파라미터·기본값 전체 목록은 각 모델 페이지(Integration 아래 Language Model, Image Model)에서 볼 수 있어요.

*Model은 두 가지 방식으로 만들 수 있어요.

  • 정적 팩토리(static factory): API 키 같은 필수 파라미터만 받고, 그 외 필수 파라미터는 합리적인 기본값으로 채워줘요.
  • 빌더 패턴(builder pattern): 각 파라미터 값을 직접 지정할 수 있어요.

모델 빌더

빌더 패턴으로 모델의 사용 가능한 모든 파라미터를 이렇게 설정할 수 있어요.

OpenAiChatModel model = OpenAiChatModel.builder()
        .apiKey(System.getenv("OPENAI_API_KEY"))
        .modelName("gpt-4o-mini")
        .temperature(0.3)
        .timeout(ofSeconds(60))
        .logRequests(true)
        .logResponses(true)
        .build();

Quarkus에서 파라미터 설정

Quarkus 애플리케이션에서는 application.properties 파일에서 LangChain4j 파라미터를 이렇게 설정해요.

quarkus.langchain4j.openai.api-key=${OPENAI_API_KEY}
quarkus.langchain4j.openai.chat-model.temperature=0.5
quarkus.langchain4j.openai.timeout=60s

흥미롭게도 디버깅·조정 또는 사용 가능한 파라미터를 전부 알아보려면 Quarkus DEV UI를 살펴보면 돼요. 이 대시보드에서 변경한 내용은 실행 중인 인스턴스에 즉시 반영되고, 코드에도 자동으로 반영돼요. DEV UI는 quarkus dev 명령으로 Quarkus 앱을 실행하면 접근할 수 있고, localhost:8080/q/dev-ui(또는 배포한 곳)에서 찾을 수 있어요.

Quarkus 통합에 대한 더 자세한 내용은 여기에서 볼 수 있어요.

Spring Boot에서 파라미터 설정

Spring Boot starter 중 하나를 쓰고 있다면 application.properties 파일에서 모델 파라미터를 이렇게 설정할 수 있어요.

langchain4j.open-ai.chat-model.api-key=${OPENAI_API_KEY}
langchain4j.open-ai.chat-model.model-name=gpt-5.4-mini
...

지원되는 전체 속성 목록은 여기에서 볼 수 있어요.

Spring Boot 통합에 대한 더 자세한 내용은 여기에서 볼 수 있어요.

더 알아보기