C.W.K.
Stream
Lesson 06 of 06 · published

Generation 파라미터와 Safety

~14 min · temperature, thinking, safety, controls

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

모든 답변을 바꾸는 knob 들

여섯 개 파라미터가 두 개의 그 외 동일한 Gemini 호출 사이의 차이를 대부분 결정해:

  • temperature (0.0–2.0) — 무작위성. 0 은 거의 결정적; 1.0 은 균형 default; > 1 은 창의적-이지만-이상함.
  • topP (0.0–1.0) — nucleus sampling. 확률 mass 의 p 만큼 차지하는 토큰들로 제한.
  • topK (1–100+) — 상위 K 개 후보 토큰만 고려.
  • maxOutputTokens — 하드 cap. 도달하면 finishReason: MAX_TOKENS trigger.
  • responseMimeType — default 는 text/plain; JSON 모드 위해 application/json 으로 전환.
  • seed — reproducible 한 run 을 위해 random seed 고정 (best-effort, Pro 에서는 보장 X).

Thinking config — 새 lever

Gemini 2.5 가 명시적 thinkingConfig 를 도입했어. 모델이 답변하기 전에 추가 컴퓨팅 으로 thinking 할 수 있고, 그 thinking 토큰은 출력 단가로 결제. 의도적으로 level 골라:

  • MINIMAL — 확장 thinking 없음. 가장 싸고 빠르고 chat 과 단순 Q&A 에 OK.
  • LOW — 작은 budget. 적당히 까다로운 reasoning 에 유용.
  • MEDIUM — 어려운 문제용 default.
  • HIGH — 긴 형식의 reasoning, 복잡한 코드, multi-step 수학. 정말 그럴 작정으로만.

Safety 세팅

네 개 harm category, 각 다섯 단계 threshold. Gemini 2.5+ 의 default 는 OFF — 모델은 default 로 차단하지 않음; 필터링은 너가 opt-in.

Category커버 영역
HARM_CATEGORY_HARASSMENT특정 identity 공격
HARM_CATEGORY_HATE_SPEECH그룹 대상 욕설, 비방
HARM_CATEGORY_SEXUALLY_EXPLICIT성적 내용
HARM_CATEGORY_DANGEROUS_CONTENT해로운 행위 지침

Threshold: OFF, BLOCK_NONE, BLOCK_ONLY_HIGH, BLOCK_MEDIUM_AND_ABOVE, BLOCK_LOW_AND_ABOVE. OFFBLOCK_NONE 의 차이: OFF 는 classifier 자체를 끔; BLOCK_NONE 은 분류는 하지만 차단은 안 함.

Code

Python 의 generation 파라미터·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)
kid-facing 앱에 safety 강화·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

같은 prompt 세 번 실행: 한 번은 temperature 0.0 (seed 고정), 한 번은 0.7, 한 번은 1.5. 출력 비교. 그 다음 적당히 어려운 logic puzzle (예: "세 사람이 $30 저녁을 나눠 — 각자 $10 결제. 웨이터가 $25 이어야 한다는 걸 깨닫고 $5 돌려줌...") 에 thinking_config: MEDIUM 켜봐. thinking-on vs thinking-off 답변 비교. 무엇이 보였는지 2–3 문장으로 써.

Progress

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

댓글 0

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

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