본문 바로가기
C.W.K.
Stream
Lesson 06 of 06 · published

생성 매개변수와 안전 설정

~14 min · temperature, thinking, safety, controls

Level 0불씨
0 XP0/35 lessons0/10 achievements
0/140 XP to next level140 XP to go0% complete

모든 답변을 바꾸는 조절값

나머지 조건이 같은 Gemini 호출 두 개가 서로 다르게 나오는 이유는 대부분 여섯 매개변수로 설명할 수 있어:

  • temperature(0.0–2.0) — 무작위성을 정해. 0은 거의 결정적이고, 1.0은 균형 잡힌 기본값이며, 1보다 크면 창의적이지만 이상해질 수 있어.
  • topP(0.0–1.0) — nucleus sampling 값이야. 누적 확률이 p가 될 때까지의 토큰으로 후보를 제한해.
  • topK(1–100+) — 확률이 높은 상위 K개 토큰만 고려해.
  • maxOutputTokens — 출력의 절대 상한이야. 도달하면 finishReason: MAX_TOKENS가 발생해.
  • responseMimeType — 기본값은 text/plain이고, JSON 모드에서는 application/json으로 바꿔.
  • seed — 실행 결과를 되풀이하기 위해 난수 시드를 고정해. 최선을 다해 맞추는 수준이라 Pro에서도 완전히 보장되지는 않아.

Thinking 설정 — 새로운 비용 조절 장치

Gemini 2.5에는 명시적인 thinkingConfig가 생겼어. 모델이 답하기 전에 추가 연산으로 사고할 수 있고, 그 사고 토큰도 출력 단가로 과금돼. 수준을 의도적으로 골라:

  • MINIMAL — 확장 사고를 하지 않아. 가장 싸고 빠르며 채팅과 단순 질의응답에 맞아.
  • LOW — 작은 예산을 써. 조금 까다로운 추론에 유용해.
  • MEDIUM — 어려운 문제의 기본 선택이야.
  • HIGH — 긴 추론과 복잡한 코드, 여러 단계의 수학 문제에 써. 정말 그만한 가치가 있을 때만 골라.

안전 설정

위해 범주는 네 개고, 각각 다섯 단계의 기준을 정할 수 있어. Gemini 2.5 이상의 기본값은 OFF야. 기본 상태에서는 모델이 차단하지 않으므로, 필터링은 애플리케이션이 직접 켜야 해.

범주다루는 영역
HARM_CATEGORY_HARASSMENT특정 정체성을 향한 공격
HARM_CATEGORY_HATE_SPEECH집단을 향한 욕설과 비방
HARM_CATEGORY_SEXUALLY_EXPLICIT성적 내용
HARM_CATEGORY_DANGEROUS_CONTENT해로운 행위에 관한 지침

기준값은 OFF, BLOCK_NONE, BLOCK_ONLY_HIGH, BLOCK_MEDIUM_AND_ABOVE, BLOCK_LOW_AND_ABOVE야. OFF는 분류기 자체를 끄고, BLOCK_NONE은 분류는 하되 차단하지 않는다는 차이가 있어.

Code

Python의 생성 매개변수·python
from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model='gemini-2.5-flash',
    contents='Write a 3-sentence product description for a $40 espresso scale.',
    config=types.GenerateContentConfig(
        system_instruction='You are a professional copywriter.',
        temperature=0.4,
        top_p=0.95,
        top_k=40,
        max_output_tokens=300,
        seed=42,
        # Thinking budget — 어려운 문제만 opt-in
        thinking_config=types.ThinkingConfig(thinking_level='LOW'),
    ),
)
print(response.text)
어린이용 앱의 안전 설정 강화·python
config = types.GenerateContentConfig(
    safety_settings=[
        types.SafetySetting(
            category=types.HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
            threshold=types.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
        ),
        types.SafetySetting(
            category=types.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
            threshold=types.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
        ),
        types.SafetySetting(
            category=types.HarmCategory.HARM_CATEGORY_HATE_SPEECH,
            threshold=types.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
        ),
    ],
)

External links

Exercise

같은 프롬프트를 세 번 실행해. 한 번은 temperature 0.0에 seed를 고정하고, 한 번은 0.7, 한 번은 1.5로 해. 출력을 비교한 다음, 적당히 어려운 논리 퍼즐(예: "세 사람이 $30짜리 저녁값을 각자 $10씩 냈는데, 웨이터가 원래 $25였다는 걸 깨닫고 $5를 돌려줬다...")에 thinking_config: MEDIUM을 켜 봐. 사고 설정을 켠 답과 끈 답을 비교하고, 눈에 띈 점을 2–3문장으로 써.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.